RazorBooking

Plugin Banner

RazorBooking

by Razorbooking

Download
Description

RazorBooking for WordPress puts your RazorBooking account on your website.
Your services, team, availability, prices, and payments are managed in
RazorBooking. This plugin shows them on your site and lets visitors book.

It isn’t a second admin. There’s no calendar, customer list, or payment
history here. Those stay in RazorBooking, so there’s only one place to
check and nothing gets out of date.

The plugin is free. RazorBooking itself is a paid service: it starts with a
14-day free trial, no card needed, and has no free plan.

What you get

  • Blocks: Booking form, My bookings, Reviews, Gallery, FAQ, and Booking
    confirmation. The Booking
    form can show all your services, one service (with a version, and a quantity
    for services booked by quantity), or one category, with or without a specific
    team member. It can appear on the page, as a button that opens a popup, as a
    button that links to your booking site, or as a floating button, each with
    its own options. Reviews, Gallery, and FAQ can use your booking site’s title,
    your own title, or no title. You choose how many to show, and they can open
    from a popup button.
  • The same set as Elementor widgets, in a “RazorBooking” section of the panel.
  • Business info for search engines (structured data), served from your
    domain: your business, address, hours, services and prices, FAQs, and team,
    each on the page it’s about. A pasted booking snippet can’t do this for you,
    because search engines credit that data to razorbooking.com, not your site.
  • Shortcodes for classic themes and page builders: [razorbooking],
    [razorbooking_my_bookings], [razorbooking_reviews],
    [razorbooking_gallery], [razorbooking_faq], and
    [razorbooking_confirmation]. Click Embed on any item to
    build its shortcode as you choose options. Every option is listed under
    RazorBooking Support Shortcodes.
  • Reviews, gallery, and FAQs look exactly like they do on your booking site,
    on your page’s own background.
  • A floating “Book now” button with display rules, including hiding it on
    pages that already have a booking form.
  • A thank-you page of your own, set up on Add to site. After booking,
    customers go to it, whether they booked on your site or on your booking
    site. Add the Booking confirmation block, widget, or shortcode to show their
    booking reference. You can change its title (or hide it), the label before
    the reference, and the “View your booking” button’s text (or hide the
    button).
  • An Add to site screen with everything you can put on your pages: copy its
    shortcode or embed code, preview it, and set up the thank-you page and the
    floating button.
  • Your business’s own look. The Design screen sets your booking site’s colors,
    font, and corner style, with a live preview. Buttons, popups, and
    booking forms on your WordPress pages use the same colors and corners.
  • Site Health checks for the connection and for staging copies.
  • A Support screen that works even when RazorBooking can’t be reached: checks,
    common answers, and diagnostics you can paste into a message to us.

What happens when something goes wrong

Read this before you install.

If the connection breaks, visitors see nothing where booking would have
been, and only logged-in administrators see an explanation. The plugin never
shows a demo or sample booking form instead.

The worst thing that can happen to a business is a page that looks fine but
takes no bookings. Nobody notices until the money stops. A booking form that’s
visibly missing gets fixed the same day.

Your pages read the saved copy of your business information, so they don’t
wait on RazorBooking, and they keep working if RazorBooking can’t be reached
for a while.

External services

This plugin is the WordPress side of RazorBooking, a hosted booking service,
and doesn’t work without it. Nothing is sent to RazorBooking until you connect
your account. After that, it contacts RazorBooking in the ways below.

RazorBooking API (from your server). Used to connect your site and to show
and edit your RazorBooking business from these admin screens. Sent: your
site’s address and name when you connect, your site key and a random ID for
this installation (created when the plugin is activated) with every request,
and whatever you create or change on these screens (services, categories, team
members, the Design, your thank-you page’s address). Received: your business
information (services, team, reviews, gallery, FAQs, settings) and, on the
Home screen, today’s numbers and upcoming bookings. Requests go to
app.razorbooking.com only from your WordPress admin: to fetch the saved copy
of your business information the first time after you connect, when you click
Sync, and after you save a change on these screens; and to show Home’s
bookings and numbers and the reviews waiting for approval, which are never
saved. RazorBooking never contacts your site, and visitors’ page views never
make a request to it. If you delete the plugin, it sends one request asking RazorBooking to revoke the site key it
created when you connected.

