Docs
← cabintale.com EN · CZ Email support
Products · Tutorial

Products overview

Sell items — physical goods, digital downloads, vouchers — from your account with embeddable Checkout buttons.

By the end of this guide you'll know what a product is, how to create one, how to put a Checkout button on your website, and what happens afterwards — orders, confirmation emails, refunds, and the choice you get over vouchers when you refund. For everything voucher-specific (handing out codes yourself, expiry, redemption), see Vouchers.

Before you start

What you'll need

  • Access to edit the website where the Checkout button will live.
  • A payment gateway set up in Settings → Payments — you can build the product first; the checkout only goes live once a gateway is connected.
  • About 10 minutes.
What you'll achieve
  • One product set up with a price and currency
  • A Checkout button live on your website
  • Your first test order in your admin, with confirmation emails sent to you and the guest

What's a product?

A product is something you sell for a set price in one currency. Each Checkout button sells one product, and the guest picks how many they want. They pay online through your payment gateway, the order lands in your admin, and both you and the guest get an email.

There are two product types today:

  • Product — a physical or digital item. A normal one-off sale.
  • Voucher — creates a gift code for each one bought (like SUNNY-RDX9-RPMS). See Vouchers for everything voucher-specific.

And two ways to price a product:

  • Single price — one price per item. The guest picks a quantity and the total is price × quantity. Use this for a flat-rate item (a 1 800 CZK bottle, a 500 CZK voucher).
  • Options — several lines, each with its own name, optional description, and price. The guest picks a quantity per line (e.g. Adult — 1 000 CZK ×2, Child — 500 CZK ×1) and the total adds up. Use this for tiers or variants — or for a voucher product that sells several values from one button.

Step 1: Create your first product

Sidebar → Products → click the + at the top of the rail. The new-product form opens:

FieldWhat it does
NameShows on the Checkout button, in your order list, and in confirmation emails.
TypeProduct (a physical or digital item) or Voucher (a gift code — see Vouchers).
Country / CurrencyPick a country and the currency fills in. It must match what your payment gateway supports.
Pricing modeSingle price (one price per item) or Options (several lines, each with its own name, description, and price). See "What's a product?" above.
Price (single price)The price per item (e.g. 1890 for 1 890 CZK).
Options (options mode)Add at least one line. Name and description are optional; price is required, and at least one option must be above 0.
Voucher settings (vouchers only)A code prefix (1–8 letters/digits, optional) and Validity (days) (empty = never expires).

Click Save. You land on the product's detail page, with sections for the basics, payments, quantity limits, notifications, and (for vouchers) code settings.

Payments have their own section. If you haven't connected a gateway yet, a note links you to Settings → Payments — the public checkout won't go live until one is set, but you can finish the rest of the product first.

Step 2: Set up a Checkout button

A product on its own is just a listing — guests buy it through a Checkout button. On the product's detail page, open Checkouts and click Add checkout.

The checkout page has three sections — Identity, Appearance, and Embedding:

SettingWhat it does
NameA label just for you, so you can tell several buttons apart.
LanguageSets this button's language, overriding the product's default.
Button labelThe text on the button (e.g. Order now, Buy a voucher).
Primary colorThe button and dialog accent colour.
ModeLight or dark dialog.
BackgroundWhite / black / transparent — to match the page around it.
SizeSmall / medium / large button.
Embed typeHow the button appears on your site: Button (a ready-styled button you paste into your page), Script (we draw the button for you), or Iframe (drop our checkout page straight in). Saved per button; the Checkouts list shows which each one uses.
Custom dialog fieldsAdd fields to ask for a delivery address, gift message, or anything else — the same fields editor used for booking forms.

Quantity limits (lowest, default, highest) are set on the product, not the button — one set applies to every Checkout button for that product.

Save the checkout. The Embedding section then shows your embed code (see the next step) and a View public preview link that opens the live checkout in a new tab.

Step 3: Put the button on your website

Pick an Embed type in the checkout's Embedding section. The snippet on the right updates to match — copy it and paste it into your site's HTML where you want the button.

