Custom Layouts - Thermal Tickets

Important

⚠️ Custom Designer only applies to Boca Thermal Printer LayoutsEpson Receipt printer layouts are not supported.

 

Installation

The setup is very simple. Drop the custom JSON into the Custom Thermal Layout Page and save. Now, you'll be able to choose Custom Setting Layout from the list of Available Templates for that seller.

While logged in as a PARTNER user, locate the seller in the Sellers tab and open Account Info.  

  1. From here, click Manage Thermal Print Settings > Manage Custom Thermal Layout  
  2. Paste in the JSON for your custom layout to the appropriate field (either Thermal Layout or Thermal Receipt if for a receipt)
  3. Set Use Custom Thermal Layout and/or Use Custom Receipt Layout to Yes > Click Submit
    1. These control whether this custom layout is listed in the Available Templates
  4. Back on the Sellers Thermal Print Settings page, you should now see the Custom Setting Layout in the list of Available templates. Choose this option > Submit and the Seller is now configured to print with the Custom Layout.

Note

You can add a custom thermal layout setting at any of these URLs:

  •  /custom-thermal-layout/event/{event_id}
  • /custom-thermal-layout/seller/{seller_id}
  • /custom-thermal-layout/partner/{partner_id}

Like all settings, these will bubble up. So if you have it set at the partner level, all events and sellers will utilise it unless this is explicitly set at those levels.

 

JSON Templates

Default Receipt GA Ticket Layout