Your booking site (from your visitors’ browsers). The booking form, popup,
reviews, gallery, and FAQ are pages of your RazorBooking booking site (for
example yourbusiness.razorbooking.com, or your own domain) shown inside your
pages, and the JavaScript file that displays them (widget.js) is loaded from
there too. By default, a visitor’s browser loads them when it opens a page that
shows one, and is told to connect to your booking site early (a “preconnect”
hint). In Settings Privacy you can make booking wait instead: until the
visitor accepts cookies in your cookie banner, or until they click a booking
button. The browser sends
what it sends with any web request (IP address, browser type, and language).
What a visitor types into the booking form goes to RazorBooking. Fonts come
from your booking site itself, not from a font service. If your gallery has
YouTube videos, their preview images come from YouTube (i.ytimg.com), and a
video plays from youtube-nocookie.com when the visitor starts it. If you take
payments online, your payment provider’s page or window opens at the payment
step.

Your booking site may show a small “Powered by RazorBooking” line inside the
booking form. It comes from RazorBooking, not from this plugin, and you can
turn it off in RazorBooking.

Your booking site (in these admin screens). The Design and Add to site
screens show a preview of your booking site, loaded from it.

Images. Service, team, and gallery images you uploaded to RazorBooking are
shown from RazorBooking’s file storage.

YouTube is provided by Google:
terms of service,
privacy policy.

RazorBooking is provided by RazorBooking:
terms of service,
privacy policy.

  1. Upload the plugin and activate it.
  2. Click Start setup on the banner on the Plugins screen, or open
    RazorBooking in the WordPress menu.
  3. Create a RazorBooking account or sign in, choose which business this site
    is for, and confirm.
  4. Add a RazorBooking block to any page.

Your browser brings your site key back from RazorBooking to your WordPress
admin in a form, never in an address bar, and WordPress saves it once you are
signed in as the administrator who started connecting.

Do I need a RazorBooking account?

Yes. This plugin shows an existing account on your site. It doesn’t store
bookings itself.

Is RazorBooking free?

The plugin is free, and nothing in it is locked or limited. RazorBooking, the
service it connects to, is paid: every new account starts with a 14-day free
trial, no card needed, and there is no free plan.

What happens if my trial or subscription ends?

You get 7 more days as usual. After that, your RazorBooking account becomes
read-only until you subscribe: your site keeps showing your services, team,
reviews, and other content, but changes you make from WordPress (adding or
editing services, team members, and so on) are paused. Subscribe in
RazorBooking and everything works again, with nothing to reconnect.

I changed something in RazorBooking. Why doesn’t my site show it?

Your booking form, gallery, reviews, and FAQ sections load from your booking
site, so they’re always current. Everything else the plugin shows comes from
a copy saved on your site: its own screens, the services, categories, and
team the page editors let you choose from, the colours of its buttons, your
booking site’s address, and the details for search engines. RazorBooking
doesn’t contact your site, so after changing something in RazorBooking, open
RazorBooking in your WordPress menu and click Sync. Changes you make in the
plugin itself are picked up automatically.

If you change your booking site’s address in RazorBooking, click Sync right
away: until you do, your pages load booking from the old address.

Can I use it on a local or staging site?

Yes. Connecting works the same way: your own browser brings the site key
back, so RazorBooking doesn’t need to reach the site.

If WordPress is installed in its own folder (its WordPress Address differs
from its Site Address), connect with the “Paste a key instead” option.

What happens if I copy my site to staging?

The plugin notices that the site address no longer matches the one it was
activated on. It warns you in the admin and in Site Health and asks you to
disconnect, so bookings made on staging don’t go into your live account.

What data leaves my site, and what does it keep?

Sent to RazorBooking by your server: your site’s address and name when you
connect, and what you create or change on these screens: services, categories,
team members, the Design (colors, font, corners), and your
thank-you page’s address. Every request includes your site key. The plugin
sends nothing about your visitors.

Loaded by your visitors’ browsers: the booking form, popup, reviews,
gallery, and FAQ are pages of your RazorBooking booking site shown inside your
pages, and the script that displays them comes from there too. A visitor who
sees one connects to your booking site the same way they would by visiting it.
What they type into the booking form goes to RazorBooking, not WordPress. The
gallery, reviews, and FAQ set no cookies. The booking form sets cookies it
needs to work. See External services for details.

