Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.
With booking packages, you offer your customers purchasable service packages that they redeem later via a booking code when making a booking. A booking package is purpose-bound: it contains a specific allowance (e.g. 10 bookings for a particular course) and VAT is shown at purchase. This way you generate upfront revenue and build long-term customer loyalty.
Available from the Professional plan.
Activate the Booking bundles app in advance under Account → Apps & Integrations → anny Apps (switch Enable for your organization).
A booking package is a specific service allowance with a fixed price. VAT is shown directly when the package is purchased. Redeeming the code later works technically as a price reduction (discount) on the booked service.The process:
You create a booking package with a price, description and linked allowance.
Customers buy the package on your booking page (Packages & vouchers tab).
Customers receive an 8-digit booking code.
On future bookings, they enter the code at checkout and the price is reduced.
With default-list="packages", you can embed booking packages as the default tab on your own websites, independently of the Default tab on booking page setting under Account → Settings → General.
You sell multi-passes (e.g. a 10-pass for courses): create a booking package with a quantity allowance.
You want to generate upfront revenue and build loyalty: packages with a reduced total price encourage purchases.
You want to sell physical voucher cards: use shipping mode to send packages by post.
Not suitable for: recurring payments (use subscriptions), flexible monetary vouchers without a fixed purpose (use value vouchers) or plain price reductions (use discount codes).
Validity of the code in days or years (default: 730 days). Optional Valid until year end: the code stays valid until 31 December of the year the period ends in (example: 1 March 2025 and 3 years → 31 December 2028).
Booking allowance
Linked allowance that’s used up on redemption
Group
Optional. Organizes packages in the admin list and on the booking page
Document template
Document sent to customers at purchase
On-site document template
Second template for admin purposes only (e.g. printout)
Offer delivery address
Ask for a different delivery address at checkout
Offer business address
Ask for a business address at checkout
Shipping
Disabled, Optional or Always
Live/Draft
Visibility on the booking page
On the booking page, customers see the Packages & vouchers tab, where they can purchase packages. You organize several packages with the Group field on the package form. These groups are independent of the groups you assign to services. The booking page only shows groups that have at least one live package. Packages without a group appear there under Other. If you delete a group, the packages remain; on the booking page they move to Other. You maintain those lists under Groups.
In the sidebar, open Catalog → Booking bundles. Use the Search field to filter the package list. While a search of at least three characters is active, drag-and-drop reordering is disabled.
2
Create a new package
Click New at the top right and enter a name.
3
Choose Booking Package mode
Select the Booking Package tab (purpose-bound).
4
Configure details
Add a price, expiry period (days or years, optionally Valid until year end), tax rate and description.
5
Link an allowance
Link an existing booking allowance or create a new one directly under Booking quotas → New.
6
Optionally assign a group
In the Group field, select an existing group or type a new name to create a group.
7
Documents and shipping (optional)
Add a document template and, if needed, configure shipping mode and the delivery address.
8
Go live
Activate the package in the table under Catalog → Booking bundles via the three dots → Activate. It now appears on your booking page. Use Deactivate to remove it from the booking page again.
You can also issue booking codes directly in the admin area, e.g. for existing customers or on-site sales.
1
Open Booking Codes
In the sidebar, open Management → Codes → Booking codes.
2
Create a new code
Click New booking code. The booking dialog opens on the Bundles tab.
3
Choose the bundle
Search for the bundle and add it to the order. Use Valid until on the line to change the expiry date. Apply date sets the date, and Use the bundle’s expiration restores the bundle expiry.
4
Add a customer (optional)
Add customer assigns the code to a person. Without a customer the code stays anonymous, and the invoice cannot be finalized.
5
Complete the order
Click Complete order. Send email confirmation is on once a customer is set. Finalize invoice assigns an invoice number. Mark invoice as paid is for payments outside anny, for example cash or bank transfer, and requires a finalized invoice. Without finalizing, the invoice stays a draft. Save creates the 8-digit code and lists it in the overview.
Turn off Send email confirmation if the customer should not get an email about the new code.
If you want to send booking packages as a physical card or letter, you can set a shipping mode per package:
Mode
Behavior
Disabled
No shipping, purely digital delivery
Optional
Customers choose at checkout whether they want shipping
Always
Shipping is mandatory, shipping costs are added automatically
You can also store a shipping cost amount that’s added to the package price. In the admin area, you can see which packages still need to be shipped and mark them as shipped once they’re sent.
With the Offer delivery address and Offer business address toggles, you can ask for additional address fields at checkout. This is especially useful when the default address doesn’t match the actual delivery address (e.g. for equipment shipped to a home office).
A studio wants to offer 10 massages as a discounted package. Customers buy the pass online and redeem it on each booking.
1
Create an allowance
Open Catalog → Booking bundles → Booking quotas → New. Choose type Quantity, value 10, mode One-time. Limit it to your massage services.
2
Create a booking package
Under Catalog → Booking bundles → New, create a package in the Booking Package tab. Set the price (e.g. 450 euros instead of a 500-euro single price).
3
Link the allowance
Link the 10-pass allowance you just created to the package.
4
Set the tax rate
Choose the standard tax rate (e.g. 19%). VAT is shown directly on the purchase invoice.
5
Go live
Activate the package in the table via the three dots → Activate. Customers can buy the package on your booking page, receive a code and redeem it on every massage booking.
Coworking space sells 10-passes with physical shipping
A coworking operator wants to offer day-pass packages as gift cards by post.
1
Create an allowance
Create a quantity allowance (value: 10), limited to the day-pass resource.
2
Create a booking package
Create a package with a price, link the allowance and add a document template for the gift card.
3
Configure shipping
Set shipping mode to Optional and store the shipping costs (e.g. 2.90 euros).
4
Enable delivery address
Enable Offer delivery address so customers can enter a different delivery address.
5
Go live and handle it
Activate the package in the table via the three dots → Activate. When a customer chooses shipping, the shipping costs are added. In the admin area, you see open shipments and mark them as done once sent.
The default is 730 days or the validity configured in the package. You choose the unit days or years. With Valid until year end, the code expires on 31 December of the end year, not on the calendar day after the period. When you create a code manually, you can still adjust the expiry date.
Can I create codes without a customer assignment?
Yes. Since July 2026, anonymous codes without a stored customer can be created, e.g. for bulk sales or promotions.
Where do I see all sold codes?
Under Management → Codes → Booking codes in the sidebar. There you can filter, export and view the redemption status.
Are shipping costs shown separately on the invoice?
Yes. Shipping costs appear as a separate line item on the invoice, in addition to the package value.
What's the difference between a booking package and a value voucher?
A booking package is purpose-bound (specific allowance, VAT at purchase, redemption as a discount). A value voucher is a multi-purpose voucher (pure monetary value, 0% VAT at purchase). Learn more in the Value Vouchers article.
Check whether at least one package is set to Live. Packages in draft mode aren’t shown on the booking page.
The booking code isn't accepted at checkout
Check: has the expiry date passed? Is the linked allowance used up? Does the allowance apply to the selected resource?
Imported booking codes trigger an error
With imported codes, it can happen that the billing fails on redemption. In that case, contact support with the package name and the affected code.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"anny","colors":{"primary":"#3c69ef","light":"#6789ef","dark":"#2055f3"},"logo":{"light":"https://mintcdn.com/anny-85c98540/ijC9sfplIYStpnep/images/anny-lockup-hell-inline.svg?fit=max\u0026auto=format\u0026n=ijC9sfplIYStpnep\u0026q=85\u0026s=7d8ad75aba0be5dcd6f5dacf0edc35b1","dark":"https://mintcdn.com/anny-85c98540/ijC9sfplIYStpnep/images/anny-lockup-dunkel-inline.svg?fit=max\u0026auto=format\u0026n=ijC9sfplIYStpnep\u0026q=85\u0026s=29c002d1a13f15f47ef5866bf557bb87","href":"https://anny.co"},"favicon":{"light":"https://mintcdn.com/anny-85c98540/ijC9sfplIYStpnep/images/anny-icon-flach.svg?fit=max\u0026auto=format\u0026n=ijC9sfplIYStpnep\u0026q=85\u0026s=989439e987cd6b526bb0bfe00fb24856","dark":"https://mintlify.s3.us-west-1.amazonaws.com/anny-85c98540/favicon.svg"},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/annyco","instagram":"https://www.instagram.com/anny.company?hl=de","youtube":"https://www.youtube.com/@anny.company"}},"icons":{"library":"fontawesome"},"integrations":{"gtm":{"tagId":"GTM-TTDNBZTD"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"de","default":true,"href":"welcome"},{"language":"en","href":"en/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"anny-85c98540","hasAudioNarration":false,"actualSubdomain":"anny-85c98540","customDomains":["docs.anny.co"],"gitSource":{"type":"github","owner":"anny-co","repo":"knowledge-base","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"1f41460b-bdb9-4260-ad58-b369ce010cbf","liveDeploymentHistoryId":"6ae35cd20184476a8fdbceef","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae35cd20184476a8fdbceef"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae35cd20184476a8fdbceef","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"de","tag":"Developers","count":617},{"language":"de","tag":"Admin API","count":348},{"language":"de","tag":"Admin","count":167},{"language":"en","tag":"Admin","count":163},{"language":"de","tag":"Customer API","count":122},{"language":"de","tag":"Data models","count":121},{"language":"de","tag":"Scalar reference catalog","count":99},{"language":"en","tag":"Integrations","count":44},{"language":"de","tag":"Integrationen","count":43},{"language":"de","tag":"Orders \u0026 Billing","count":43},{"language":"de","tag":"Service Configuration","count":41},{"language":"de","tag":"Booking Management","count":37},{"language":"en","tag":"Your Organization","count":26},{"language":"en","tag":"Getting Started","count":22},{"language":"en","tag":"Booking Options \u0026 Services","count":17},{"language":"en","tag":"Access \u0026 Smart Locks","count":15},{"language":"en","tag":"Use Cases","count":15},{"language":"en","tag":"anny AI","count":11},{"language":"en","tag":"Security \u0026 Login","count":11},{"language":"en","tag":"End Users","count":10},{"language":"default","tag":"Changelog","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/booking-codes","slug":"/en/booking-codes","pageMetadata":{"title":"Booking Packages \u0026 Codes","sidebarTitle":"Booking Packages","description":"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.","public":true,"href":"/en/booking-codes"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Heading,Info,Step,Steps,Table,Tip,Visibility}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Visibility)_missingMdxReference(`Visibility`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`With booking packages, you offer your customers purchasable service packages that they redeem later via a booking code when making a booking. A booking package is purpose-bound: it contains a specific allowance (e.g. 10 bookings for a particular course) and VAT is shown at purchase. This way you generate upfront revenue and build long-term customer loyalty.`}),`\n`,_jsx(Info,{children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Available from the Professional plan.`}),`\n`,_jsxs(_components.li,{children:[`Activate the `,_jsx(_components.strong,{children:`Booking bundles`}),` app in advance under `,_jsx(_components.strong,{children:`Account`}),` → `,_jsx(_components.strong,{children:`Apps \u0026 Integrations`}),` → `,_jsx(_components.strong,{children:`anny Apps`}),` (switch `,_jsx(_components.strong,{children:`Enable for your organization`}),`).`]}),`\n`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-does-the-concept-work`,children:`How does the concept work?`}),`\n`,_jsx(_components.p,{children:`A booking package is a specific service allowance with a fixed price. VAT is shown directly when the package is purchased. Redeeming the code later works technically as a price reduction (discount) on the booked service.`}),`\n`,_jsx(_components.p,{children:`The process:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`You create a booking package with a price, description and linked allowance.`}),`\n`,_jsxs(_components.li,{children:[`Customers buy the package on your booking page (`,_jsx(_components.strong,{children:`Packages \u0026 vouchers`}),` tab).`]}),`\n`,_jsxs(_components.li,{children:[`Customers receive an `,_jsx(_components.strong,{children:`8-digit booking code`}),`.`]}),`\n`,_jsx(_components.li,{children:`On future bookings, they enter the code at checkout and the price is reduced.`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`default-list=\"packages\"`}),`, you can embed booking packages as the default tab on your own websites, independently of the `,_jsx(_components.strong,{children:`Default tab on booking page`}),` setting under `,_jsx(_components.strong,{children:`Account`}),` → `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`General`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`when-do-i-use-this`,children:`When do I use this?`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You sell multi-passes`}),` (e.g. a 10-pass for courses): create a booking package with a quantity allowance.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You want to generate upfront revenue and build loyalty`}),`: packages with a reduced total price encourage purchases.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You want to sell physical voucher cards`}),`: use shipping mode to send packages by post.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Not suitable for`}),`: recurring payments (use subscriptions), flexible monetary vouchers without a fixed purpose (use value vouchers) or plain price reductions (use discount codes).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`relationship-to-other-features`,children:`Relationship to other features`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`Relationship`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Booking allowances`}),_jsx(_components.td,{children:`Each booking package is linked to an allowance that’s used up on redemption.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Legal documents`}),_jsx(_components.td,{children:`Documents can be added to the package that must be accepted/signed at checkout.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Recurring bookings`}),_jsx(_components.td,{children:`Each recurring appointment uses up the package allowance individually. Cancelled appointments have been refunded correctly since July 2026.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`settings-\u0026-options`,children:`Settings \u0026 options`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting (admin)`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Name \u0026 description`}),_jsx(_components.td,{children:`Title and explanatory text for the booking page`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Price`}),_jsx(_components.td,{children:`Fixed price incl. tax rate`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tax rate`}),_jsx(_components.td,{children:`Standard rate (shown at purchase)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Expiry period`}),_jsxs(_components.td,{children:[`Validity of the code in `,_jsx(_components.strong,{children:`days`}),` or `,_jsx(_components.strong,{children:`years`}),` (default: 730 days). Optional `,_jsx(_components.strong,{children:`Valid until year end`}),`: the code stays valid until 31 December of the year the period ends in (example: 1 March 2025 and 3 years → 31 December 2028).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Booking allowance`}),_jsx(_components.td,{children:`Linked allowance that’s used up on redemption`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Group`}),_jsx(_components.td,{children:`Optional. Organizes packages in the admin list and on the booking page`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Document template`}),_jsx(_components.td,{children:`Document sent to customers at purchase`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`On-site document template`}),_jsx(_components.td,{children:`Second template for admin purposes only (e.g. printout)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Offer delivery address`}),_jsx(_components.td,{children:`Ask for a different delivery address at checkout`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Offer business address`}),_jsx(_components.td,{children:`Ask for a business address at checkout`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Shipping`}),_jsx(_components.td,{children:`Disabled, Optional or Always`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Live/Draft`}),_jsx(_components.td,{children:`Visibility on the booking page`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`On the booking page, customers see the `,_jsx(_components.strong,{children:`Packages \u0026 vouchers`}),` tab, where they can purchase packages. You organize several packages with the `,_jsx(_components.strong,{children:`Group`}),` field on the package form. These groups are independent of the groups you assign to services. The booking page only shows groups that have at least one live package. Packages without a group appear there under `,_jsx(_components.strong,{children:`Other`}),`. If you delete a group, the packages remain; on the booking page they move to `,_jsx(_components.strong,{children:`Other`}),`. You maintain those lists under `,_jsx(_components.a,{href:`/en/groups-and-categories`,children:`Groups`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-booking-package`,children:`Create a booking package`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Booking Packages`,children:_jsxs(_components.p,{children:[`In the sidebar, open `,_jsx(_components.strong,{children:`Catalog`}),` → `,_jsx(_components.strong,{children:`Booking bundles`}),`. Use the `,_jsx(_components.strong,{children:`Search`}),` field to filter the package list. While a search of at least three characters is active, drag-and-drop reordering is disabled.`]})}),_jsx(Step,{title:`Create a new package`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`New`}),` at the top right and enter a name.`]})}),_jsx(Step,{title:`Choose Booking Package mode`,children:_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Booking Package`}),` tab (purpose-bound).`]})}),_jsx(Step,{title:`Configure details`,children:_jsxs(_components.p,{children:[`Add a price, expiry period (days or years, optionally `,_jsx(_components.strong,{children:`Valid until year end`}),`), tax rate and description.`]})}),_jsx(Step,{title:`Link an allowance`,children:_jsxs(_components.p,{children:[`Link an existing booking allowance or create a new one directly under `,_jsx(_components.strong,{children:`Booking quotas`}),` → `,_jsx(_components.strong,{children:`New`}),`.`]})}),_jsx(Step,{title:`Optionally assign a group`,children:_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Group`}),` field, select an existing group or type a new name to create a group.`]})}),_jsx(Step,{title:`Documents and shipping (optional)`,children:_jsx(_components.p,{children:`Add a document template and, if needed, configure shipping mode and the delivery address.`})}),_jsx(Step,{title:`Go live`,children:_jsxs(_components.p,{children:[`Activate the package in the table under `,_jsx(_components.strong,{children:`Catalog`}),` → `,_jsx(_components.strong,{children:`Booking bundles`}),` via the `,_jsx(_components.strong,{children:`three dots`}),` → `,_jsx(_components.strong,{children:`Activate`}),`. It now appears on your booking page. Use `,_jsx(_components.strong,{children:`Deactivate`}),` to remove it from the booking page again.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-booking-code-manually`,children:`Create a booking code manually`}),`\n`,_jsx(_components.p,{children:`You can also issue booking codes directly in the admin area, e.g. for existing customers or on-site sales.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Booking Codes`,children:_jsxs(_components.p,{children:[`In the sidebar, open `,_jsx(_components.strong,{children:`Management`}),` → `,_jsx(_components.strong,{children:`Codes`}),` → `,_jsx(_components.strong,{children:`Booking codes`}),`.`]})}),_jsx(Step,{title:`Create a new code`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`New booking code`}),`. The booking dialog opens on the `,_jsx(_components.strong,{children:`Bundles`}),` tab.`]})}),_jsx(Step,{title:`Choose the bundle`,children:_jsxs(_components.p,{children:[`Search for the bundle and add it to the order. Use `,_jsx(_components.strong,{children:`Valid until`}),` on the line to change the expiry date. `,_jsx(_components.strong,{children:`Apply date`}),` sets the date, and `,_jsx(_components.strong,{children:`Use the bundle’s expiration`}),` restores the bundle expiry.`]})}),_jsx(Step,{title:`Add a customer (optional)`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Add customer`}),` assigns the code to a person. Without a customer the code stays anonymous, and the invoice cannot be finalized.`]})}),_jsx(Step,{title:`Complete the order`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Complete order`}),`. `,_jsx(_components.strong,{children:`Send email confirmation`}),` is on once a customer is set. `,_jsx(_components.strong,{children:`Finalize invoice`}),` assigns an invoice number. `,_jsx(_components.strong,{children:`Mark invoice as paid`}),` is for payments outside anny, for example cash or bank transfer, and requires a finalized invoice. Without finalizing, the invoice stays a draft. `,_jsx(_components.strong,{children:`Save`}),` creates the 8-digit code and lists it in the overview.`]})})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Turn off `,_jsx(_components.strong,{children:`Send email confirmation`}),` if the customer should not get an email about the new code.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`configure-shipping-mode`,children:`Configure shipping mode`}),`\n`,_jsx(_components.p,{children:`If you want to send booking packages as a physical card or letter, you can set a shipping mode per package:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mode`}),_jsx(_components.th,{children:`Behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Disabled`}),_jsx(_components.td,{children:`No shipping, purely digital delivery`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Optional`}),_jsx(_components.td,{children:`Customers choose at checkout whether they want shipping`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Always`}),_jsx(_components.td,{children:`Shipping is mandatory, shipping costs are added automatically`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`You can also store a shipping cost amount that’s added to the package price. In the admin area, you can see which packages still need to be shipped and mark them as `,_jsx(_components.strong,{children:`shipped`}),` once they’re sent.`]}),`\n`,_jsx(Heading,{level:`2`,id:`delivery-address-and-business-address`,children:`Delivery address and business address`}),`\n`,_jsxs(_components.p,{children:[`With the `,_jsx(_components.strong,{children:`Offer delivery address`}),` and `,_jsx(_components.strong,{children:`Offer business address`}),` toggles, you can ask for additional address fields at checkout. This is especially useful when the default address doesn’t match the actual delivery address (e.g. for equipment shipped to a home office).`]}),`\n`,_jsx(Heading,{level:`2`,id:`practical-examples`,children:`Practical examples`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Massage studio sells a 10-pass`,id:`massage-studio-sells-a-10-pass`,children:[_jsx(_components.p,{children:`A studio wants to offer 10 massages as a discounted package. Customers buy the pass online and redeem it on each booking.`}),_jsxs(Steps,{children:[_jsx(Step,{title:`Create an allowance`,children:_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Catalog`}),` → `,_jsx(_components.strong,{children:`Booking bundles`}),` → `,_jsx(_components.strong,{children:`Booking quotas`}),` → `,_jsx(_components.strong,{children:`New`}),`. Choose type `,_jsx(_components.strong,{children:`Quantity`}),`, value `,_jsx(_components.strong,{children:`10`}),`, mode `,_jsx(_components.strong,{children:`One-time`}),`. Limit it to your massage services.`]})}),_jsx(Step,{title:`Create a booking package`,children:_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Catalog`}),` → `,_jsx(_components.strong,{children:`Booking bundles`}),` → `,_jsx(_components.strong,{children:`New`}),`, create a package in the `,_jsx(_components.strong,{children:`Booking Package`}),` tab. Set the price (e.g. 450 euros instead of a 500-euro single price).`]})}),_jsx(Step,{title:`Link the allowance`,children:_jsx(_components.p,{children:`Link the 10-pass allowance you just created to the package.`})}),_jsx(Step,{title:`Set the tax rate`,children:_jsx(_components.p,{children:`Choose the standard tax rate (e.g. 19%). VAT is shown directly on the purchase invoice.`})}),_jsx(Step,{title:`Go live`,children:_jsxs(_components.p,{children:[`Activate the package in the table via the three dots → `,_jsx(_components.strong,{children:`Activate`}),`. Customers can buy the package on your booking page, receive a code and redeem it on every massage booking.`]})})]})]}),_jsxs(Accordion,{title:`Coworking space sells 10-passes with physical shipping`,id:`coworking-space-sells-10-passes-with-physical-shipping`,children:[_jsx(_components.p,{children:`A coworking operator wants to offer day-pass packages as gift cards by post.`}),_jsxs(Steps,{children:[_jsx(Step,{title:`Create an allowance`,children:_jsx(_components.p,{children:`Create a quantity allowance (value: 10), limited to the day-pass resource.`})}),_jsx(Step,{title:`Create a booking package`,children:_jsx(_components.p,{children:`Create a package with a price, link the allowance and add a document template for the gift card.`})}),_jsx(Step,{title:`Configure shipping`,children:_jsxs(_components.p,{children:[`Set shipping mode to `,_jsx(_components.strong,{children:`Optional`}),` and store the shipping costs (e.g. 2.90 euros).`]})}),_jsx(Step,{title:`Enable delivery address`,children:_jsxs(_components.p,{children:[`Enable `,_jsx(_components.strong,{children:`Offer delivery address`}),` so customers can enter a different delivery address.`]})}),_jsx(Step,{title:`Go live and handle it`,children:_jsxs(_components.p,{children:[`Activate the package in the table via the three dots → `,_jsx(_components.strong,{children:`Activate`}),`. When a customer chooses shipping, the shipping costs are added. In the admin area, you see open shipments and mark them as done once sent.`]})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`How long is a booking code valid?`,id:`how-long-is-a-booking-code-valid`,children:_jsxs(_components.p,{children:[`The default is 730 days or the validity configured in the package. You choose the unit `,_jsx(_components.strong,{children:`days`}),` or `,_jsx(_components.strong,{children:`years`}),`. With `,_jsx(_components.strong,{children:`Valid until year end`}),`, the code expires on 31 December of the end year, not on the calendar day after the period. When you create a code manually, you can still adjust the expiry date.`]})}),_jsx(Accordion,{title:`Can I create codes without a customer assignment?`,id:`can-i-create-codes-without-a-customer-assignment`,children:_jsx(_components.p,{children:`Yes. Since July 2026, anonymous codes without a stored customer can be created, e.g. for bulk sales or promotions.`})}),_jsx(Accordion,{title:`Where do I see all sold codes?`,id:`where-do-i-see-all-sold-codes`,children:_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Management`}),` → `,_jsx(_components.strong,{children:`Codes`}),` → `,_jsx(_components.strong,{children:`Booking codes`}),` in the sidebar. There you can filter, export and view the redemption status.`]})}),_jsx(Accordion,{title:`Are shipping costs shown separately on the invoice?`,id:`are-shipping-costs-shown-separately-on-the-invoice`,children:_jsx(_components.p,{children:`Yes. Shipping costs appear as a separate line item on the invoice, in addition to the package value.`})}),_jsx(Accordion,{title:`What's the difference between a booking package and a value voucher?`,id:`whats-the-difference-between-a-booking-package-and-a-value-voucher`,children:_jsx(_components.p,{children:`A booking package is purpose-bound (specific allowance, VAT at purchase, redemption as a discount). A value voucher is a multi-purpose voucher (pure monetary value, 0% VAT at purchase). Learn more in the Value Vouchers article.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Customers can't see the Packages \u0026 vouchers tab`,id:`customers-cant-see-the-packages-and-vouchers-tab`,children:_jsxs(_components.p,{children:[`Check whether at least one package is set to `,_jsx(_components.strong,{children:`Live`}),`. Packages in draft mode aren’t shown on the booking page.`]})}),_jsx(Accordion,{title:`The booking code isn't accepted at checkout`,id:`the-booking-code-isnt-accepted-at-checkout`,children:_jsx(_components.p,{children:`Check: has the expiry date passed? Is the linked allowance used up? Does the allowance apply to the selected resource?`})}),_jsx(Accordion,{title:`Imported booking codes trigger an error`,id:`imported-booking-codes-trigger-an-error`,children:_jsx(_components.p,{children:`With imported codes, it can happen that the billing fails on redemption. In that case, contact support with the package name and the affected code.`})})]}),`\n`,_jsx(Visibility,{for:`agents`,children:_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`Important information for agents:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Feature: Booking Packages. Plan: Professional. Activation: Account → Apps \u0026 Integrations → anny Apps → Booking bundles (switch “Enable for your organization”).`}),`\n`,_jsxs(_components.li,{children:[`UI path to manage packages: `,_jsx(_components.strong,{children:`Catalog`}),` → `,_jsx(_components.strong,{children:`Booking bundles`}),` (sidebar). `,_jsx(_components.strong,{children:`Search`}),` (`,_jsx(_components.code,{children:`common.actions.search`}),`) filters name/description; from 3 characters drag-and-drop is disabled. Go live: row action (three dots) `,_jsx(_components.strong,{children:`Activate`}),` / `,_jsx(_components.strong,{children:`Deactivate`}),` in the table, no live toggle in the page header.`]}),`\n`,_jsxs(_components.li,{children:[`UI path to manage codes: `,_jsx(_components.strong,{children:`Management`}),` → `,_jsx(_components.strong,{children:`Codes`}),` → `,_jsx(_components.strong,{children:`Booking codes`}),` (sidebar). `,_jsx(_components.strong,{children:`New booking code`}),` (`,_jsx(_components.code,{children:`common.actions.newBookingPass`}),`) opens the booking dialog on the `,_jsx(_components.strong,{children:`Bundles`}),` tab. Completion: `,_jsx(_components.strong,{children:`Complete order`}),`, `,_jsx(_components.strong,{children:`Send email confirmation`}),`, `,_jsx(_components.strong,{children:`Finalize invoice`}),`, `,_jsx(_components.strong,{children:`Mark invoice as paid`}),` (only after finalizing). Expiry on the line: `,_jsx(_components.strong,{children:`Valid until`}),`.`]}),`\n`,_jsx(_components.li,{children:`Booking package = purpose-bound: VAT at purchase, redemption = discount on the booking price.`}),`\n`,_jsx(_components.li,{children:`Anonymous codes (since July 2026): can be created without a required customer.`}),`\n`,_jsx(_components.li,{children:`Second document template (since July 2026): admin-only document, e.g. for on-site printout (“On-site document template”).`}),`\n`,_jsx(_components.li,{children:`Shipping mode (since June 2026): Disabled/Optional/Always. Shipping costs are added. Admin can mark as “shipped”.`}),`\n`,_jsx(_components.li,{children:`Delivery address (since May 2026): toggle per package, asks for a different delivery address at checkout.`}),`\n`,_jsx(_components.li,{children:`Business address (since July 2026): toggle per package, asks for a business address at checkout.`}),`\n`,_jsxs(_components.li,{children:[`Expiry: field `,_jsx(_components.strong,{children:`Expiry period`}),` (`,_jsx(_components.code,{children:`expiry_period`}),` + `,_jsx(_components.code,{children:`expiry_period_unit`}),` `,_jsx(_components.code,{children:`day`}),`/`,_jsx(_components.code,{children:`year`}),`, default 730 days). Toggle `,_jsx(_components.strong,{children:`Valid until year end`}),` (`,_jsx(_components.code,{children:`expiry_until_end_of_year`}),`, default off): `,_jsx(_components.code,{children:`endOfYear`}),` after the added period. Manual codes inherit the same calculation.`]}),`\n`,_jsx(_components.li,{children:`Distinction from value vouchers: multi-purpose voucher, 0% VAT at purchase, redemption = means of payment. Separate article.`}),`\n`,_jsx(_components.li,{children:`Distinction from discount codes: percentage/absolute price reductions at checkout WITHOUT balance logic.`}),`\n`,_jsx(_components.li,{children:`Distinction from subscriptions: subscriptions = recurring payments. Booking packages = one-time purchase.`}),`\n`,_jsxs(_components.li,{children:[`Booking page tab: `,_jsx(_components.strong,{children:`Packages \u0026 vouchers`}),` (not “Booking Packages”). Admin menu remains `,_jsx(_components.strong,{children:`Booking bundles`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Groups: `,_jsx(_components.strong,{children:`Group`}),` field on the package form. Own booking bundle groups, not the same as service groups. Ungrouped on the booking page: `,_jsx(_components.strong,{children:`Other`}),`.`]}),`\n`]}),`\n`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Booking Packages \u0026 Codes","sidebarTitle":"Booking Packages","description":"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.","public":true,"href":"/en/booking-codes"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How does the concept work?","slug":"how-does-the-concept-work","depth":2,"children":[]},{"title":"When do I use this?","slug":"when-do-i-use-this","depth":2,"children":[]},{"title":"Relationship to other features","slug":"relationship-to-other-features","depth":2,"children":[]},{"title":"Settings \u0026 options","slug":"settings-\u0026-options","depth":2,"children":[]},{"title":"Create a booking package","slug":"create-a-booking-package","depth":2,"children":[]},{"title":"Create a booking code manually","slug":"create-a-booking-code-manually","depth":2,"children":[]},{"title":"Configure shipping mode","slug":"configure-shipping-mode","depth":2,"children":[]},{"title":"Delivery address and business address","slug":"delivery-address-and-business-address","depth":2,"children":[]},{"title":"Practical examples","slug":"practical-examples","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"anny-85c98540","siteName":"anny","title":"Booking Packages \u0026 Codes - anny","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/booking-codes","matchLevel":1},"en":{"href":"/en/booking-codes","matchLevel":0}}},"lastModified":"2026-10-23T06:54:16.668Z","originalFileLocation":"en/booking-codes.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.\">\u003cmeta data-mint-head name=\"application-name\" content=\"anny\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Booking Packages \u0026amp; Codes - anny\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"anny\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.anny.co/en/booking-codes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://anny-85c98540.mintlify.app/_mintlify/api/og/v2?division=Booking+Packages\u0026amp;title=Booking+Packages+%26+Codes\u0026amp;description=Create+purchasable+packages+and+vouchers+that+customers+redeem+as+an+8-digit+booking+code+on+future+bookings.\u0026amp;theme=624ef238bb99e61a4a526947\u0026amp;signature=43025a1c0441f1e2c62368bbef6ea97ef27dd2852d497b841f3dc4440ec83380\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Booking Packages \u0026amp; Codes - anny\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://anny-85c98540.mintlify.app/_mintlify/api/og/v2?division=Booking+Packages\u0026amp;title=Booking+Packages+%26+Codes\u0026amp;description=Create+purchasable+packages+and+vouchers+that+customers+redeem+as+an+8-digit+booking+code+on+future+bookings.\u0026amp;theme=624ef238bb99e61a4a526947\u0026amp;signature=43025a1c0441f1e2c62368bbef6ea97ef27dd2852d497b841f3dc4440ec83380\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/anny-85c98540/iaQtrTBWt00eE3Px/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"anny\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3c69ef\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.anny.co/en/booking-codes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/booking-codes.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.anny.co/en/booking-codes\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.anny.co/booking-codes\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.anny.co/booking-codes\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.anny.co/#organization\",\"name\":\"anny\",\"url\":\"https://docs.anny.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/anny-85c98540/ijC9sfplIYStpnep/images/anny-lockup-hell-inline.svg?fit=max\u0026auto=format\u0026n=ijC9sfplIYStpnep\u0026q=85\u0026s=7d8ad75aba0be5dcd6f5dacf0edc35b1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.anny.co#website\",\"name\":\"anny\",\"url\":\"https://docs.anny.co\",\"publisher\":{\"@id\":\"https://docs.anny.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.anny.co/en/booking-codes#webpage\",\"url\":\"https://docs.anny.co/en/booking-codes\",\"name\":\"Booking Packages \u0026 Codes\",\"description\":\"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.\",\"dateModified\":\"2026-10-23T06:54:16.668Z\",\"isPartOf\":{\"@id\":\"https://docs.anny.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.anny.co/en/booking-codes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.anny.co/en/booking-codes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Subscriptions, Packages \u0026 Vouchers\",\"item\":\"https://docs.anny.co/en/booking-quotas\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Booking Packages \u0026 Codes\",\"item\":\"https://docs.anny.co/en/booking-codes\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.anny.co/en/booking-codes#article\",\"headline\":\"Booking Packages \u0026 Codes\",\"name\":\"Booking Packages \u0026 Codes\",\"description\":\"Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.\",\"url\":\"https://docs.anny.co/en/booking-codes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.anny.co/en/booking-codes#webpage\"},\"dateModified\":\"2026-10-23T06:54:16.668Z\",\"publisher\":{\"@id\":\"https://docs.anny.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.anny.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"anny\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"anny","nav":{"global":null,"languages":[{"language":"de","default":true,"pages":[{"title":"de","href":"/booking-codes"}]},{"language":"en","tabs":[{"tab":"Admin","groups":[{"group":"Getting Started","public":true,"pages":[{"title":"Welcome to anny","sidebarTitle":"Welcome","href":"/en/welcome"},{"title":"Getting Started with anny","sidebarTitle":"Getting Started","href":"/en/getting-started"},{"group":"Use Cases","public":true,"pages":[{"title":"Getting Started – Desk Sharing","sidebarTitle":"Desk Sharing","href":"/en/getting-started-desk-sharing"},{"title":"Getting Started – Universities","sidebarTitle":"Universities","href":"/en/getting-started-universities"},{"title":"Getting Started – Coworking","sidebarTitle":"Coworking","href":"/en/getting-started-coworking"},{"title":"Getting Started – Room Booking","sidebarTitle":"Room Booking","href":"/en/getting-started-room-booking"},{"title":"Getting Started – Courses","sidebarTitle":"Courses","href":"/en/getting-started-courses"},{"title":"Getting Started – Events","sidebarTitle":"Events","href":"/en/getting-started-events"},{"title":"Getting Started – Appointment Scheduling","sidebarTitle":"Appointment Scheduling","href":"/en/getting-started-appointments"},{"title":"Getting Started – Dive Schools","sidebarTitle":"Dive Schools","href":"/en/getting-started-dive-schools"},{"title":"Getting Started – Sailing Schools","sidebarTitle":"Sailing Schools","href":"/en/getting-started-sailing-schools"},{"title":"Getting Started - Visitor Registration","sidebarTitle":"Visitor Registration","href":"/en/visitor-management"},{"title":"Getting Started - Parking Booking","sidebarTitle":"Parking Booking","href":"/en/getting-started-parking"},{"title":"Getting Started - Fleet Management","sidebarTitle":"Fleet Management","href":"/en/getting-started-fleet"},{"title":"Getting Started - Equipment Rental","sidebarTitle":"Equipment Rental","href":"/en/getting-started-equipment-rental"},{"title":"Getting Started - Waiting Area","sidebarTitle":"Waiting Area","href":"/en/getting-started-waiting-area"},{"title":"Getting Started - Memberships","sidebarTitle":"Memberships","href":"/en/getting-started-memberships"}]}]},{"group":"Your Organization","public":true,"pages":[{"group":"Account Settings","public":true,"pages":[{"title":"Account Settings","sidebarTitle":"Account settings","href":"/en/account-settings"},{"title":"Introduction to the Admin Area","sidebarTitle":"Admin Area Introduction","href":"/en/admin-area-intro"},{"title":"Data Privacy \u0026 Deletion Periods","sidebarTitle":"Data Privacy \u0026 Deletion Periods","href":"/en/data-privacy"},{"title":"Master organizations","sidebarTitle":"Master organizations","href":"/en/master-organizations"}]},{"group":"Your anny Contract","public":true,"pages":[{"title":"Manage your anny plan","sidebarTitle":"Manage anny plan","href":"/en/anny-plan"}]},{"group":"Team \u0026 Permissions","public":true,"pages":[{"title":"Manage Admin Users and Roles","sidebarTitle":"Roles \u0026 Permissions","href":"/en/roles-and-permissions"},{"title":"Set admin notifications","sidebarTitle":"Admin notifications","href":"/en/admin-notifications"}]},{"group":"Security \u0026 Login","public":true,"pages":[{"title":"Single Sign-On (SSO) Overview","sidebarTitle":"SSO Overview","href":"/en/sso-overview"},{"title":"Microsoft SAML SSO","sidebarTitle":"Microsoft SAML SSO","href":"/en/microsoft-saml-sso"},{"title":"Google Workspace SSO","sidebarTitle":"Google Workspace SSO","href":"/en/google-workspace-sso"},{"title":"Generic SAML 2.0 SSO","sidebarTitle":"Generic SAML 2.0","href":"/en/generic-saml-sso"},{"title":"OAuth2 SSO","sidebarTitle":"OAuth2 SSO","href":"/en/oauth2-sso"},{"title":"OpenID Connect (OIDC) SSO","sidebarTitle":"OpenID Connect SSO","href":"/en/openid-connect-sso"},{"title":"SCIM (User Provisioning)","sidebarTitle":"SCIM (User Provisioning)","href":"/en/scim-user-provisioning"},{"title":"Federated SAML","sidebarTitle":"Federated SAML","href":"/en/federated-saml"},{"title":"Attribute Mapping","sidebarTitle":"Attribute Mapping","href":"/en/attribute-mapping"},{"title":"Two-Factor Authentication","sidebarTitle":"Two-Factor Authentication","href":"/en/two-factor-authentication"},{"title":"SSO Key Rollover","sidebarTitle":"SSO Key Rollover","href":"/en/sso-key-rollover"}]},{"group":"Booking Page \u0026 Embedding","public":true,"pages":[{"title":"Set Up Your Booking Page Layout","sidebarTitle":"Booking Page Layout","href":"/en/booking-page-layout"},{"title":"Embed the anny Booking Page as a Widget on Your Website","sidebarTitle":"Widget embed","href":"/en/embed-booking-page"},{"title":"Widget Embedding - Advanced","sidebarTitle":"Advanced embedding","href":"/en/widget-embed-advanced"},{"title":"Widget Agent Skill","sidebarTitle":"Widget Agent Skill","href":"/en/widget-agent-skill"},{"title":"Track Bookings with UTM Links","sidebarTitle":"UTM Tracking","href":"/en/utm-tracking"},{"title":"Embed the anny Booking Page in Wix","sidebarTitle":"Wix","href":"/en/embed-wix"},{"title":"Embed the anny Booking Page in Google Sites","sidebarTitle":"Google Sites","href":"/en/embed-google-sites"},{"title":"Embed the anny booking page in WordPress","sidebarTitle":"WordPress","href":"/en/embed-wordpress"}]}]},{"group":"Resources \u0026 Availability","public":true,"pages":[{"group":"General Information","public":true,"pages":[{"title":"Configure a Resource","sidebarTitle":"Configure resources","href":"/en/configure-resources"},{"title":"Groups","sidebarTitle":"Groups","href":"/en/groups-and-categories"},{"title":"Resource status","sidebarTitle":"Resource status","href":"/en/resource-status"}]},{"group":"Schedules","public":true,"pages":[{"title":"Schedules","sidebarTitle":"Schedules","href":"/en/schedules"},{"title":"Available Slots","sidebarTitle":"Available Slots","href":"/en/available-slots"}]},{"group":"Availability Logic","public":true,"pages":[{"title":"Waitlist","sidebarTitle":"Waitlist","href":"/en/waitlist"},{"title":"Exclusive Time Slots","sidebarTitle":"Exclusive Time Slots","href":"/en/exclusive-time-slots"},{"title":"Create and Manage Global Blockers","sidebarTitle":"Global Blockers","href":"/en/global-blockers"},{"title":"Dynamic Capacity Planning with On-Demand Resources","sidebarTitle":"Dynamic Capacity Planning","href":"/en/dynamic-capacity-planning"}]},{"title":"Create Interactive 3D Floor Plans in anny","sidebarTitle":"Maps \u0026 Interactive Floor Plans","href":"/en/maps-and-floor-plans"}]},{"group":"Booking Options \u0026 Services","public":true,"pages":[{"group":"Options \u0026 Services","public":true,"pages":[{"title":"Booking Option","sidebarTitle":"Booking Option","href":"/en/configure-booking-option"},{"title":"Service-First Flow","sidebarTitle":"Service-First Flow","href":"/en/service-first-flow"},{"title":"Combine multiple services","sidebarTitle":"Booking sequences","href":"/en/booking-sequences"},{"title":"Dynamic Pricing","sidebarTitle":"Dynamic Pricing","href":"/en/dynamic-pricing"}]},{"group":"Booking Types","public":true,"pages":[{"title":"About Recurring Bookings","sidebarTitle":"Recurring Bookings","href":"/en/recurring-bookings"},{"title":"Booking Series","sidebarTitle":"Booking Series","href":"/en/booking-series"}]},{"group":"Extensions","public":true,"pages":[{"title":"Smart Availability","sidebarTitle":"Smart Availability","href":"/en/smart-availability"},{"title":"Products \u0026 additional options","sidebarTitle":"Products \u0026 additional options","href":"/en/add-ons"},{"title":"Custom Forms","sidebarTitle":"Custom Forms","href":"/en/custom-forms"},{"title":"Legal Documents","sidebarTitle":"Legal Documents","href":"/en/legal-documents"},{"title":"Participant Management","sidebarTitle":"Participant Management","href":"/en/participant-management"},{"title":"Personalization","sidebarTitle":"Personalization","href":"/en/personalization"},{"title":"Certificates","sidebarTitle":"Certificates","href":"/en/certificates"},{"title":"Minimum and Maximum Selection","sidebarTitle":"Min \u0026 Max Selection","href":"/en/min-max-selection"},{"title":"Service Schedules","sidebarTitle":"Service Schedules","href":"/en/service-schedules"}]},{"group":"Changes \u0026 Cancellation","public":true,"pages":[{"title":"Modify Bookings","sidebarTitle":"Modify Bookings","href":"/en/modify-bookings"},{"title":"Cancellation Policy","sidebarTitle":"Cancellation Policy","href":"/en/cancellation-policy"}]}]},{"group":"Booking Management","public":true,"pages":[{"title":"Plan and manage bookings in the calendar","sidebarTitle":"Calendar","href":"/en/calendar"},{"title":"Booking Rules","sidebarTitle":"Booking Rules","href":"/en/booking-rules"},{"title":"Tags","sidebarTitle":"Tags","href":"/en/tags"},{"title":"Inquiries \u0026 inquiry forms","sidebarTitle":"Inquiries","href":"/en/inquiries"},{"group":"Communication","public":true,"pages":[{"title":"Activity Log","sidebarTitle":"Activity Log","href":"/en/activity-log"},{"title":"Notifications and appointment reminders","sidebarTitle":"Notifications","href":"/en/configure-notifications"},{"title":"Mobile notifications","sidebarTitle":"Mobile notifications","href":"/en/mobile-notifications"},{"title":"Broadcasting","sidebarTitle":"Broadcasting","href":"/en/broadcasting"}]}]},{"group":"CRM","public":true,"pages":[{"title":"Manage Customers","sidebarTitle":"Customers","href":"/en/manage-customers"},{"title":"Manage Companies","sidebarTitle":"Companies","href":"/en/manage-companies"},{"title":"Member Management (Communities)","sidebarTitle":"Member Management (Communities)","href":"/en/communities"}]},{"group":"Payment Processing","public":true,"pages":[{"group":"Online Payment","public":true,"pages":[{"title":"Set Up Stripe Connect","sidebarTitle":"Stripe Connect","href":"/en/stripe-connect-setup"},{"title":"Online Payments \u0026 Fees","sidebarTitle":"Online Payments \u0026 Fees","href":"/en/online-payments"},{"title":"SEPA direct debit for subscriptions","sidebarTitle":"SEPA direct debit","href":"/en/sepa-direct-debit"},{"title":"Manage Your Stripe Connect Profile","sidebarTitle":"Stripe Support","href":"/en/stripe-support"}]},{"group":"POS","public":true,"pages":[{"title":"Set Up Card Readers \u0026 Tap to Pay in the POS App","sidebarTitle":"POS App Setup","href":"/en/pos-app-setup"},{"title":"Manage Bookings and Payments in the POS App","sidebarTitle":"POS App Bookings \u0026 Payments","href":"/en/pos-app-bookings-and-payments"}]}]},{"group":"Invoicing","public":true,"pages":[{"group":"Invoices","public":true,"pages":[{"title":"Invoicing","sidebarTitle":"Invoicing","href":"/en/invoicing"},{"title":"Pay by Invoice (Pay-Later)","sidebarTitle":"Pay by Invoice","href":"/en/pay-later"},{"title":"Edit and Finalize Invoice Drafts","sidebarTitle":"Invoice draft","href":"/en/invoice-drafts"},{"title":"Correct or Cancel an Invoice","sidebarTitle":"Correct invoice","href":"/en/invoice-corrections"},{"title":"Customer Balances \u0026 Collective Invoices","sidebarTitle":"Customer balances","href":"/en/customer-balances-and-collective-invoices"}]},{"group":"Accounting","public":true,"pages":[{"title":"Accounting with anny","sidebarTitle":"Accounting","href":"/en/accounting"},{"title":"Forward invoices to DATEV","sidebarTitle":"Invoice forwarding","href":"/en/datev-import"}]}]},{"group":"Subscriptions, Packages \u0026 Vouchers","public":true,"pages":[{"title":"Booking Quotas","sidebarTitle":"Booking Quotas","href":"/en/booking-quotas"},{"title":"Subscriptions \u0026 Memberships","sidebarTitle":"Subscriptions \u0026 Memberships","description":"Offer recurring or one-time subscriptions, automate billing, and grant subscribers special conditions via communities.","href":"/en/subscriptions-and-memberships"},{"group":"Booking Packages","public":true,"pages":[{"title":"Booking Packages \u0026 Codes","sidebarTitle":"Booking Packages","href":"/en/booking-codes"},{"title":"Value Vouchers","sidebarTitle":"Value Vouchers","description":"Offer flexible monetary vouchers that customers can redeem as a means of payment on any booking.","href":"/en/value-vouchers"},{"title":"Vouchers \u0026 VAT","sidebarTitle":"Vouchers \u0026 VAT","href":"/en/voucher-taxation"}]},{"title":"Discount Codes","sidebarTitle":"Discount Codes","href":"/en/discount-codes"}]},{"group":"Check-In","public":true,"pages":[{"title":"Check-In \u0026 Check-Out","sidebarTitle":"General Information","href":"/en/check-in-overview"},{"title":"Presence in booking details","sidebarTitle":"Booking details","href":"/en/check-in-booking-details"},{"group":"Check-In Terminal","public":true,"pages":[{"title":"Set Up a Check-In Terminal","sidebarTitle":"Setup","href":"/en/check-in-setup"},{"title":"Getting Started – University Library (Check-In)","sidebarTitle":"University Library","href":"/en/check-in-university"},{"title":"Getting Started – Ticketing \u0026 Events (Check-In)","sidebarTitle":"Ticketing \u0026 Events","href":"/en/check-in-ticketing-events"}]},{"group":"Customer display","public":true,"hidden":true,"pages":[{"title":"Customer display","sidebarTitle":"Customer display","href":"/en/customer-display"}]},{"group":"Quick Access","public":true,"pages":[{"title":"Queuing System","sidebarTitle":"Queues","href":"/en/queuing-system"}]}]},{"group":"Analytics \u0026 Data","public":true,"pages":[{"title":"Dashboards","sidebarTitle":"Dashboards","href":"/en/dashboards"},{"title":"(Automatic) Exports","sidebarTitle":"Exports","href":"/en/automatic-exports"}]},{"group":"Displays \u0026 Terminals","public":true,"pages":[{"group":"Display App","public":true,"pages":[{"title":"anny Display App","sidebarTitle":"Display App","href":"/en/display-app"},{"title":"Connect tapirx with anny","sidebarTitle":"tapirx","href":"/en/tapirx-setup"},{"title":"Connect Joan with anny","sidebarTitle":"Joan","href":"/en/joan-setup"},{"title":"Install the anny Display App on the Philips 10BDL4551T","sidebarTitle":"Philips","href":"/en/philips-setup"}]},{"title":"URL Display Boards","sidebarTitle":"URL Display Boards","href":"/en/url-display-boards"}]},{"group":"Integrations","public":true,"pages":[{"group":"Calendar Sync","public":true,"pages":[{"title":"Calendar integrations","sidebarTitle":"Calendar integrations","href":"/en/calendar-integrations"},{"group":"Personal Calendars","public":true,"pages":[{"title":"Connect Outlook Calendar with anny","sidebarTitle":"Outlook","href":"/en/outlook"},{"title":"Connect Google Calendar with anny","sidebarTitle":"Google","href":"/en/google"},{"title":"Connect ICS Calendar with anny","sidebarTitle":"ICS Calendar","href":"/en/ics-calendar"}]},{"group":"Workspace","public":true,"pages":[{"title":"Connect Microsoft 365 with anny","sidebarTitle":"Microsoft 365","href":"/en/m365-workspace"},{"title":"Connect Google Workspace with anny","sidebarTitle":"Google Workspace","href":"/en/google-workspace"}]}]},{"group":"Microsoft Apps","public":true,"pages":[{"title":"Connect the Outlook Add-In with anny","sidebarTitle":"Outlook Add-In","href":"/en/outlook-add-in"},{"title":"anny MS Teams App","sidebarTitle":"MS Teams App","href":"/en/ms-teams-app"}]},{"group":"Video Meetings","public":true,"pages":[{"title":"anny Video Calls","sidebarTitle":"anny Video Calls","href":"/en/anny-video-calls"},{"title":"Connect Zoom with anny","sidebarTitle":"Zoom","href":"/en/zoom"},{"title":"Connect Microsoft Teams with anny","sidebarTitle":"Microsoft Teams","href":"/en/ms-teams"},{"title":"Connect Purpleview with anny","sidebarTitle":"Purpleview","href":"/en/purpleview"}]},{"group":"HR","public":true,"pages":[{"title":"Connect Personio with anny","sidebarTitle":"Personio","href":"/en/personio"},{"title":"Connect HRworks with anny","sidebarTitle":"HRworks","href":"/en/hrworks"}]},{"group":"CRM","public":true,"pages":[{"title":"Connect HubSpot with anny","sidebarTitle":"HubSpot","href":"/en/hubspot"}]},{"group":"Marketing \u0026 Tracking","public":true,"pages":[{"title":"Connect Google Analytics \u0026 Google Ads with anny","sidebarTitle":"Google Analytics \u0026 Google Ads","href":"/en/google-analytics"},{"title":"Connect LinkedIn Ads with anny","sidebarTitle":"LinkedIn Ads","href":"/en/linkedin-ads-tracking"},{"title":"Connect TikTok Ads with anny","sidebarTitle":"TikTok Ads","href":"/en/tiktok-ads-tracking"},{"title":"Connect Meta Ads with anny","sidebarTitle":"Meta Ads","href":"/en/meta-ads-tracking"}]},{"group":"Access \u0026 Smart Locks","public":true,"pages":[{"title":"Smart Lock Integrations","sidebarTitle":"Smart Locks Overview","href":"/en/smart-locks-overview"},{"title":"Connect KleverKey with anny","sidebarTitle":"KleverKey","href":"/en/klever-key"},{"title":"Connect SALTO KS with anny","sidebarTitle":"SALTO KS","href":"/en/salto-ks"},{"title":"Connect Nuki with anny","sidebarTitle":"Nuki","href":"/en/nuki"},{"group":"Dormakaba","public":true,"pages":[{"title":"Connect dormakaba Exos 9300 with anny","sidebarTitle":"dormakaba Exos 9300","href":"/en/dormakaba-exos-9300"},{"title":"Connect dormakaba resivo with anny","sidebarTitle":"Resivo","href":"/en/dormakaba-resivo"},{"title":"Connect dormakaba exivo with anny","sidebarTitle":"dormakaba exivo","href":"/en/dormakaba-exivo"}]},{"title":"Connect UniFi with anny","sidebarTitle":"UniFi","href":"/en/unifi"},{"title":"Connect Keycafe with anny","sidebarTitle":"Keycafe","href":"/en/keycafe"},{"title":"Connect EVVA AirKey with anny","sidebarTitle":"EVVA AirKey","href":"/en/evva-airkey"},{"title":"Connect Tapkey with anny","sidebarTitle":"Tapkey","href":"/en/tapkey"},{"title":"Connect Glutz eAccess with anny","sidebarTitle":"Glutz eAccess","href":"/en/glutz-eaccess"},{"title":"Connect Custom Remote Open with anny","sidebarTitle":"Custom Remote Open","href":"/en/custom-remote-open"},{"title":"Connect Comydo with anny","sidebarTitle":"Comydo","href":"/en/comydo"},{"title":"Connect Arivo with anny","sidebarTitle":"Arivo","href":"/en/arivo"}]},{"group":"Partner \u0026 Booking Channels","public":true,"pages":[{"title":"Connect Urban Sports Club with anny","sidebarTitle":"Urban Sports Club","href":"/en/urban-sports-club"},{"title":"Connect Treatwell with anny","sidebarTitle":"Treatwell","href":"/en/treatwell"},{"title":"Connect ClassPass with anny","sidebarTitle":"ClassPass","href":"/en/class-pass"}]},{"group":"Identity \u0026 Compliance","public":true,"pages":[{"title":"Set Up Microsoft Enterprise SSO on iOS","sidebarTitle":"Enterprise SSO (iOS)","icon":"shield-check","href":"/en/enterprise-sso-ios"},{"title":"Connect Regpit with anny","sidebarTitle":"Regpit","href":"/en/regpit-integration"}]},{"group":"Automation","public":true,"pages":[{"title":"Connect Make.com with anny","sidebarTitle":"make.com","href":"/en/make-com"},{"title":"Connect n8n with anny","sidebarTitle":"n8n","href":"/en/n8n"}]},{"group":"IoT","public":true,"pages":[{"title":"Connect Shelly with anny","sidebarTitle":"Shelly","href":"/en/shelly"}]},{"group":"Accounting","public":true,"pages":[{"title":"Connect DATEV with anny","sidebarTitle":"DATEV","href":"/en/datev-integration"},{"title":"DATEV accounts and preparation with your tax advisor","sidebarTitle":"Accounts \u0026 tax advisor","icon":"calculator","href":"/en/datev-accounts-and-tax-advisor"}]}]},{"group":"Reference","public":true,"pages":[{"title":"FAQ","sidebarTitle":"FAQ","href":"/en/faq"},{"title":"anny Glossary","sidebarTitle":"Glossary","href":"/en/anny-glossary"},{"title":"Support Policy","sidebarTitle":"Support Policy","href":"/en/support-policy"},{"title":"Accessibility at anny","sidebarTitle":"Accessibility","href":"/en/accessibility"},{"title":"GoBD at anny","sidebarTitle":"GoBD","icon":{"style":"regular","name":"scale-balanced","library":"fontawesome"},"href":"/en/gobd"},{"title":"Privacy Policy","sidebarTitle":"Privacy Policy","href":"/en/privacy-policy"}]},{"group":"Testzentren","public":true,"icon":"vial","hidden":true,"pages":[{"title":"Evaluating booking data from anny","sidebarTitle":"Booking data","href":"/en/test-center-booking-data"}]},{"group":"Announcements","public":true,"icon":"bullhorn","hidden":true,"pages":[{"title":"Admin 3.0: What changes","sidebarTitle":"Admin 3.0","href":"/en/admin-3-0"},{"title":"New email design from 8 September 2026","sidebarTitle":"New email design","href":"/en/email-design-september-2026"}]},{"group":"Technical notes","public":true,"icon":"wrench","hidden":true,"pages":[{"title":"Limit Microsoft 365 calendar access to specific mailboxes","sidebarTitle":"Limit M365 calendar access","href":"/en/m365-resource-calendar-scope"}]}]},{"tab":"End Users","pages":[{"title":"End Users","href":"/en/booking-page-overview"}]},{"tab":"anny Apps","pages":[{"title":"anny Apps","href":"/en/anny-apps-overview"}]},{"tab":"anny AI","pages":[{"title":"anny AI","href":"/en/anny-agent"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/2026"}]}]}]},"basePath":"","title":"Booking Packages \u0026 Codes - anny","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}