-
Notifications
You must be signed in to change notification settings - Fork 3
Products overhaul #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
62 commits
Select commit
Hold shift + click to select a range
67ee072
create directory for products, move products.md there, rename to inde…
mschrumpf e37086f
fix broken links
mschrumpf 3890648
fix broken links
mschrumpf 3c14387
fix more broken links
mschrumpf 166af48
fix more broken links
mschrumpf 65c08c6
add .pages; move "Mixed taxation" to taxes.md, edit and expand
mschrumpf 0b9f674
discounts.md: overhaul chapter on early bird tickets
mschrumpf ea8191e
fix formatting
mschrumpf 5059c54
overhaul section on combination products, add screenshot
mschrumpf 58bfcf3
add explanation of check-in rule logic
mschrumpf b66c5a6
overhaul section on add-ons and bundles
mschrumpf 3c23ea9
overhaul section on add-ons and bundles
mschrumpf 97fa71a
start overhauling section on group discounts
mschrumpf 316efb7
overhaul section on discounts
mschrumpf 9c3dabc
overhaul section on minimum order amount
mschrumpf f035999
create sessions.md; move "workshops at a conference" there; overhaul …
mschrumpf 21d15d8
sessions.md: start overhauling option b
mschrumpf db012ba
sessions.md: overhault option c and intro
mschrumpf 67c48c4
overhaul restricted-audience.md
mschrumpf b02aa8e
index.md: improve section on mixed taxation
mschrumpf 388c996
fix formatting
mschrumpf cb3cbd7
add screenshots for sessions.md
mschrumpf 11d5994
minor corrections
mschrumpf 1de36e9
discounts.md: implement comments
mschrumpf 8892a6b
taxes.md: implement comments
mschrumpf 194f760
sessions.md: implement comments
mschrumpf 565c598
rewrite section on categories; make it clear that categories are opti…
mschrumpf ccf652e
rewrite section on categories; make it clear that categories are opti…
mschrumpf 282c029
overhaul ### Time slots , #### Creating slots, and #### Enabling the …
mschrumpf 9056e99
overhaul section #### Check-in
mschrumpf 81b60f5
overhaul section ### Season tickets and #### Option A: Memberships an…
mschrumpf b88bbe6
overhaul #### Option B: All-access in a single pass
mschrumpf 7e725b1
small corrections
mschrumpf 23d9509
add and update screenshots; improve instructions on creating time slo…
mschrumpf 028f458
add and update screenshots
mschrumpf 7fd9edd
add missing word
mschrumpf 266e149
Apply suggestions from code review
mschrumpf 50a0569
Update docs/guides/products/discounts.md
mschrumpf 242110f
Update docs/guides/products/discounts.md
mschrumpf 93b6c29
discounts.md: Implement comments
mschrumpf 148fa14
index.md: implement comments
mschrumpf d26672f
Explain difference between cross-selling and add-on products
mschrumpf 54e9225
Reverse order in last segment
mschrumpf d731b56
Move ### Group discounts to the front
mschrumpf 126292d
Implement comments
mschrumpf 414ac98
Implement comments
mschrumpf ed4685c
Differentiate ### Season tickets into three options
mschrumpf c0320f1
Improve ### Season tickets
mschrumpf 49273a0
Add condition to prevent abuse of season pass under option C
mschrumpf bd4e37a
index.md: Remove tax warning
mschrumpf a820cb7
Do more work on ### Season tickets
mschrumpf 8766da8
Do more work on ### Season tickets
mschrumpf 9b93d3f
Implement comments
mschrumpf b8ba9f2
Implement comments
mschrumpf 1ee579f
Implement comments
mschrumpf 981fcdd
Rework 'Mixed taxation' according to comments
mschrumpf 5a0cb39
Archive option A, adapt text accordingly
mschrumpf eeaa107
Explain Mixed taxation (tax added on top of price)
mschrumpf 729da49
Implement comment
mschrumpf f04fc8e
Implement comments
mschrumpf d1a891f
remove old products.md
mschrumpf 72f7b02
Fix link to tax warning
mschrumpf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| nav: | ||
| - ... | index*.md | ||
| - ... |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| # Restricted audience | ||
|
|
||
| Not all events are for everyone. | ||
| Sometimes, there is a good reason to restrict access to your event or [parts of your event](sessions.md) only to a specific group of people. | ||
| There are several ways to implement this with pretix. | ||
| This article will guide you through all of them. | ||
|
|
||
| ## Option A: Required voucher codes | ||
|
|
||
| You can use vouchers to make a product (or multiple products) only available to a select group of invited guests. | ||
| Refer to [Vouchers: Exclusive product availability](../vouchers.md#exclusive-product-availability) for detailed instructions. | ||
|
|
||
| ## Option B: Order approvals | ||
|
|
||
| If you do not know individual members of your audience already, but still want to restrict it to a certain group, you can require approval for orders. | ||
| This is useful if you are offering discounts or free products for certain groups such as press or students. | ||
| Requiring approval allows you to check your customers' status as members of that group before confirming the order. | ||
|
|
||
| In order to require approval for a product, navigate to :navpath:Event → :fa3-ticket: Products → Products: and edit your admission products. | ||
| On the :btn:General: tab, scroll to the bottom of the page and check the box next to "Buying this product requires approval". | ||
mschrumpf marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| Customers will be able to place an order for such a product, but cannot proceed to payment without you having approved the order. | ||
mschrumpf marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Orders waiting for approval behave like orders waiting for payment. | ||
| Once a customer orders them, they are reserved in the quota and, if a seating plan exists, in the seating plan. | ||
|
|
||
| !!! Note | ||
| The setting "Buying this product requires approval" affects the whole order. | ||
| If a customer orders several products and one or more of them require approval, then the whole order will require approval. | ||
| If you have to deny approval, then you may also have to split the order. | ||
|
|
||
| In order to review incoming orders, navigate to :navpath:Your event → :fa3-shopping-cart: Orders → All orders:. | ||
| Manually approve or decline each order that contains a product that requires approval. | ||
| Once you have done that, the customer will receive an email notifying them that their order has been approved and they can proceed to payment. | ||
|
|
||
| The main downside of this approach is that your customers will have to interact with the ticket shop twice: once for placing the order, and once for paying. | ||
mschrumpf marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| This downside does not affect entirely free orders because the payment step is not necessary for those. | ||
| The main advantage of this method is that it gives you control over who attends the event for each individual order. | ||
|
|
||
| ## Option C: Registered customers & memberships | ||
|
|
||
| You can restrict your event to a certain group by requiring a membership for purchasing a ticket. | ||
| Refer to the article on [customer accounts](../customer-accounts.md) for instructions on how to set this up. | ||
| You can find more information on granting and requiring memberships under [season tickets](index.md#option-a-memberships-and-multiple-tickets). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| # Sessions | ||
|
|
||
| Your event may be made up of several smaller events ("sessions") with more limited capacities, with attendees being able to pick and choose which of these sessions they want to attend. | ||
| If you are planning a conference with multiple workshops, a celebration with a variety of activities, or a similar event, you may need a way to control access to those sessions. | ||
|
|
||
| pretix offers you two methods to do this. | ||
| You can either use add-on products with fixed time slots, or a plugin with advanced functions for variable time slots. | ||
| This article will guide you through both methods. | ||
|
|
||
| If you have deviating prices for some of the sessions, or each session can only be attended by a limited number of people, you should use [add-on products](sessions.md#option-a-add-on-products-with-fixed-time-slots). | ||
|
|
||
| If you have deviating prices and you also have sessions with varying start and end times that cannot be neatly organized into time slots because of overlap, you should use the [agenda constraints plugin](sessions.md#option-b-add-on-products-with-variable-time-slots). | ||
|
|
||
| If you are not planning sessions that all take place within the scope of one big main event, but a series of events that can be attended individually, refer to our article on [event series](../event-series.md) instead. | ||
|
|
||
| ## Option A: Add-on products with fixed time slots | ||
|
|
||
| If you are offering a large number of sessions, are working with space constraints at your venue, or want to charge extra for at least one of the sessions, then you should use add-on products with fixed time slots. | ||
| This section tells you how to do that. | ||
|
|
||
| First, create at least one basic admission product for your event and a category for add-on products. | ||
| Then, create a new product for your first time slot. | ||
| Add it to the add-on category you just created, select "Product with multiple variations" and set the price to zero. | ||
| Open the "Variations" tab and create one variation for each session taking place within that time slot. | ||
| Repeat these steps for each time slot and session at your event. | ||
|
|
||
| For illustrative purposes, assume you are hosting a conference with workshops that can only be attended by a maximum of 20 people. | ||
| The schedule looks like this: | ||
|
|
||
| | Time | Room A | Room B | | ||
| |---------------------|------------|--------------------------------| | ||
| | Wednesday morning | Lecture | | | ||
| | Wednesday afternoon | Workshop A | Workshop B | | ||
| | Thursday morning | Workshop C | Workshop D (€20 additional charge) | | ||
|
|
||
| In addition to the basic admission products for this conference, you also have to create the following products: | ||
|
|
||
| - A category called "Workshops" with the box next to "Products in this category are add-on products" checked | ||
| - A free product called "Wednesday afternoon" in the "Workshops" category with two variations: | ||
| - Workshop A | ||
| - Workshop B | ||
| - A product called "Thursday morning" in the "Workshops" category with two variations: | ||
| - Workshop C (free) | ||
| - Workshop D (€20) | ||
| - One quota for each additional product (workshop), each with a total capacity of 20 | ||
|
|
||
|  | ||
|
|
||
| After you have created these categories, products, and quotas, edit your basic admission tickets and open the :btn:Add-ons: tab. | ||
| Add an add-on from the "Workshops" category with "Minimum number" of 0 and a "Maximum number" of 2 and click the :btn:Save: button. | ||
| This enables your customers to choose which of the workshops they want to attend. | ||
| It also allows you to track planned attendance numbers through the quotas for each workshop. | ||
|
|
||
| ## Option B: Add-on products with variable time slots | ||
|
|
||
| <!-- md:hosted --> | ||
| <!-- md:enterprise --> | ||
|
|
||
| !!! Note | ||
| You can use the agenda constraints plugin on pretix Hosted with no extra charge. | ||
| If you are interested in using it with pretix Enterprise, please contact sales@pretix.eu. | ||
| You cannot use the agenda constraints plugin on pretix Community. | ||
|
|
||
| If the sessions at your event have overlapping start and end times and cannot be neatly organized into time slots, you can solve this issue with the "Agenda constraints" plugin. | ||
mschrumpf marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| One example for a schedule which would necessitate the use of the agenda constraints plugin is the following: | ||
|
|
||
| | Time | Room A | Room B | | ||
| |-------------|--------------------------|--------------------------| | ||
| | 09:00-11:00 | Talk 1 | Workshop 1 (first half) | | ||
| | 11:00-13:00 | Talk 2 | Workshop 1 (second half) | | ||
| | 14:00-16:00 | Workshop 2 (first half) | Talk 3 | | ||
| | 16:00-18:00 | Workshop 2 (second half) | Talk 4 | | ||
|
|
||
| In this example, Workshops 1 and 2 are twice as long as the talks. | ||
| Thus, it makes no sense to implement this schedule with add-on products as described under [option A](sessions.md#option-a-add-on-products-with-fixed-time-slots). | ||
| This would either result in customers having to book each half of the workshops individually, or in allowing them to book combinations of overlapping sessions which they cannot attend. | ||
| You can handle more complicated schedules like this one with the agenda constraints plugin. | ||
|
|
||
| In order to activate that plugin, navigate to :navpath:Your Event → :fa3-wrench: Settings → Plugins: and open the :btn:Features: tab. | ||
| Search for the "Agenda constraints" plugin in the list and click the :btn:Enable: button next to it. | ||
|
|
||
|  | ||
|
|
||
| Create a category for session tickets and check the box next to "Products in this category are add-on products". | ||
| Create a product for each individual session, add it to the sessions category and switch to the :btn:Additional settings: tab. | ||
| Use the fields "Start date" and "End date" to define the span of time in which the session is taking place. | ||
| Create a quota for each of the session add-on products, with the total capacity of the quota reflecting the maximum number of attendees for each session. | ||
|
|
||
| !!! Note | ||
| The "Agenda constraints" plugin only checks for scheduling conflicts between products of the same category. | ||
| Put all products for sessions that may overlap with each other in the same category. | ||
|
|
||
| Edit the basic admission tickets for your event and open the :btn:Add-ons: tab. | ||
| Add an add-on from the sessions category with a "Minimum number" of 0 and a "Maximum number" equal to or greater than the largest possible number of workshops a guest can attend. | ||
| Click the :btn:Save: button. | ||
|
|
||
| This enables your customers to choose which of the workshops they want to attend. | ||
| The "Start date" and "End date" you defined for each add-on product will restrict which combinations of sessions your customers can book. | ||
| You can limit planned attendance numbers through the quotas for each workshop. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.