Kept on your site: a copy of your business information (services,
categories, team members and pending team invitations, resources, FAQs,
gallery, business details and hours, design, and which integrations are
connected), saved in your WordPress database so the plugin’s screens and your
pages don’t wait on RazorBooking. It’s fetched the first time after you
connect, when you click Sync, and after you save a change in the plugin. All copies are
deleted when you disconnect or deactivate the plugin. No customer or visitor
data is stored.
Bookings, customer details, and reviews waiting for approval
are read from RazorBooking when a screen shows them and aren’t saved. Handle
requests to see or erase a customer’s booking data in RazorBooking. WordPress’s
export and erase tools have nothing of theirs to find here.

What should my privacy policy say?

Open Settings Privacy Policy Guide in WordPress. RazorBooking adds
suggested text there that matches how your site is set up: what loads from
your booking site and when, what the booking form sends, and what this plugin
stores.

How do I add a “Book now” link to my menu?

Add the page that has your booking form to your menu the usual WordPress
way: Appearance Menus, or the Navigation block in the Site Editor for
block themes. To link to your booking site instead, add a custom link to
its address (shown in the account menu at the top right of the RazorBooking
screens).

Where do customers go after they book?

To the booking confirmation, unless you choose a thank-you page in
RazorBooking Add to site Thank-you page. Then customers go to that page
after booking, whether they booked on your site, on your booking site, or
after paying by card. Nothing is added to your page by itself. To show the
customer’s booking reference (and a link to their booking when they booked on
your site), add the Booking confirmation block, or the
[razorbooking_confirmation] shortcode, where you want it. A thank-you page
created there starts with the block, and for a page you chose, “Add it to”
adds the block and opens the page in the editor. The Thank-you page row shows
whether your page shows the reference yet. The reference is also in the
page’s address (rb_booking), for your own tracking.

The block’s settings (and the Elementor widget’s) let you change or hide the
title (“Your booking is confirmed.”), change the label before the reference
(“Booking reference:”), and change or hide the “View your booking” button. In
the shortcode, these are title (title="" for no title),
reference_label, link="no" to hide the button, and link_label, for
example [razorbooking_confirmation title="Thanks!" link="no"].

To style it with your own CSS, use these classes: .rb-confirmation (the
box), .rb-confirmation__title, .rb-confirmation__ref (the reference line),
.rb-confirmation__code (the reference), .rb-confirmation__actions (the
button’s line), and .rb-confirmation__button.

The thank-you page is one setting in RazorBooking, so choosing it here changes
it there too. If it was set in RazorBooking to another address, Add to site
Thank-you page shows it and lets you replace it or go back to the booking
confirmation. The page must be published. If you change its address (its
slug), RazorBooking gets the new one.

Can booking wait until visitors want to book?

Yes. Go to RazorBooking Settings Privacy “When booking loads”. “Right
away” is the default, and nothing changes until you choose another option.

  • After visitors accept cookies. Your cookie consent plugin decides, the
    same way it does for any other outside service. Until a visitor accepts,
    booking buttons take them to your booking site. Once they accept, buttons
    open popups and anything set to “On the page” loads on the page.
  • When visitors click a booking button. Nothing loads until a visitor
    clicks. The first click loads the booking form, gallery, reviews, or FAQ in
    a popup.

While booking waits, nothing from RazorBooking shows on the page. A booking
form, gallery, reviews, or FAQ set to “On the page” shows as a button instead,
the same as “Button that opens a popup”. Its settings aren’t changed: switch
back to “Right away” and it shows on the page again. “On the page” isn’t
offered for new blocks while booking waits.

Does it work with my cookie banner?

Yes. With “After visitors accept cookies”, your cookie consent plugin blocks
RazorBooking until a visitor accepts, like any other outside service. Many
cookie plugins find RazorBooking when they scan your site. If yours doesn’t,
add RazorBooking as a service (any category) with the details shown on the
Privacy screen:

  • Website to block: your booking site’s address
  • Script to block: your booking site’s /embed/widget.js
  • Cookies it sets: customer_session (keeps a booking in progress and is
    needed for booking to work) and XSRF-TOKEN (keeps the booking form
    secure), both lasting 2 hours