[
{
"220,130": "{[[barcode]]}",
"420,130": "[[barcode]]",
"195,320": "[[barcode]]",
"260,380": "[[event]]",
"310,380": "[[event_start]]",
"350,400": " to [[event_end]]",
"410,380": "[[ticket_note]]",
"450,380": "[[venue_name]]",
"485,380": "[[address]]",
"520,380": "[[city]], [[state]]",
"40,630": "TID: [[ticket_id]]",
"75,630": "CID: ",
"80,710": "[[confirmation_number]]",
"110,630": "Cost: $[[cost]]",
"145,630": "Level: [[level]]",
"180,630": "Age Limit: [[ages]]+",
"20,1605": "[[event]]",
"20,1575": "[[event_start]]",
"30,1545": " to [[event_end]]",
"20,1515": "TID: [[ticket_id]] / CID: [[confirmation_number]]",
"20,1480": "Cost: $[[cost]]",
"20,1450": "Level: [[level]]

" } ]

Default Receipt Seated Ticket Layout


[
{
"220,130": "{[[barcode]]}",
"420,130": "[[barcode]]",
"195,320": "[[barcode]]",
"260,380": "[[event]]",
"310,380": "[[event_start]]",
"350,400": " to [[event_end]]",
"410,380": "[[ticket_note]]",
"450,380": "[[venue_name]]",
"485,380": "[[address]]",
"520,380": "[[city]], [[state]]",
"40,630": "TID: [[ticket_id]]",
"75,630": "CID: ",
"80,710": "[[confirmation_number]]",
"110,630": "Cost: $[[cost]]",
"30,1000": "[[level]]",
"70,1000": "[[premiere_price_level_name]]",
"110,1000": "Row: [[row]]",
"150,1000": "Seat: [[seat]]",
"220,630": "Age Limit: [[ages]]+",
"20,1605": "[[event]]",
"20,1575": "[[event_start]]",
"30,1545": " to [[event_end]]",
"20,1515": "TID: [[ticket_id]] / CID: [[confirmation_number]]",
"20,1480": "[[level]]",
"20,1450": "Row: [[row]] / Seat: [[seat]]",
"350,1450": "Cost: $[[cost]]

" } ]

Default Receipt Printer Receipt Layout

[
{
"135,250": "RECEIPT",
"40,640": "[[organization]]",
"80,640": "[[addr_line1]]",
"120,640": "[[addr_line2]]",
"160,640": "[[addr_line3]]",
"200,640": "Phone: [[phone]]",
"240,640": "Website: [[web]]",
"320,380": "Purchase Date: [[purchase_date]]",
"360,380": "All tickets are non-refundable.",
"400,380": "Confirmation ID: [[confirmation_number]]",
"440,380": "Order Total: $[[total_cost]]          For: [[purchase_for]]",
"455,380": "[[note]]",
"495,380": "Signature: ",
"135,1520": "RECEIPT

" } ]

Default Thermal GA Ticket Layout (Boca)

[
{
"220,130": "{[[barcode]]}",
"420,130": "[[barcode]]",
"195,320": "[[barcode]]",
"260,380": "[[event]]",
"310,380": "[[event_start]]",
"350,400": " to [[event_end]]",
"410,380": "[[ticket_note]]",
"450,380": "[[venue_name]]",
"485,380": "[[address]]",
"520,380": "[[city]], [[state]]",
"40,630": "TID: [[ticket_id]]",
"75,630": "CID: ",
"80,710": "[[confirmation_number]]",
"110,630": "Cost: $[[cost]]",
"145,630": "Level: [[level]]",
"180,630": "Age Limit: [[ages]]+",
"20,1605": "[[event]]",
"20,1575": "[[event_start]]",
"30,1545": " to [[event_end]]",
"20,1515": "TID: [[ticket_id]] / CID: [[confirmation_number]]",
"20,1480": "Cost: $[[cost]]",
"20,1450": "Level: [[level]]

" } ]

Default Thermal Seated Ticket Layout (Boca)

[
{
"220,130": "{[[barcode]]}",
"420,130": "[[barcode]]",
"195,320": "[[barcode]]",
"260,380": "[[event]]",
"310,380": "[[event_start]]",
"350,400": " to [[event_end]]",
"410,380": "[[ticket_note]]",
"450,380": "[[venue_name]]",
"485,380": "[[address]]",
"520,380": "[[city]], [[state]]",
"40,630": "TID: [[ticket_id]]",
"75,630": "CID: ",
"80,710": "[[confirmation_number]]",
"110,630": "Cost: $[[cost]]",
"30,1000": "[[level]]",
"70,1000": "[[premiere_price_level_name]]",
"110,1000": "Row: [[row]]",
"150,1000": "Seat: [[seat]]",
"220,630": "Age Limit: [[ages]]+",
"20,1605": "[[event]]",
"20,1575": "[[event_start]]",
"30,1545": " to [[event_end]]",
"20,1515": "TID: [[ticket_id]] / CID: [[confirmation_number]]",
"20,1480": "[[level]]",
"20,1450": "Row: [[row]] / Seat: [[seat]]",
"350,1450": "Cost: $[[cost]]

" } ]

Default Thermal Receipt layout (Boca)

[
{
"135,250": "RECEIPT",
"40,640": "[[organization]]",
"80,640": "[[addr_line1]]",
"120,640": "[[addr_line2]]",
"160,640": "[[addr_line3]]",
"200,640": "Phone: [[phone]]",
"240,640": "Website: [[web]]",
"320,380": "Purchase Date: [[purchase_date]]",
"360,380": "All tickets are non-refundable.",
"400,380": "Confirmation ID: [[confirmation_number]]",
"440,380": "Order Total: $[[total_cost]]          For: [[purchase_for]]",
"410,380": "[[note]]",
"495,380": "Signature: ",
"135,1520": "RECEIPT

" } ]

Editing the Code

You may edit the template codes to suit each event or seller's requirements.

To learn how to read the code, we’ll use the event name line as an example:

"98,211":"~[[event]]~",

Where:

  • 98,211 = the position of the text from the top left corner (98 down, 211 across)
  • RTF4 = The text being bold, RTF3 would be unbolded text
  • 14 = the font size
  • CTR710 = the line of text being centred (710 being the length to the perforated line from the start point (211) to centre from)
  • ~ ~ = Indicating the start and end of centred text
    • Note the first few lines of code do not have ~ or a CTR function as they are left justified
  • [[event]] = the text being pulled into that line. Can also be replaced by static text as seen in the following line, or use any of the below available ticket variables to pull any other information from the system.

Variables

As seen in the above templates, you can pull information straight from the system onto the ticket, rather than writing static text. These variables need to be wrapped in double brackets.

Available Ticket Variables

  • reservation_id
  • sale_id
  • user_id
  • confirmation_number
  • total_cost
  • currency
  • purchase_for
  • purchase_date
  • payment_method
  • last_four
  • ticket_id
  • cost
  • discount
  • comp_amount
  • barcode
  • pricing_level_id
  • event_seat_id
  • event_section_id
  • tickets_comp_id
  • service_fee
  • name_on_ticket
  • event_id
  • event
  • event_start
  • event_end
  • ages
  • price_label
  • ticket_note
  • event_type
  • event_url
  • seller_id
  • organization
  • partner_id
  • locale
  • venue_name
  • address
  • city
  • state
  • postal_code
  • timezone_name
  • section
  • row
  • seat
  • seatsio_id
  • level
  • general_admission
  • premiere_price_level_name
  • number

Available Thermal Setting Variables

  • seller_id
  • partner_id
  • organization
  • addr_line1
  • addr_line2
  • addr_line3
  • phone
  • web
  • note
  • image
  • image_location
  • font_regular
  • font_bold
  • auto_forward
  • print_receipt
  • double_receipt
  • signature_line

Printing

As usual, you must have Sidekick installed and open to use this feature. Make sure the Boca is set as the default printer.

You will need to be the SELLER to print–it does not work if printing as a Partner.

Select Print Thermal Tickets from the order details, ticket details, or box office.

Logos

Adding a logo is possible, but would require uploading it to the Boca itself and coding it into the layout. If doing mass-prints, it may be easier and quicker to mass-print the logo on the tickets in the correct spot first via Adobe InDesign or Microsoft Word and then use that stock with the usual ticket templates, leaving the Text 1-3 and event name lines blank.