Products#
A product is anything sold via pretix: tickets, gift cards, conference t-shirts and so on. pretix offers you almost unlimited possibilities for configuring and structuring products. This article guides you through the basic process of creating a product and explains several practical applications for some of the more advanced features of pretix.
Prerequisites#
Products are configured on the event level, so you have to create an event first.
General usage#
This section guides you through the basic process of product creation. This involves first creating categories, then the products themselves, and finally quotas. You cannot create add-on products or products for cross-selling without choosing a category for them. You cannot create a quota without adding at least one product to it. Thus, this guide will explain those steps in that order.
Creating and editing categories#
Categories do several things.
They help you group products sensibly, both in the backend and in your shop.
Your shop page will display products grouped by categories which can help customers find the item they are looking for more easily.
Sorting products into categories can help you keep track of them in the backend.
Categories also separate normal products, which can be purchased directly, from additional products, which are only offered as add-ons to normal products. If you want to sell not only admission tickets, but also extras such as merchandise, you have to create a category for add-on products. You also need an extra category if you are planning to use the cross-selling feature.
If you only sell a limited number of different products and you are not using the add-ons or cross-selling feature, then you do not need to edit or create any categories.
In order to edit or create categories, navigate to navigation pathYour event then Products then Categories. This page lists all previously created product categories.
Click the Create a new category button and give the new category a name. Choose the category type depending on the type of products in this category: normal, add-on, cross-selling, or normal + cross-selling.
Normal products are standalone products that can be purchased directly. Add-on products are products that cannot be purchased directly, but only as add-ons to other products during checkout. The types and numbers of products in the cart decides what add-on products the customer can select.
Cross-selling products are not offered in the shop, but during checkout. Unlike add-on products, the contents of the cart do not decide what cross-selling products the customer can buy. Finally, products of the "normal + cross-selling" type are offered as both standalone products and in the cross-selling step. The "Cross-selling condition" setting below determines how products in categories of the type "cross-selling" and "normal + cross-selling" are offered in your shop.
Click the Save button at the bottom of the page. This takes you back to the product categories page, which now also lists the newly created category.
You can also edit an already existing category and change its name, description, and type, by clicking its name or the edit button next to it in the list.
Creating and editing products#
If you want to create or edit products, navigate to navigation pathEvent then Products then Products. This page shows the list of all products of this event. Click the Create a new product button. Choose a name, a description, a default price and a sales tax and click the Save button.
You can also edit an already existing product by clicking its name or the edit button next to it in the list.
Creating and editing quotas#
A quota determines how many instances of your product can be sold. Every product has to be part of at least one quota before it becomes available in the shop.
If you want to create or edit quotas, navigate to navigation pathEvent then Products then Quotas. This page shows the list of all quotas for the event as well as the total capacity and how many items are left for each quota.
Click the Create a new quota button. Choose a name and a capacity, check the products to be contained in this quota, and any advanced options, and then click the Save button.
You can also edit an already existing quota by clicking its name or the edit button next to it in the list.
Applications#
This section covers advanced use cases and how to implement them using the options pretix offers for customizing products.
Time slots#
You can use pretix to set up access to a venue with a limited visitor capacity, such as a museum, based on time slots. This guide shows you how to create an event with time slots.
Create a new event. Under "Event type", select "Event series or time slot booking".
For general instructions on how to set up an event series with pretix, refer to our guide on event series.
Creating slots#
In order to create time slots, you have to create a number of "dates" in the event series.
Navigate to navigation pathYour event then
Dates and click the
Create many new dates button.
Enter a pattern for your opening days.
If your venue opens every week from Tuesday to Saturday in January of 2027, enter the following pattern:
"Repeat every 1 week(s), starting at 2027-01-01"
Check the boxes for Tuesday, Wednesday, Thursday, Friday, and Saturday.
Select "Repeat until" and enter 2027-01-31 into the field.
It makes sense to create time slots for a few weeks at a time. Do not create time slots for a full year or an even longer period of time. Doing so would make it too complicated to make changes later.
Under "Times", specify the time slots for each opening day. If your venue opens every day from 10 AM to 6 PM and each time slot corresponds to a full hour, you can click the Add many time slots button. Specify "Start of first slot" as "10:00:00", "End of time slots" as "18:00:00", "Length of slots" as "60" and "Break between slots" as "0". Then, click the Create button. If your time slot pattern is more irregular or complex, use the Add a single time slot button and edit each line individually.
If you have different opening times on different days of the week, you will need to go through the creation process once for each individual variation of opening hours.
Under "Quotas", create one or multiple quotas.
These quotas determine how many people can book a ticket for each time slot.
If you want each time slot to be attended by a maximum of 50 people, set the "Total capacity" to 50.
Once you are happy with your choices, click the Save button.
Note
If you create a large number of time slots at once, it may take a moment until all of them can be displayed. If you encounter an error message during this stage, wait a few minutes for the server to finish the task. Do not try again immediately. In most cases, the dates will be created successfully even if an error message is displayed.
Enabling the week calendar view#
For an event series or time slot booking, it makes sense to enable the "Week calendar" overview style for the shop page. In order to do so, navigate to navigation pathYour Event then Settings then General. Open the Display tab and set "Default overview style" to "Week calendar":
Your ticket shop will now display a weekly overview over all time slots and their availability.
Check-in#
If you are selling tickets for certain time slots, then you also want customers to be admitted to the event only if their ticket matches the current time slot. This section explains how to set this up using custom check-in rules. Navigate to navigation pathYour event then Check-in then Check-in lists and click the Create a new check-in list button.
Specify a name, but do not choose a specific date. This check-in list will apply to all dates. Open the Advanced tab.
Under "Custom check-in rule", click the
Add condition button and select "All of the conditions below (AND)" from the dropdown menu.
Click
Add condition again and select "Current date and time", then "is after", then "Event start".
You can leave the "Tolerance (minutes)" field empty.
If you want attendees to be able get in, for example, 10 minutes before the event starts, specify a "Tolerance (minutes)" of 10.
Click
Add condition again and select "Current date and time", then "is before", then "Event end".
With these two restrictions, customers can only access your event during the time slot for which they bought a ticket. Once you are happy with your choices, click the Save button.
When using pretixSCAN with this setup, the app will ask you to select one of the time slots. The choice does not matter. It is only important that you select the check-in list you just set up. Select any time slot that is part of the event series and then select the check-in list described above.
Season tickets#
Season tickets are often used for public swimming pools, sports clubs, theaters, and other types of venues. This section explains three methods for setting them up in pretix. These methods can be used for any ticket that grants access to all events during a certain time period. It does not matter whether that time period spans several years or just a single day.
The first method, option A, uses memberships. Option B uses a separate event shop that only sells season tickets. Option C uses a single season ticket and advanced check-in rules.
With Option A, a customer who purchases a season ticket creates an account with their email address and a password. That account stores a membership, which acts as the season ticket. Whenever the customer wants to use the season ticket for an event, they need to purchase a ticket for that event. Their membership allows them to get that ticket for free. This method allows you to control the total number of people that can be admitted to an event or time slot using quotas.
With Option B, you create a separate event or date for the entire season and sell season tickets in that shop. Direct customers who are interested in season tickets to that event shop or date. a customer who purchases a season ticket receives a single ticket with a single ticket secret that they can use an unlimited number of times. You then use the expert mode in pretixSCAN to check in attendees for multiple events at the same time: your regular current event and the entire season.
With Option C, you offer a season ticket in the same shop as your regular tickets. Just like with option B, a customer who purchases a season ticket receives a single ticket with a single ticket secret that they can use an unlimited number of times. You then set up advanced check-in rules to ensure that regular ticket holders can only enter at specified times.
Option A: Memberships and multiple tickets#
Option A requires customers to be identified with a customer account. Thus, you first need to enable the customer accounts feature in your organizer settings in the "Customer accounts" tab. See also: Customer accounts
Once you have done that, navigate to navigation pathYour organizer then Customer accounts then Membership types. Click the Create a new membership type button.
Give the new membership type a distinct and informative name. If you want the membership to allow purchase of tickets for multiple different people, check the box next to "Membership is transferable". If you want the membership to allow purchases for multiple different events or dates with the same start time, check the box next to "Parallel usage is allowed".
If you want to limit the membership to a certain number of purchases, specify that number in the "Maximum usages" field. If you want to allow unlimited purchases within the specified time frame, leave this field empty. Once you are happy with your choices, click the Save button.
Once you have created the membership type, you also need a way to sell these memberships. Create a new event with start and end dates corresponding to the duration of the season for which you want to sell season passes. Navigate to navigation pathYour event then Products and click the Create a new product button. Choose a name such as "Season pass" and a price, and then click the Save and continue with more settings button.
Then, open the Additional settings tab. Under "This product creates a membership of type", select the membership you just created. By default, the box next to "The duration of the membership is the same as the duration of the event or event series date" is checked. If you are selling multiple time-based passes with different periods of validity which do not match the duration of the event, uncheck the box.
In order to prevent customers from confusing their season pass with their ticket, it makes sense to disable ticket downloads. Navigate to navigation pathYour event then Settings and uncheck the box next to "Allow users to download tickets".
Once the season pass shop has been set up, you need to create free products that can only be purchased with the season pass for each applicable event. Clone an existing admission ticket, append a descriptor such as "for season ticket holders" to the name, and set the price to zero. Click the Save and continue with more settings button and then open the Availability tab. Check the box next to "Require a valid membership" and select the membership type you created. If you want to display this product only to customers who already have an active membership in your shop, check the box next to "Hide without a valid membership".
Repeat these steps for every product you want to make available for free for season pass holders. If you want season pass holders to be able to attend multiple of your events for free, repeat these steps for every applicable event.
Option B: Separate season pass shop#
Option B is setting up a separate event or date for selling season tickets.
If you want to offer season passes for multiple events, then the most efficient way to do this is to finish the configuration for at least one of your individual events. Then, you create a new event. Use the event name, short form and description to make it clear that the shop sells season passes for a specific time span. For example, the name could be "Season passes summer 2027". Set the "Event start time" and "Event end time" to the start and end dates of your season.
During step 3 of the event creation process, use the "Copy configuration from" field to copy information from one of your individual events during the season.
In the newly created event, delete all existing products. Then, create a personalized admission product with a name such as "Season pass summer 2027". Add the product to a quota and edit the quota according to your preferences.
If you want to offer season passes for an event series, create a personalized admission product with a name such as "Season pass". Add the product to a quota and edit the quota according to your preferences.
Then, create a date within that event series. Use the date's name and frontpage text to make it clear that customers can purchase season passes by selecting that date. For example, the name could be "Season passes". Set the "Event start time" and "Event end time" to the start and end dates of your season.
You can offer more than one type of season pass. For example, you could offer different price levels.
You can encourage customers to still buy a season pass later in the season by reducing its price. If you want to offer cheaper season passes as the season progresses, you could use a reverse implementation of the early bird tickets based on time with the season pass being replaced by a cheaper version every month. Alternatively, if there are long pauses between the individual events throughout the season, you could start with a high price on the season pass and reduce that price manually a few times between events as the season progresses.
With this method, you need to be prepared to check in attendees to two separate events at the same time. If you are using pretixSCAN, you can use the expert mode to do this. Open pretixSCAN. At the top of the screen, tap the name of the event. Select the individual active event from the list and tap OK. Check the box next to "Expert mode". Select the check-in list for the event and tap OK.
Tap the button. Select the season passes event and tap OK. Select the check-in list and tap OK again. The screen should now list both your individual event and your season passes event along with the start date, short form, check-in list, and buttons for editing and deleting the entry.
At the top of the screen, tap . You should now be able to scan tickets for both events at the same time.
Option C: Season access in a single ticket#
Option C is setting up a single ticket that grants access to an event series for an entire season. This option is easier to use for your customers than option A because it does not require them to set up accounts and book a new ticket on every visit. It also does not require setting up a separate event shop for season tickets like option B does. On the downside, option C requires setting up complex check-in rules.
In order to create a season ticket for this method, navigate to navigation pathYour event then Products and click the Create a new product button. Give the new product a name such as "Season ticket". Enable this product for all dates in your event series.
You have to set up custom check-in rules to allow customers access to all dates with the season pass. Navigate to navigation pathYour event then Check-in then Check-in lists and click the Create a new check-in list button.
Specify a name, but do not choose a specific date. This check-in list will apply to all dates. Open the Advanced tab.
Under "Custom check-in rule", click the Add condition button and select "At least one of the conditions below (OR)" from the dropdown menu. Click the Add condition button again and select "All of the conditions below (AND)" from the dropdown menu. You now have an OR-bracket with an AND-bracket inside it.
Click the Add condition button within the AND-bracket and select "Product", then "is one of", and then all admission tickets other than the season pass. Click the Add condition button within the AND-bracket again and select "Current date and time", then "is after", then "Event start". You can leave the "Tolerance (minutes)" fields empty or specify a tolerance of, for example, "10" to allow entry for attendees 10 minutes before the corresponding time slot begins.
Click the Add condition button within the AND-bracket again and select "Current date and time", then "is before", then "Event end". Click the Add condition button within the AND-bracket a final time and select "Number of previous entries", then "=", then "0".
Then, click the Add condition button that is located within the OR-bracket, but not within the AND-bracket. It should be further down on the page. Hovering your mouse over the brackets highlights AND-brackets in red, OR-brackets in green, and the innermost bracket in purple. Select "Product", then "is one of", and then your season pass product.
You should add another condition to prevent the season pass being used by more than one person. Click the Add condition below your season pass condition. You have several options:
- Select "Current entry status", then "=", and then "absent". This means that the season pass can only be used if it is checked out. The prerequisite for this is that you check season pass users out as they leave the event, which may require additional personnel.
- Select "Number of previous entries since midnight", "=", and "0". This means that the season pass can only be used once per day.
- Select "Minutes since last entry" "≤", and "15". This means that the season pass can only be used once every fifteen minutes.
The logic is depicted in the screenshot above. These rules ensure that regular tickets holders are only admitted to their chosen date and if their ticket has not been used before. They also ensure that season ticket holders are admitted to every date.
Mixed taxation#
The article on taxes has a section explaining how to set up products with mixed taxation using bundles.
Troubleshooting#
A product does not appear in the ticket shop#
If you have created a product and it is not displayed in your ticket shop, perform the following checks:
-
Check if the product's "active" checkbox is enabled.
-
Check if the product's "Available from" or "Available until" settings restrict it to a date range.
-
Check if the product's checkbox "This product will only be shown if a voucher matching the product is redeemed." is enabled. If this is the case, the product will only be shown if the customer redeems a voucher that directly matches to this product. It will not be shown if the voucher only is configured to match a quota that contains the product.
-
Check if the product is in a category that has the "Products in this category are add-on products" checkbox enabled. If this is the case, the product won't show up on the shop front page, but only in the first step of checkout when a product in the cart allows to add add-on products from this category.
-
Check that a quota exists that contains this product. If your product has variations, check that at least one variation is contained in a quota. If your event is an event series, make sure that the product is contained in a quota that is assigned to the series date that you access the shop for.
-
If the sale period has not started yet or is already over, check the "Show items outside presale period" setting of your event.