No cookie consent plugin on your site? Then nothing is blocked and booking
loads right away.

Can I put it in a sidebar or footer widget?

Yes. All five blocks (Booking form, Reviews, Gallery, FAQ, and My bookings)
are available in Appearance Widgets, with the same options as on a page. If
your site uses the Classic Widgets plugin, add a Text or Shortcode widget with
the shortcode instead. Click Embed on any item, then “Shortcode, block, or
Elementor”, to build it.

Does it work with caching and speed plugins?

Yes. If your speed plugin (or your host, or Cloudflare Rocket Loader) delays,
defers, or combines JavaScript, exclude these from those settings:

  • /embed/widget.js
  • razorbooking-public
  • razorbookingEmbed

Without the exclusions, the booking form can wait until the visitor scrolls or
taps, and a combined copy of the booking script can go out of date. Booking
buttons work either way: they’re links to your booking site.

The booking form, gallery, reviews, and FAQ sections load from your booking
site, so they’re always current. A few things are part of the page itself:
your colours, your booking site’s address, and the information for search
engines (business details, hours, services, team, and FAQs). When your
RazorBooking information or these settings change and your site caches its
pages, the plugin shows a notice in your WordPress admin telling you to
clear your caching plugin’s (or your host’s) cache. Close it once you have.
The plugin never clears another plugin’s cache itself.

Is it accessible?

The buttons, cards, and popup follow WCAG 2.1 AA. You can reach and use them
with the keyboard, focus stays inside an open popup and returns to the button
that opened it, Escape closes the popup (from inside the booking form too),
and every control has a name for screen readers. The booking form, gallery,
reviews, and FAQ are pages of your booking site and are built to the same
standard. Accessibility toolbars (One Click Accessibility, WP Accessibility,
and similar) work on your pages, but they can’t restyle booking content that
comes from another site. The booking form’s own contrast and sizes apply
there.

Does deleting the plugin delete anything?

The site key, always. Deleting the plugin removes the key from WordPress, and
revokes it in RazorBooking if this site created it when you connected. A key
you pasted in is only removed, never revoked, since it may be used elsewhere.
Everything else the plugin stored (settings, its list of where RazorBooking is
used, and saved copies) is deleted only if you turn on RazorBooking Settings
Data on uninstall. Otherwise it’s kept in case you reinstall. On a multisite
network, this applies to each site. Your bookings, customers, and services are
in RazorBooking and are never touched.

How do I disconnect this site?

Open any RazorBooking screen and use the account menu at the top right, where
you can also see which business this site is connected to.

Disconnecting doesn’t affect your booking data, and your blocks stay on your
pages. Visitors won’t see them until you connect the site again.

I already use Yoast or Rank Math. Will the SEO feature conflict?

The plugin detects them and keeps its business info for search engines turned
off by default, because two sets of business info on one page cause errors
in Google. If you turn ours on, turn off the business schema in the other
plugin first.

Why are there no star ratings in the business info for search engines?

Google doesn’t show review stars for a business’s reviews of itself on its own
site (its “self-serving reviews” rule, since 2019), so they would never appear.
The plugin leaves them out rather than add something that does nothing.

Are the gallery, reviews, and FAQ good for SEO?

They come from your booking site, like the booking form, so they always match
it. Those pages tell search engines to count their text as part of the page
they’re shown on, not as a page of their own (noindex, indexifembedded),
which Google supports. So the text counts for your page, not for a separate
page on your booking site. Other search engines may not read that text at all.
Your services, prices, hours, and business details are also added to your own
domain as business info for search engines, which doesn’t depend on this.
Google shows expandable FAQ results only for well-known government and health
sites, so FAQ info won’t change how you appear there.

Can I edit the plugin’s admin screens?

Yes. The source code comes with the plugin, as TypeScript in src/. To
rebuild admin/js/ from it, install Node 22, then run npm ci and
npm run build in the plugin’s folder.

1.2.1

  • Removed: the Custom CSS field on the Design screen. Custom CSS is still
    available in RazorBooking under Settings Appearance.