Button (recommended) — A ready-styled button with your appearance settings baked in. Paste it in and tweak the look if you like. Best if you want full control over the design.

<button data-cabintale-checkout="..." style="…">Order now</button>
<script src="https://admin.cabintale.com/widget-embed.js" async></script>

Script (advanced) — We draw the button for you. No styling work, but you can't restyle the button yourself.

<cabintale-root data-checkout="..."></cabintale-root>
<script src="https://admin.cabintale.com/widget-embed.js" async></script>

Iframe (simple) — Drop the checkout page straight into your site. Add the companion script alongside it so the dialog can still open full-screen.

<iframe src="https://admin.cabintale.com/checkout/..." style="border:none; width:100%; min-height:80px"></iframe>
<script src="https://admin.cabintale.com/widget-dialog.js" async></script>

Step 4: What the guest sees when they buy

When a guest clicks the button, a 4-step dialog opens:

  1. Quantity
    • Single-price products: one stepper, within the limits you set. The total updates as they go.
    • Options products: one stepper per line. The total adds up across lines, and at least one line must be above 0 to continue.
  2. Details — whatever fields you added (email, delivery address, gift message). Required fields are checked before they can move on.
  3. Review — the order summary with a per-line breakdown (for options) and the grand total.
  4. Pay — the payment page, in the button's language. Once they pay, they're brought back and the dialog confirms with Order received.

For voucher products, the success step lists the gift code(s). The codes also go out in the guest's email — see the next step.

Step 5: Receiving orders

Orders land in Products → {product} → Orders, marked Paid. The Orders list looks just like Bookings — name, price, date, reference, and a status pill — so switching between the two feels familiar.

  • The order detail shows the quantity, total, payment status, guest details, and every field the guest filled in.
  • The Payments section lists each payment attempt. A refund icon appears on successful ones.
  • The Issued vouchers panel (voucher orders only) lists every code, with its status, expiry, and a cancel button per row.
  • You get a new-order email — a heads-up that money came in.
  • The guest gets a confirmation email — a receipt with the product name, the line items (for options orders), the total, the fields they filled in, and (for vouchers) the codes shown as chips with code, value, and expiry.

Step 6: Send a payment link by hand

If a guest's payment failed, or they'd rather pay over chat, email, or the phone, you can send them a link straight from the order:

  1. Open the order's Payments section.
  2. Click Send payment link. cabintale copies a payment link to your clipboard.
  3. Paste it to the guest. They open it and pay.
  4. Once they pay, the order flips to Paid and the confirmation emails go out as usual.

The button only appears if the product has a payment gateway and the order isn't already fully paid.

Step 7: Refunds — and what happens to vouchers

Refunds work just like they do for bookings. From the order's Payments section:

  1. Click the refund button on a successful payment.
  2. Enter the amount (full or partial) and click Initiate.
  3. cabintale emails a 6-digit code to your admin email — type it into the dialog to confirm.
  4. Your payment gateway processes the refund, and it appears as a negative line in Payments.

If the order has paid vouchers on it, cabintale then asks what to do with them: Cancel all vouchers or Keep vouchers.

  • Cancel all — every voucher on the order stops working; the holder can't redeem it.
  • Keep — the vouchers stay valid; only the order's payment changes.

You get the same choice when you cancel the order (set its status to Cancelled and save) or delete it.

See Vouchers for voucher-specific cancelling and redemption.

Handing out vouchers yourself

For voucher products, you can issue codes without taking an online payment — gift codes, in-person sales, comps. See Vouchers → "Hand out vouchers yourself".

Limitations (for now)

  • One product per button. There's no shopping cart yet — one button sells one product (its options still count as a single order). Multi-product catalogs are planned.
  • No stock tracking. Sold out is a manual switch — flip Available in the product header to hide the button.
  • No product images yet — coming with shared media storage.
  • Online payment only. Products don't have a request-to-book mode.

Related guides

Still stuck?

We reply to every email within one business day.

Email support →