diff --git a/docs/assets/screens/check-in/advanced.png b/docs/assets/screens/check-in/advanced.png new file mode 100644 index 000000000..a9590cda9 Binary files /dev/null and b/docs/assets/screens/check-in/advanced.png differ diff --git a/docs/assets/screens/check-in/before.png b/docs/assets/screens/check-in/before.png new file mode 100644 index 000000000..6860644c6 Binary files /dev/null and b/docs/assets/screens/check-in/before.png differ diff --git a/docs/assets/screens/check-in/check-in-lists.png b/docs/assets/screens/check-in/check-in-lists.png new file mode 100644 index 000000000..b448ef55c Binary files /dev/null and b/docs/assets/screens/check-in/check-in-lists.png differ diff --git a/docs/assets/screens/check-in/default.png b/docs/assets/screens/check-in/default.png new file mode 100644 index 000000000..06374e0e0 Binary files /dev/null and b/docs/assets/screens/check-in/default.png differ diff --git a/docs/assets/screens/check-in/fast-lane.png b/docs/assets/screens/check-in/fast-lane.png new file mode 100644 index 000000000..79520d0a7 Binary files /dev/null and b/docs/assets/screens/check-in/fast-lane.png differ diff --git a/docs/assets/screens/check-in/merch-table.png b/docs/assets/screens/check-in/merch-table.png new file mode 100644 index 000000000..53820accf Binary files /dev/null and b/docs/assets/screens/check-in/merch-table.png differ diff --git a/docs/assets/screens/check-in/minimum.png b/docs/assets/screens/check-in/minimum.png new file mode 100644 index 000000000..c0a709b83 Binary files /dev/null and b/docs/assets/screens/check-in/minimum.png differ diff --git a/docs/assets/screens/check-in/multiple-full.png b/docs/assets/screens/check-in/multiple-full.png new file mode 100644 index 000000000..34f7a1548 Binary files /dev/null and b/docs/assets/screens/check-in/multiple-full.png differ diff --git a/docs/assets/screens/check-in/multiple-infobox.png b/docs/assets/screens/check-in/multiple-infobox.png new file mode 100644 index 000000000..3c19ff9d3 Binary files /dev/null and b/docs/assets/screens/check-in/multiple-infobox.png differ diff --git a/docs/assets/screens/check-in/multiple-visualization.png b/docs/assets/screens/check-in/multiple-visualization.png new file mode 100644 index 000000000..f3dfb8c92 Binary files /dev/null and b/docs/assets/screens/check-in/multiple-visualization.png differ diff --git a/docs/assets/screens/check-in/single-day.png b/docs/assets/screens/check-in/single-day.png new file mode 100644 index 000000000..a81b09fac Binary files /dev/null and b/docs/assets/screens/check-in/single-day.png differ diff --git a/docs/assets/screens/check-in/time-span.png b/docs/assets/screens/check-in/time-span.png new file mode 100644 index 000000000..2051953be Binary files /dev/null and b/docs/assets/screens/check-in/time-span.png differ diff --git a/docs/assets/screens/check-in/two-days.png b/docs/assets/screens/check-in/two-days.png new file mode 100644 index 000000000..8d1278dd6 Binary files /dev/null and b/docs/assets/screens/check-in/two-days.png differ diff --git a/docs/assets/screens/check-in/visualize.png b/docs/assets/screens/check-in/visualize.png new file mode 100644 index 000000000..edbd3a64e Binary files /dev/null and b/docs/assets/screens/check-in/visualize.png differ diff --git a/docs/assets/screens/check-in/workshop.png b/docs/assets/screens/check-in/workshop.png new file mode 100644 index 000000000..bedff4993 Binary files /dev/null and b/docs/assets/screens/check-in/workshop.png differ diff --git a/docs/guides/check-in/.nav.yml b/docs/guides/check-in/.nav.yml new file mode 100644 index 000000000..a93cef0a6 --- /dev/null +++ b/docs/guides/check-in/.nav.yml @@ -0,0 +1,5 @@ +title: Check-in + +nav: + - Check-in: index.md + - "*" \ No newline at end of file diff --git a/docs/guides/check-in/check-in-lists.md b/docs/guides/check-in/check-in-lists.md new file mode 100644 index 000000000..d275630d8 --- /dev/null +++ b/docs/guides/check-in/check-in-lists.md @@ -0,0 +1,160 @@ +# Check-in lists + +This article tells you how to create, configure, and use check-in lists. +Check-in lists keep track of who attends your event. +In most cases, you need one check-in list for every separate area with its own entrance at your event. +If there is one venue with multiple entrances, then one shared check-in list for all entrances is enough. +If you have separate entrances for separate products, such as fast lane access or VIP tickets, then you will need one check-in list for every entrance. + +Check-in lists operate independently from one another. +By default, a ticket is valid once on every check-in list that includes it. +If you are hosting subevents with more exclusive attendance, then each of those subevents will need its own check-in list. + +We recommend using the [pretixSCAN](https://pretix.eu/about/en/scan) app running on dedicated devices for your check-in. +It is by far the most convenient method. +You can also do a manual check-in through the backend, or you can print your lists and check people in with a pen and paper. + +## Prerequisites + +Check-in lists are handled on the event level, so you have to create an event first. + +## General usage + +This section explains how to set up and configure check-in lists. + +Creating an event also automatically creates a check-in list named "Default". +This check-in list includes all your products. +If your event only has one area and there are no separate merch tables, no separate sessions, no fast lane access and no VIP tickets, then this list is enough. +You do not need to make any changes to it. + +However, if your event does include any of those things, then you need to configure the default check-in list and create new check-in lists. + +In order to view the "Default" list, make changes to it, or create new lists, navigate to :navpath:Your event → :fa3-check-square-o: Check-in:. +This lands you on the "Check-in lists" page. + +!['Check-in lists' page, including a text explanation and buttons for creating new lists, viewing connected devices, and resetting the check-in. There is a list of check-in lists that only contains the entry 'Default' with buttons for viewing, cloning, simulating, editing, and deleting the entry.](../../assets/screens/check-in/check-in-lists.png "Check-in lists page") + +The following sections guide you through the configuration of check-in lists for straightforward use cases and for more complex applications. +Assume, for example, that you are selling the following types of products: + + - basic access tickets + - fast lane tickets + - merchandise that your staff distributes to customers at a designated merch table + - registrations for exclusive workshops + - gift cards + +The following sections explain how to set up check-in lists to support all of these things. + +### Configuring a check-in list + +In order to configure a check-in list, click the :btn-icon:fa3-wrench:: button next to it. + +If you want attendees who have not yet completed the payment for their order to still be able to check in at your event, check the box next to "Include pending orders". +Checking in an attendee who has not paid their order does not affect the order's payment status. + +The box next to "All products (including newly created ones)" is checked by default. +If all your products are admission products and there are no separate areas with their own entrances at your event, then you do not need to change that. +In any other case, uncheck the box and check the products you want to include on the list under "Limit to products". + +For instance, if you want to implement a use case like the one described under [General usage](#general-usage), check the boxes next to your basic access tickets and leave all other boxes unchecked. +You would then use this list at the main entrance to your event. + +!['Check-in lists' page on the 'General' tab, displaying 'Default' in the name field and checkboxes for including pending orders, all products, or limiting the list to certain products. The standard ticket and discount ticket are checked and everything else is unchecked.](../../assets/screens/check-in/default.png "Edit check-in list default") + +Once you are done, click the :btn:Save: button. + +### Creating a new check-in list + +In order to create a new check-in list, navigate back to :navpath:Your event → :fa3-check-square-o: Check-in:. +Click the :btn-icon:fa3-plus: Create a new check-in list: button. +Enter a name for the new check-in list and check the boxes next to any tickets you want to include on it. + +For instance, if you want to implement a use case like the one described under [General usage](#general-usage), name the check-in list "Fast lane". +Uncheck the box next to "All products (including newly created ones)". +Under "Limit to products", check the boxes next to your fast lane tickets. +You would then use this list at the fast lane entrance at your event. + +!['Check-in list' page on the 'General' tab, displaying 'Fast lane' in the name field and checkboxes for including pending orders, all products, or limiting the list to certain products. The fast lane ticket is checked and everything else is unchecked.](../../assets/screens/check-in/fast-lane.png "Edit check-in list fast lane") + +Click the :btn:Save: button. + +A merchandise table may seem like a very different use case from a check-in, but a check-in list is still useful for keeping track of who has preordered which merch, and who has picked it up already. + +If you want to create a check-in list for the merchandise table, repeat the creation process described above, name it "Merchandise" or something similar, and limit it to the merchandise products. + +!['Check-in list' page on the 'General' tab, displaying 'Merch table' in the name field and checkboxes for including pending orders, all products, or limiting the list to certain products. The sticker product is checked and everything else is unchecked.](../../assets/screens/check-in/merch-table.png "Edit check-in list merch table") + +If your event offers exclusive additional sessions such as workshops, create another check-in list for each of those workshops. +Give it a descriptive name and limit it to the workshop registration products. + +!['Check-in list' page on the 'General' tab, displaying 'Workshop' in the name field and checkboxes for including pending orders, all products, or limiting the list to certain products. The workshop registration product is checked and everything else is unchecked.](../../assets/screens/check-in/workshop.png "Edit check-in list merch table") + +Finally, since gift cards are only relevant for purchases and not for access to your event, you do **not** include gift cards on any of your check-in lists. + +## Applications + +This section explains how you can use check-in lists to manage the check-in at your event. + +### Check-in via pretixSCAN + +The most convenient and powerful method for checking in customers is using the [pretixSCAN](../pretixscan/index.md) app. +Acquire a device with a scanner or camera, install pretixSCAN on it, connect it to your organizer account, and place it at the entrance to your event. + +You can find more information on pretixSCAN and how to use it under [pretixSCAN](../pretixscan/index.md). + +### Manual check-in via backend + +!!! Note + This method is slow and only feasible if you are dealing with a low volume of customers. + We recommend using pretixSCAN instead. + +If you want to perform manual checks using the pretix backend, place a computer at the check-in. +You will need a stable internet connection and access to the pretix backend from that computer. +Take appropriate security measures so that only authorized personnel can use the computer. + +On that computer, open the pretix backend and navigate to :navpath:Your event → :fa3-check-square-o: Check-in → Check-in lists:. +In the list, click the check-in list on which you want to record check-ins. +The next page displays a list with all issued tickets. + +Ask attendees their name, email address, ticket code, or order code. +Use the "Search attendee" function or browse the list to locate the corresponding entry. +Check the box next to that entry and click the :btn-icon:fa3-sign-in: Check-In selected attendees (#): button. +You can select multiple attendees and check them all in at once. + +### Paper check-in + +!!! Note + This method is slow and only feasible if you are dealing with a low volume of customers. + We recommend using pretixSCAN instead. + +If you want to print a check-in list, navigate to :navpath:Your event → :fa3-check-square-o: Check-in → Check-in lists:. +In the list, click the check-in list you want to print. +On the next page, click the :btn-icon:fa3-download: PDF: button. + +Alternatively, navigate to :navpath:Your event → :fa3-shopping-cart: Orders → Export: and click :btn:Check-in list (PDF):. + +Regardless of which path you take, you will land on a page titled "Data export – Check-in List (PDF)". +Under "Check-in list", select the list you want to export. +You can use the settings on this page to filter and sort the file export by certain parameters. +If you want to use the export for manual check-in, then you probably want an alphabetical list of all ticket holders. +Under "Check-in status", select `All attendees`. +"Sort by" one of the attendee name options. + +Under "Include questions", select any questions that are relevant for the check-in. +Once you are happy with your choices, click the :btn-icon:fa3-download: Start export: button. +Your browser will now download a PDF of the list or open it in a new tab. +The list includes the following columns: + + - a column containing a double exclamation mark `‼` for products that require special attention. + This cell is empty for products that do not have the "Requires special attention" setting activated. + - a box for checking off tickets. + This box will be checked for tickets that were already checked in via pretixSCAN or the backend before you exported the list. + - "Paid" contains a check for orders that have been paid. + - "Order" contains the order code. + - "Name" contains the attendee's name. + - "Product / Price" contains the name of the product and the price in parentheses. + - optional columns for questions you chose to include in the export + +Print the exported list, place it at your check-in, and check entries off the list manually as visitors appear. + +If you are looking for a faster method, we recommend using [pretixSCAN](https://pretix.eu/about/en/scan). \ No newline at end of file diff --git a/docs/guides/check-in/custom.md b/docs/guides/check-in/custom.md new file mode 100644 index 000000000..38c5f335b --- /dev/null +++ b/docs/guides/check-in/custom.md @@ -0,0 +1,291 @@ +# Custom check-in rules + +This article explains how to set up custom check-in rules. +You can use custom check-in rules to place restrictions on the validity of tickets based on time, number of previous entries, ticket type, gate, and other conditions. +pretixSCAN will interpret these rules when scanning the ticket and arrive at the correct result automatically. +A custom check-in rule is always specific to one check-in list. + +## Prerequisites + +This article assumes that you have read [check-in lists](check-in-lists.md) and set up one or more basic check-in lists. + +The way the logical operators AND and OR work may run counter to your intuition. +Combinations of these operators may have results that you do not expect. +Thus, a basic understanding of predicate logic can be helpful, but it is not required for using this feature. + +## General usage + +In order to add custom rules to a check-in list, navigate to :navpath:Your event → :fa3-check-square-o: Check-in:. +Click the change button :btn-icon:fa3-wrench:: next to the check-in list you want to edit. + +By default, pretixSCAN will recognize any ticket on the check-in list as valid as long as the ticket has been paid for and the ticket has not been scanned before. +The app will also recognize the ticket as valid if it has been scanned and then scanned for exit, meaning the entry status is `absent`. +The exact behavior depends on your settings on the :btn:General: and :btn:Advanced: tabs on this page. + +!['Check-in lists' page on the 'Advanced' tab, displaying an infobox and a warning box. There are checkboxes for optional settings and an empty field labeled 'Automatically check out everyone at'.](../../assets/screens/check-in/advanced.png "Advanced options for check-in list default") + +If you want to place additional restrictions on a ticket for pretixSCAN to recognize it as valid, set up a custom check-in rule. +In order to do so, open the :btn:Advanced: tab and scroll down to the "Custom check-in rule" subheading. +The :btn-icon:fa3-edit: Edit: tab allows you to add and edit conditions. + +The process of creating a custom check-in rule may involve the following steps: + + - [simple conditions](#adding-a-simple-condition) + - [AND- and OR-brackets](#organizing-conditions-with-and--and-or-brackets) + - [product-specific conditions](#setting-conditions-specific-to-products-or-variations) + - allowing [multiple entries](#allowing-multiple-entries) + - [visualizing rules](#visualizing-rules) + - [date and time tolerances](#date-and-time-tolerances) + +The following sections will guide you through those steps in detail. +If you have already understood the basic operation of the custom check-in rule editor, refer to the [Applications](#applications) section. +That section covers examples for many common use cases. + +### Adding a simple condition + +Click the :btn-icon:fa3-plus-circle: Add condition: button. +A dropdown menu appears, listing types of conditions. + +All conditions **except** `All of the conditions below (AND)` and `At least one of the conditions below (OR)` are simple conditions. +Depending on your use case, you may only need a single one of these simple conditions for your custom check-in rule. +If you need to set up more than one condition, then you need to organize these conditions using [AND- and OR-conditions](custom.md#organizing-conditions-with-and--and-or-brackets). + +Select a condition from the dropdown menu, for instance, `Current day of the week (1 = Monday, 7 = Sunday)`. +The page now displays an additional dropdown menu listing mathematical symbols for "equals", "greater than", "smaller than or equal to" and so on. +Select a symbol, for example, `<` (smaller than). +The page now displays an additional field in which you can enter a number. +Enter a number, for example, `6`. +Click the :btn:Save: button. + +If you set up a condition as described in this example, then pretixSCAN will only recognize a ticket as valid if the current day of the week is less than 6, or in other words, only Monday through Friday. +pretixSCAN will reject tickets scanned on Saturday or Sunday. + +You can remove a simple condition by clicking the :btn-icon:fa3-trash:: delete button. +You can duplicate it by clicking the :btn-icon:fa3-copy:: clone button. + +### Organizing conditions with AND- and OR-brackets + +The most useful types of conditions are `All of the conditions below (AND)` and `At least one of the conditions below (OR)`. +These conditions are special because they allow you to organize conditions into a complex logic for the check-in. +Adding one of these two conditions creates an AND-bracket or an OR-bracket to which you can add more conditions. + +If you select `All of the conditions below (AND)` from the dropdown menu and add conditions to the resulting AND-bracket, then all of those conditions must be fulfilled for pretixSCAN to recognize the ticket as valid. + +If you select `At least one of the conditions below (OR)` and add conditions to the resulting OR-bracket, then at least one of those conditions must be fulfilled for pretixSCAN to recognize the ticket as valid. +If multiple or even all conditions within the OR-bracket are fulfilled, then pretixSCAN will still recognize the ticket as valid. + +!!! Note + The behavior of the OR-bracket may be counter-intuitive. + The condition `At least one of the conditions below (OR)` represents an [inclusive or](https://en.wikipedia.org/wiki/Logical_disjunction). + This is distinct from an [exclusive or](https://en.wikipedia.org/wiki/Exclusive_or), also known as XOR ("either one or the other"). + The custom check-in rule feature does not offer an "exclusive or" condition because its use would be very limited. + +You can create an AND- or an OR-bracket around an existing condition by clicking :btn:OR: or :btn:AND: next to the condition. +When hovering the mouse over nested brackets, the website will highlight AND-brackets in red, OR-brackets in green, and other conditions in purple. + +You can remove an AND- or OR-bracket **without** removing its contents by clicking the :btn-icon:fa3-cut:: "Cut" button next to it. +You can remove it **along with all rules nested within it** by clicking the :btn-icon:fa3-trash:: "Delete" button. +You can duplicate it along with all rules nested within it by clicking the :btn-icon:fa3-copy:: "Duplicate" button. + +### Setting conditions specific to products or variations + +If you set up a custom check-in rule using the condition `Product` or `Product variations`, then you need to cover all products or product variants on the check-in list in that rule. +Your check-in list must either include conditions covering **all** products and variations, or **not** use the conditions `Product` and `Product variations` at all. + +For illustrative purposes, assume you have a check-in list called "Default" containing the products "Standard ticket" and "Discount ticket". +You set up a custom check-in rule with the condition `Product` `is one of` `Standard ticket`. +The page will now display the following infobox: + +> Your rule always filters by product or variation, but the following products or variations are not contained in any of your rule parts so people with these tickets will not get in: +> +> - Discount ticket. +> +> Please double-check if this was intentional. + +If you want the same conditions to apply to all products, add all remaining products to the condition you have already set up. +Click the field that already lists a product and select all products that are on this check-in list from the dropdown menu. + +If you want different conditions to apply to the other products, set up an OR-bracket at the base level. +Add an AND-bracket within that OR-bracket. +Add the following condition within the AND-bracket: `Product` `is one of` and then select all remaining products on the check-in list. +Add another simple condition of your choosing to the end-bracket. + +As soon as the custom check-in rule mentions every product on the check-in list at least once, the infobox will disappear. + +### Allowing multiple entries + +By default, pretixSCAN will only recognize a ticket as valid **once** if it has not been checked out in the meantime. +If you set up custom check-in rules that allow tickets to be used multiple times, then you also need to check the box next to "Allow multiple entries per ticket" further up on the same page. + +!!! Note + The setting "Allow multiple entries per ticket" applies to all admission products on your check-in list. + If you activate this setting, but want to limit entries for some of your tickets, then you need to create rules for every ticket on the list. + +Assume, for example, that you want to allow unlimited entries for your "Season pass" product, but only one entry for every other type of ticket. + +Create an OR-bracket. +Create an AND-bracket within that OR-bracket. +Add a condition within the AND-bracket. +Select `Product`, then `is one of`, and then `Season pass`. + +Create another AND-bracket within the OR-bracket. +Add a condition within the new AND-bracket. +Select `Product`, then `is one of`, and then all products other than the season pass. +Add another condition, select `Number of previous entries`, then `=`, and then enter `0`. + +With this rule in place, attendees who hold a season pass may enter. +Attendees who hold any other ticket may only enter if they have not entered before. + +### Date and time tolerances + +The condition`Current date and time` allows you to set tolerances. +This section explains how those tolerances work. + +A tolerance always extends to the opposite direction of the restriction you set. +The deciding factor is the selection you make in the second dropdown menu: `is before` or `is after`. +Assume, for example, that you select `Current date and time`, then `is after`, then `Event start` and set a tolerance of `10`. +In this case, attendees will be admitted up to ten minutes **before** the event has started. + +Assume, for example, that you select `Current date and time`, then `is before`, then `Event start` and set a tolerance of `10`. +In this case, attendees will be admitted up to ten minutes **after** the event has started. + +If you enter a tolerance of `0`, then pretixSCAN will only recognize tickets as valid in the exact time frame you define. + +### Visualizing rules + +Visualizing rules can help you better understand the logic you set up. +It aids you in comprehending the possible conditional paths a ticket scan can take. + +After setting up your check-in rule, open the :btn-icon:fa3-eye: Visualize: tab. +This tab displays your custom check-in rule as a flowchart. +OR-brackets take the shape of branching paths. +AND-brackets are listed one after the other on the same path. +All paths end in a green :fa3-check-circle: checkmark, representing a successful validation. + +!['Check-in lists' page on the 'Advanced' tab, displaying a visualization of the custom rule. The path starts on the left and branches into two. Both paths contain two boxes and end in green checkmarks. The boxes on the top path read 'Product Season ticket' and 'Number of previous entries < 10'. The boxes on the bottom path read 'Product: Standard ticket, Discount ticket' and 'Number of previous entries = 0'.](../../assets/screens/check-in/visualize.png "Custom check-in rule visualization") + +If you want a full-screen view of the visualization, hover the mouse over the flowchart and click the :fa3-window-maximize: "Maximize" button in the top right corner. + +You cannot make any changes to the visualization itself. +If you want to make any further changes to your rule, click the :btn-icon:fa3-edit: Edit:. + +## Applications + +This section guides you through some useful applications of custom check-in rules. + +### Allowing a specific number of entries per ticket + +This section explains how to set up a custom check-in rule to allow a certain number of entries per ticket. +In order to do so, check the box next to "Allow multiple entries per ticket". + +Create an AND-bracket and add a condition within that bracket. +Select `Product`, then `is one of`, and then select the products in question. +Add another condition, select `Number of previous entries` and then `<`. +Enter the number of total entries you want to allow, for instance, `10`. + +If your check-in list also contains products that the condition above does not include, then the page will now display an information box listing those products. +The logic now only allows entry for one type of product. + +![Custom check-in rule allowing entry if 'Product' 'is one of' 'Season ticket' AND 'Number of previous entries' '<' '9'. There is a blue infobox saying: 'Your rule always filters by product or variation, but the following products or variations are not contained in any of your rule parts so people with these tickets will not get in: Standard ticket, Discount ticket. Please double-check if this was intentional.](../../assets/screens/check-in/multiple-infobox.png "Custom check-in rule for multiple entries with infobox") + +In order to solve this problem, you need to add conditions that include the other tickets. +Click the :btn:OR: button in the top right. +This creates an OR-bracket around the conditions you previously created. + +Click the :btn-icon:fa3-plus-circle: Add condition: button located within the OR-bracket, but **not** within the AND-bracket. +Select `All of the conditions below (AND)` and add another condition directly below. +Select `Product`, then `is one of`, and then select those products that the rule above does not cover. +Add another condition immediately below. +Select `Number of previous entries`, then `=`, and then `0`. + +![Custom check-in rule allowing entry if 'Product' 'is one of' 'Season ticket' AND 'Number of previous entries' '<' '9', or if 'Product' 'is one of' 'Standard ticket' or 'Discount ticket' AND 'Number of previous entries' '=' '0'.](../../assets/screens/check-in/multiple-full.png "Full custom check-in rule for multiple entries") + +With the setup in the screenshot, pretixSCAN will recognize the product "Season ticket" as valid as long as it has been used to enter less than ten times. +This allows up to ten uses of the ticket. +pretixSCAN will recognize the products "Standard ticket" and "Discount ticket" as valid if they have been used 0 times before, so only once in total. + +![Visualization of custom check-in rule with two paths. The first path has 'Product: Season ticket' and 'Number of previous entries < 10'. The second path has 'Product: Standard ticket, discount ticket' and 'Number of previous entries = 0'. Both paths end with green checkmarks.](../../assets/screens/check-in/multiple-visualization.png "Visualization of full custom check-in rule for multiple entries") + +### Allowing unlimited entries on a single day + +This section explains how to set up a custom check-in rule to allow a certain number of entries per ticket. +In order to do so, check the box next to "Allow multiple entries per ticket". + +Create an AND-bracket and add a condition within that bracket. +Select `Product`, then `is one of`, and then select the products in question. +Add an OR-bracket below. +Add a condition within the OR-bracket, select `Number of previous entries`, then `=`, and then `0`. +Add another condition within the OR-bracket, select `Number of previous entries since midnight`, then `≥`, and then `1`. + +![Custom check-in rule allowing entry if 'Product' 'is one of' 'Fast lane ticket' AND 'Number of previous entries' '=' '0', or 'Number of previous entries since midnight' '≥' '1'.](../../assets/screens/check-in/single-day.png "Custom check-in rule for unlimited entries on a single day") + +With the setup in the screenshot, pretixSCAN will recognize a product as valid if it is being used for the first time, or if it has been used previously on the same day. +This allows for unlimited entries on a singular calendar day of the ticket holder's choosing. + +### Allowing entries on a specific number of days + +This section explains how to set up a custom check-in rule to allow entry on any specific number of days. +In order to do so, check the box next to "Allow multiple entries per ticket". + +Create an AND-bracket and add a condition within that bracket. +Select `Product`, then `is one of`, and then select the products in question. +Add an OR-bracket below. + +Add a condition within the OR-bracket, select `Number of days with a previous entry`, then `<`, and select the number of days on which you want to allow entry. +For instance, if you want to allow entry on any two days, select `2`. +Add another condition within the OR-bracket, select `Number of previous entries since midnight`, then `≥`, and then `1`. + +![Custom check-in rule allowing entry if 'Product' 'is one of' 'Standard ticket' or 'Discount ticket' AND 'Number of days with a previous entry' '<' '2', or 'Number of previous entries since midnight' '≥' '1'.](../../assets/screens/check-in/two-days.png "Custom check-in rule for unlimited entries on a specific number of days") + +With this setup, the ticket holder can enter as many times as they like, but only on two days of the event. + +### Setting a minimum time between entries + +This section explains how to set up a custom check-in rule to allow unlimited entries if a certain period of time has passed between entries. +In order to do so, check the box next to "Allow multiple entries per ticket". + +Create an AND-bracket and add a condition within that bracket. +Select `Product`, then `is one of`, and then select the products in question. +Add an OR-bracket below. +Add a condition within the OR-bracket, select `Number of previous entries`, then `=`, and then `0`. +Add another condition within the OR-bracket, select `Minutes since last entry (-1 on first entry)`, and then `>` + +Enter the number of minutes for the minimum period of time that must pass between entries. +For instance, if you want to allow entry only after at least 2 hours have passed, enter `120`. + +![Custom check-in rule allowing entry if 'Product' 'is one of' 'Standard ticket' or 'Discount ticket' AND 'Number of previous entries' '=' '0', or 'Minutes since last entry (-1 on first entry)' '>' '120'.](../../assets/screens/check-in/minimum.png "Custom check-in rule for unlimited entries with a time of at least 120 minutes between them") + +With this setup, the ticket holder can enter as many times as they like, but only if 120 minutes or more have passed since the previous scan. + +### Allow entries for a specific time span + +This section explains how to set up a custom check-in rule to allow entries for a limited period of time after the first entry. +In order to do so, check the box next to "Allow multiple entries per ticket". + +Create an OR-bracket and add a condition within that bracket. +Select `Product`, then `is one of`, and then select the products in question. +Add another condition, select `Minutes since first entry (-1 on first entry)`, and then `≤` + +Enter the number of minutes for which you want to allow entry after the ticket holder has had their ticket validated for the first time. +For instance, if you want to allow entry for 2 hours, enter `120`. + +![Custom check-in rule allowing entry if 'Product' 'is one of' 'Standard ticket' or 'Discount ticket' AND 'Number of previous entries' '=' '0', or 'Minutes since last entry (-1 on first entry)' '≤' '120'.](../../assets/screens/check-in/time-span.png "Custom check-in rule for unlimited entries within a time span of 120 minutes") + +With this setup, the ticket holder can enter as many times as they like for 120 minutes after the first successful scan. + +### Allow unlimited entries only before the actual event + +This section explains how to set up a custom check-in rule to allow unlimited entries **before** the start of the event, but only limited entries during the event itself. +This can be useful if you want attendees to be able to access the venue while the event is being set up. +In order to do so, check the box next to "Allow multiple entries per ticket". + +Create an OR-bracket and add a condition within that bracket. +Select `Current date and time`, then `is before`, then `Event start`, and enter a tolerance of `0`. +Create an AND-bracket below and add a new condition within that bracket. +Select `Current date and time`, then `is after`, then `Event start`, and enter a tolerance of `0`. +Create another condition within the AND-bracket. +Select `Number of previous entries since`, then `Event start`, then `=` and enter a tolerance of `0`. + +![Custom check-in rule allowing entry if 'Current date and time' 'is before' 'Event start' OR 'Current date and time' 'is after' 'Event start' AND 'Number of previous entries since' 'Event start' '=' '0'.](../../assets/screens/check-in/before.png "Custom check-in rule for unlimited entries before the event") + +With this setup, ticket holders will be able to enter however often they want before the start of the event, but as soon as the event starts, they can only enter one more time. \ No newline at end of file diff --git a/docs/guides/check-in/index.md b/docs/guides/check-in/index.md new file mode 100644 index 000000000..20cf42843 --- /dev/null +++ b/docs/guides/check-in/index.md @@ -0,0 +1,10 @@ +# Check-in + +The articles in this section explain how to use the tools that pretix offers you to set up the check-in at your event according to your requirements. + +**Check-in lists** keep track of who attends your event. +You need one check-in list for every entrance with a separate function at your event. +See the article on [check-in lists](check-in-lists.md) to learn more. + +You can use **custom check-in rules** to place restrictions on the validity of tickets based on time, number of previous entries, ticket type, gate, and other conditions. +See the article on [Custom check-in rules](custom.md) to learn more.