πŸ“– Ticketing | Stage 1

Ticketing & Widget: Customize the ticketing widget

Learn how to customize your ticketing widget through CSS

All customization options:


πŸ‘‰ To only show particular tickets in your widget (this way you can enable multiple widgets on your website and each button will open the widget with only specific tickets):

<div id="brella-widget">
  <script type="text/props">
   { 
     "joinCode": "spacecon2022",
     "widgetType": "ticketing",
   "organizationSlug": "ISTA",
"ticketsToShow": [80, 56]
   } 
  </script>
</div>
<script async src="https://widget.brella.io"></script>

ticketsToShow specifies the tickets that will be displayed on the widget. Go to your admin panel to see the IDs that you should use with each ticket: 

Screenshot 2023-02-20 at 12.32.10 PM


πŸ‘‰ To allow attendees only purchase the minimum increment of tickets to your liking (e.g. if you want attendees to buy minimum 2 tickets because of the campaign you're having now, you can do so): 

<div id="brella-widget">
  <script type="text/props">
   { 
     "joinCode": "spacecon2022",
     "widgetType": "ticketing",
   "organizationSlug": "ISTA",
    "minIncrementOfTickets": 2
   } 
  </script>
</div>
<script async src="https://widget.brella.io"></script>

You can set the increment to be anything.


πŸ‘‰ Show ticket buying modal instead of "Get Tickets" button:

<div id="brella-widget">
  <script type="text/props">
   { 
     "joinCode": "spacecon2022",
     "widgetType": "ticketing",
   "organizationSlug": "ISTA",
"showModalOnly": true
   } 
  </script>
</div>
<script async src="https://widget.brella.io"></script>

Result: 


πŸ‘‰ To customize the "Get tickets" button:

 .brella-get-tickets {
     text-indent: -9999px;
     line-height: 0;
   }
 
   .brella-get-tickets:after {
     content: 'whatever it is you want to add';
     text-indent: 0;
     display: block;
     line-height: initial;
   }

Result: 

unnamed-3


πŸ‘‰ To customize the "Buy tickets" button in ticketing modal header:

 .ticketing-header-title {
     text-indent: -9999px;
     line-height: 0;
   }
 
   .ticketing-header-title:after {
     content: 'whatever it is you want to add';
     text-indent: 0;
     display: block;
     line-height: initial;
   }

Result: 


πŸ‘‰ To customize the primary background color (default white):

.brella-ticketing-widget {
     --brella-widget-background: yellow !important;
 }

Result: 

Screen Shot 2022-12-08 at 5.36.53 PM


πŸ‘‰ To customize the secondary background color (default: #F9FAFB):

.brella-ticketing-widget {
     --brella-widget-secondary-background: yellow !important;
   }

Result: 


πŸ‘‰ To customize the primary button and highlight color (default: #7F56D9):

.brella-ticketing-widget {
     --brella-color-ticketing-primary-600: red !important;
   }
 
   #brella-widget {
     --brella-color-ticketing-primary-600: red !important;
   }

Result:


πŸ‘‰ To customize the border of the ticketing modal (default: 1px solid #EAECF0; border radius (default 8px)):

 .brella-ticketing-widget {
     --brella-widget-modal-border-radius: 50px !important;
 }

Result:


πŸ‘‰ To customize the divider between sections (default: 1px solid #EAECF0):

 .brella-ticketing-widget {
     --brella-widget-modal-border-radius: 50px !important;
 }

Result: 


πŸ‘‰ To customize the close icon (default: ​​#101828; in 2 places, close modal and remove discount code):

.brella-ticketing-widget {
     --brella-widget-close-icon-color: red !important;
   }

If you only want to change one of these, for example only the discount code one, you can do it like this: 

.remove-discount-code:before, .remove-discount-code:after {
     background-color: purple !important
   }


Result: 


πŸ‘‰ Example of dark theme widget styling:

<style>
.brella-ticketing-widget {
    --brella-widget-secondary-background: #141A2D !important;
    --brella-widget-background: #1C2541 !important;
    --brella-widget-border: 1px solid #111727 !important;
    --brella-widget-close-icon-color: #DC758F !important;
    --brella-widget-modal-border-radius: 2px !important;
    --brella-widget-modal-input-border-radius: 2px !important;
    --brella-widget-input-border: 2px solid #1C2541 !important;
    --brella-color-ticketing-primary-600: #DC758F !important;
   }
   .brella-get-tickets {
    text-indent: -9999px;
    line-height: 0;
    border: 1px solid #C7637C !important;
    background-color: #DC758F !important;
  }
  .brella-get-tickets:after {
    content: 'Try it our here';
    text-indent: 0;
    display: block;
    line-height: initial;
  }
 
  .ticketing-header-title {
    text-indent: -9999px;
    line-height: 0;
  }
  .ticketing-header-title:after {
    content: 'Be the first to buy ticket!';
    text-indent: 0;
    display: block;
    line-height: initial;
  }
 
  .ticketing-footer-proceed-button {
    text-indent: -9999px;
    line-height: 0;
  }
 
  .brella-widget-button-primary {
   padding: 9px 16px !important;
  }
 
  .ticketing-footer-proceed-button:after {
     content: 'Next page';
    text-indent: 0;
    display: block;
    line-height: initial;
  }
 
   .ticketing-secondary-text {
     color: #D6BBFB !important;
   }
 
   .brella-ticketing-widget p, .brella-ticketing-widget h3, .brella-ticketing-widget h4, .brella-ticketing-widget a, .brella-ticketing-widget label, .brella-ticketing-widget input {
     color: #F4EBFF;
   }
 
   .brella-ticketing-widget input, .brella-ticketing-widget input:disabled {
     background-color: #141A2D;
   }
 
   .ticketing-footer-proceed-button:disabled, .discount-code-apply-button:disabled {
     opacity: 0.5;
   }
 
   .summary-event-date {
     color: #DC758F !important;
   }
 
   .summary-order-summary-text, .total-summary-text, .custom-form-title, .custom-form-title, .ticket-question-name{
     color: #E3D3E4 !important;
   }
 
   .purchaser-info-container p, .ticketing-question-container p {
     color: #7C86A5;
   }
 .brella-widget-error-text {
color: var(--brella-color-error-600) !important;
}
</style>

Result: 


πŸ‘‰ If you want to set radio buttons to change upon click:

Make sure you're not applying

appearance: none
for the checkboxes. Something like this should fix it:
.brella-ticketing-widget input[type="checkbox"] {
appearance: auto !important
}

πŸ‘‰ If you want to remove the "Use purchaser email" checkbox for registrant emails:

You can hide it with css (only for the widget):

<style>
.purchaser-email-checkbox {
display: none;
}
</style>

πŸ‘‰ Disable the Safari auto-zoom functionality on iOS

By default, Safari will zoom in when a user taps on an input field and the font-size is less than 16px. To disable this behavior, you can either change the font-size of the widget to a minimum of 16px using CSS, or set the allowAutoZoom parameter to false. 

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
<script type="text/props">
{
"joinCode": "spacecon2022",
"widgetType": "ticketing",
"organizationSlug": "ISTA",
"allowAutoZoom": false
}
</script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to hide the "Claim ticket" button in the "Thank you" modal:

<style>
    .ticket-claiming-invite .brella-widget-button-primary {
      display: none;
    }
 </style>
<!-- Inject Brella Widget Here -->
<div id="brella-widget">
  <script type="text/props">
   { 
     "joinCode": "spacecon2022",
     "widgetType": "ticketing",
     "organizationSlug": "ISTA"
   } 
  </script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to have ticketing widget to redirect to some other page than back to the "Thank you modal" after the ticket purchase:

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
 <script type="text/props">
  {
    "joinCode": "spacecon2022",
    "widgetType": "ticketing",
    "organizationSlug": "ISTA",
    "redirectUrlAfterTicketPurchase": "https://help.brella.io/en/organizers/ticketing-widget-customize-the-ticketing-widget"
  }
 </script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you have a discount code which should for example only be applied when attendee buys tickets in sets of 2 and so on. Note that the widget won’t allow user to add discount code if e.g. 3 tickets are selected, it will give an error ("The discount code can only be applied to sets of [whatever increment you add]):

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
<script type="text/props">
{
"joinCode": "spacecon2022",
"widgetType": "ticketing",
"organizationSlug": "ISTA",
"minIncrementForDiscountCode": [
{
"minIncrement": 2,
"ticketIds": ["22"],
"discountCode": "100FORSPACES"
}
]
}
</script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to limit the maximum tickets that can be purchase per order (based on ticket type)

Note: The ticket type applies per ticket type. It's not a blanket restriction on how many tickets an order can have.  So, for example, if ticketIds "23" and "22" allow one purchase each > A single order can contain 1 ticket of type "23" and another ticket of type "22". 

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
<script type="text/props">
{
"joinCode": "spacecon2022",
"widgetType": "ticketing",
"maxNumberOfTicketsByTicketId": [
{
"ticketIds": [23, 22],
"maxNumberOfTickets": 1
},
{
"ticketIds": [21],
"maxNumberOfTickets": 2
}
]
}
</script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to customize the increment per ticket type, not just the whole widget:

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
<script type="text/props">
{
"joinCode": "spacecon2022",
"widgetType": "ticketing",
"organizationSlug": "ISTA",
"minIncrementOfTicketsByTicketId": [
{
"minIncrement": 2,
"ticketIds": ["22"]
}
]
}
</script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to have a discount code pre-filled on the widget (and allow to remove the discount code or not):

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
<script type="text/props">
{
"joinCode": "spacecon2022",
"widgetType": "ticketing",
"organizationSlug": "ISTA",
"discountCodeSettings" : {
"discountCode": "100FORSPACES",
"allowClear": true
}
}
</script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to have a tickets pre-selected on the widget (allow to set the amount of tickets pre-selected every time widget opens per ticket type):

<!-- Inject Brella Widget Here -->
<div id="brella-widget">
<script type="text/props">
{
"joinCode": "spacecon2022",
"widgetType": "ticketing",
"organizationSlug": "ISTA",
"preSelectedTickets" :
[
       {      
"ticketIds": [80],
"amount": 1
}
]
}
</script>
</div>
<script async src="https://widget.brella.io"></script>
<!-- Inject Brella Widget Here End -->

πŸ‘‰ If you want to change the header title on the thank you modal: 

   .thank-you-modal-title {
    text-indent: -9999px;
    line-height: 0;
  }
  .thank-you-modal-title:after {
    content: 'New title';
    text-indent: 0;
    display: block;
    line-height: initial;
}

Result: 


πŸ‘‰ If you want to change the header subtitle on the thank you modal: 

.thank-you-modal-subtitle {
    text-indent: -9999px;
    line-height: 0;
  }


  .thank-you-modal-subtitle:after {
    content: 'New subtitle';
    text-indent: 0;
    display: block;
    line-height: initial;
  }

Result: 


πŸ‘‰ If you want to hide the subtotal container on the thank you modal: 

   .summary-subtotal-container {
     display: none;
   }

Result: 


πŸ‘‰ If you want to change the "Claim ticket" button text on the thank you modal: 

 .ticket-claiming-invite a {
     text-indent: -9999px;
     line-height: 0;
   }


   .ticket-claiming-invite a:after {
     content: 'Join Event';
     text-indent: 0;
     display: block;
     line-height: initial;
   }

Result: 

πŸ‘‰ If you want to hide and/or modify individual tickets' name, price, description: 

<!-- Inject Brella Widget Here -->
<style>.ticket-list-item-container-ticket-id-22 .ticket-list-item-ticket-price {
display: none;
}
</style>
<div id=β€œbrella-widget”>
  <script type=β€œtext/props”>
   {
     β€œjoinCode”: β€œspacecon2022",
     β€œwidgetType”: β€œticketing”,
     β€œorganizationSlug”: β€œISTA”
   }
  </script>
</div>
<script async src=β€œhttps://widget.brella.io”></script>
<!-- Inject Brella Widget Here End -->

Last updated - July 2023

Written by Nikita Salnikov

Screenshot 2023-02-20 at 12.30.59 PM

If you didn't find an answer to your questions, please get in touch with the Support Team here