Hosted Package

Embeds and memberships

Embed category booking flows and membership signup, display current memberships, and list available plans.

Embed category booking flows and membership signup, display current memberships, and list available plans. First, complete the installation.

Embed a category booking flow

Use Tiquo.embedCustomerFlow() inside window.Tiquo.ready() to open a category-locked booking URL: https://book.tiquo.app/embed/CUSTOMER_FLOW_ID?categoryId=CATEGORY_ID&lockCategory=true.

The category stays fixed while the customer chooses an eligible booking type, such as Member or Guest, in the flow. Use the category ID returned by getFlowServices(), and omit serviceId and lockService. A correctly configured public embed does not need the additional flowId query parameter. The Hosted Package hands its authenticated customer session into the iframe so the normal membership and service-access rules apply.

See Embed booking for a selected category for a complete example, category-card guidance, and the meaning of each ID.

Render the current membership

Use data-tiquo-memberships for the collection wrapper. The first data-tiquo-membership-item child is the Webflow template that Tiquo clones for each matching membership.

<div
  data-tiquo-memberships
  data-tiquo-status="active"
  data-tiquo-limit="1"
>
  <article data-tiquo-membership-item>
    <span data-tiquo-membership="icon"></span>
    <h2 data-tiquo-membership="name"></h2>
    <p data-tiquo-membership="summary"></p>
    <span data-tiquo-membership="statusLabel"></span>
    <span data-tiquo-membership="priceLabel"></span>
    <span
      data-tiquo-membership="color"
      data-tiquo-style="background-color"
    ></span>
  </article>

  <div data-tiquo-empty>
    You do not have an active membership yet.
  </div>
</div>
</>Interactive example

Current memberships

Inspect collection filters, the repeatable template, every membership field, style data attribute, and empty state.

Hover, tap, or focus an element to inspect its data attributes.

Membership

Your current plan

Membership name

Atlas Plus

Membership icon

A

Status label

Active

Membership summary

Active since Jun 2025 · Renews Jul 2026

Price label

£25/month

Current membership

Current

Configured membership colour

Every other membership field

8 fields

Plan description

Priority access and member pricing.

Raw status

active

Payment status

Paid

Active since

Active since Jun 2025

Renewal label

Renews Jul 2026

End label

Ends 31 Jul 2026

Billing period

month

Membership features

Priority booking, Guest passes

Empty fallback

No active membership

Available plans can be shown below this state.

Use status all to include inactive, expired, cancelled, and suspended memberships.

Useful membership fields:

FieldDescription
nameMembership plan name
descriptionPlan description
iconConfigured icon, or the first letter of the plan name
statusRaw status, such as active
statusLabelDisplay status, such as Active
paymentStatusLabelDisplay payment status
summaryFor example, Active since Jun 2025 · Renews Jul 2026
activeSinceLabelFor example, Active since Jun 2025
renewalLabelFor example, Renews Jul 2026
endLabelMembership end label, when present
priceLabelFor example, £25/month or Free
billingPeriodLabelFor example, month or year
featuresComma-separated plan features
colorConfigured membership color
currentLabelCurrent for the active membership
sourceLabelHubSpot for a membership held in HubSpot; empty for a Tiquo membership

Use data-tiquo-status="all" to include inactive, expired, cancelled, and suspended memberships.

Memberships from HubSpot

When the organization has HubSpot connected, the collection also lists the customer's HubSpot subscriptions. They are read-only: their payments, cards and cancellation are managed in HubSpot, and their price fields are empty when HubSpot does not provide them.

Each rendered item carries data-tiquo-membership-source (tiquo or hubspot) and data-tiquo-membership-external (true or false), so CSS alone can hide Tiquo-only actions on them:

[data-tiquo-membership-external="true"] .manage-membership {
  display: none;
}

Add data-tiquo-source to the collection wrapper to filter by source: all (default), tiquo, external (any connected system) or hubspot.

Render available membership plans

Use a separate collection for active public customer plans:

<div data-tiquo-membership-plans data-tiquo-current="include">
  <article data-tiquo-membership-plan-item>
    <span data-tiquo-membership-plan="icon"></span>
    <h3 data-tiquo-membership-plan="name"></h3>
    <strong data-tiquo-membership-plan="priceLabel"></strong>
    <p data-tiquo-membership-plan="description"></p>
    <p data-tiquo-membership-plan="features"></p>
    <span
      data-tiquo-membership-plan="currentLabel"
      data-tiquo-hide-empty
    ></span>
    <a
      data-tiquo-membership-plan="signupUrl"
      data-tiquo-preserve-text
    >Choose membership</a>
  </article>

  <div data-tiquo-empty>
    There are no other memberships available.
  </div>
</div>
</>Interactive example

Available membership plans

Inspect current-plan filtering, the repeatable template, every plan field, signup link, badges, and empty state.

Hover, tap, or focus an element to inspect its data attributes.

Memberships

Choose your plan

Popular
Current

Plan name

Atlas Plus

Plan description

Priority access and member pricing.

Price label

£25/month

Plan features

Priority booking, Guest passes

Every other membership-plan field

6 fields

Plan ID

plan_atlas_plus

Plan slug

atlas-plus

Plan type

recurring

Billing period

month

Plan colour

#7157ff

Plan icon

A

Choose membership
Empty fallback

No other plans available

The current-plan filter controls which plans are listed.

Current-plan filtering accepts include, exclude, or only. Signup URLs are assigned safely to links.

data-tiquo-current accepts:

ValueBehaviour
includeInclude all public plans and mark the current plan
excludeOmit the customer's current plan
onlyShow only the current plan

Plan fields include id, name, description, slug, type, priceLabel, billingPeriodLabel, features, color, icon, popularLabel, currentLabel, and signupUrl.

data-tiquo-preserve-text keeps the Webflow link label while Tiquo assigns signupUrl to href. data-tiquo-hide-empty hides elements such as Current and Popular badges when their value is empty.

Authenticated membership embeds

embedMembership creates an automatically resizing membership iframe:

<div id="membership-signup"></div>

<script>
  window.Tiquo.ready(function (tiquo) {
    tiquo.embedMembership(
      "membership_plan_id",
      "#membership-signup",
      { minHeight: "240px" }
    );
  });
</script>
</>Interactive example

Authenticated membership embed

Inspect the mount element, embed call, generated iframe, and minimum-height option.

Hover, tap, or focus an element to inspect its data attributes.

Secure embed mount

Atlas Plus signup

tiquo.embedMembership("membership_plan_id", "#membership-signup", options)

Join Atlas Plus

Secure, automatically resizing membership flow

Minimum frame height · 240px

The iframe receives a short-lived one-time handoff token; raw customer access tokens are never appended to its URL.

You can also add a Tiquo /embed/ iframe directly. The package discovers existing and dynamically added Tiquo iframes.

When the website has an authenticated session, Tiquo requests a short-lived, one-time iframe token and sends it only to the matching Tiquo origin with postMessage. The access token is never appended to the iframe URL. If the visitor is not authenticated, the embedded flow displays its normal sign-in interface.

See Rendering and empty states for shared collection behaviour.

En esta página