1.2.0

  • New: every block is also an Elementor widget, in a “RazorBooking” section of
    the Elementor panel.
  • New: Gallery and FAQ blocks, and shortcodes for reviews, the gallery, FAQ,
    My bookings, and the booking confirmation.
  • One Booking form for everything. It shows all services, one service (with a
    version and quantity), or one category, with an optional team member, and
    appears on the page, as a popup button, as a link button, or as a floating
    button. It replaces the Book button, Service list, Team list, and
    Availability search blocks and their shortcodes, which are removed.
  • New Design screen: your booking site’s colors, font, and corner style,
    with a live preview. Buttons, popups, and booking forms on your
    pages use the same colors and corners.
  • Reviews, Gallery, and FAQ now look exactly like they do on your booking
    site. They can use your booking site’s title, your own, or none, and can
    open from a popup button.
  • Floating button: text, icon and text, or icon only, with a live preview. It
    now stays in its corner on themes that animate their sections.
  • Thank-you page: set it up under Add to site Thank-you page. It’s saved in
    RazorBooking too, so customers go there wherever they book, including after
    paying by card.
  • Booking confirmation: change or hide the title, change the label before the
    reference, and change or hide the “View your booking” button, in the block,
    widget, and shortcode.
  • Privacy: a new setting for when booking loads: right away (the default),
    after visitors accept cookies, or when they click a booking button.
    Suggested privacy policy text is added under Settings Privacy Policy
    Guide.
  • Privacy: the plugin no longer stores customer data. Upcoming bookings and
    reviews waiting for approval are read from RazorBooking when needed.
  • Works with cookie banners and caching and speed plugins: the FAQ lists what
    to exclude from a speed plugin, a notice tells you when to clear your page
    cache, and a booking form that can’t load shows a link to your booking site.
  • Accessibility: focus stays inside the booking popup, and Escape closes it.
  • Gallery photos open in a full-screen viewer.
  • The plugin’s screens, the page editors, and your pages work from one saved
    copy of your RazorBooking information, so screens open instantly. It’s
    updated when you click Sync or save in the plugin. RazorBooking never
    contacts your site, and nothing runs on a timer or in the background.
  • Add to site lists everything you can put on your pages, with its
    shortcode, embed code, and a preview.
  • The admin screens are rebuilt with RazorBooking’s own design: Home shows
    today’s bookings and team, Services has a Categories tab, and Team lets you
    add team members who take bookings.
  • Activating the plugin shows a “Start setup” banner on the Plugins screen
    instead of leaving it.
  • Business info for search engines is added at the end of each page and
    describes only what that page shows. Star ratings and gallery images are no
    longer included.
  • Multisite: network activation sets up every site, including new ones, and
    uninstalling cleans up every site.
  • Security: business info for search engines escapes <, >, and &, so a
    name containing </script> can’t run as code.
  • Fixed: adding or fixing a block on a page no longer breaks the page’s other
    blocks (for example, “Hair & Beauty” becoming “Hair u0026 Beauty”).
  • Fixed: removing one block from a page removes only that block.
  • Fixed: dragging a service or category past several rows now saves the order
    you see.
  • Fixed: services no longer all show as hidden.
  • Fixed: an HTML anchor set on a block now appears on the page.
  • Removed: “Copy to media library” for gallery photos, the Content screen (now
    part of Add to site), and the WordPress-only appearance and “My bookings
    page” settings.

1.1.0

  • The admin screens are now built from readable TypeScript source (src/)
    rather than shipped only as a compiled bundle.
  • React now comes from WordPress rather than being bundled, cutting the admin
    script from 204KB to 46KB.
  • New: structured data for search engines, with per-type switches and
    detection of other SEO plugins.
  • New: a Support screen that works even when the connection to RazorBooking
    is down.
  • New: Content, bringing your gallery, reviews, team and FAQ together with the
    blocks that publish them. Images can be copied into your media library.
  • Disconnect moved to the account menu in the top right, where you would look
    for it, instead of being buried in Settings.
  • Placements now repairs a broken placement in one click.
  • Pasting an API token is now checked against RazorBooking before it is saved.
  • The menu is seven items instead of eight. Team moved into Content; Plan is
    now a warning shown only when something needs your attention.

1.0.0

  • First release.
Back to top