One great alternative to printing check-in labels for large events is wristbands. Specifically for kids and student camps, wristbands are significantly more durable and last longer than standard labels.

Printer Used

The primary printer we use is the ZD620d (the model with the display and wifi). However, during camp we needed extra inventory so we also used several older ZD620's without wifi, and a few ZD420's. They all worked great. 

  • The above links are by the case, but I believe you can also buy individuals.
  • For kids camp (VBS), we ordered one color for each day so that we could see which kids had been checked in with that day's wristband.
  • For student camps, we just used one color for students and one color for volunteers for the entire week.
  • Keep in mind when ordering that you need enough wristbands for all of the participants, but also enough rolls of the wristbands for your printers. So if you're running 8 printers, you need at minimum 8 rolls of wristbands even if that's way more wristbands than participants. You'll have leftover for the next event most likely.

Merge Fields Setup

The Merge Fields section of Checking Out Check-In gives an overview of how to use merge fields. Below are the ones used for our camps. If you are missing any of the ones included with Rock, reference the demo site to recreate them. Some of the custom ones reference attributes or groups that may be unique to us.

 

Included with Rock:

  • Security Code (included with Rock)
  • Full Name (included with Rock)
  • Allergy Icon (included with Rock)

 

Custom:

Group Name

						{{ Group.Name }}
						

Medical Icon

{% assign MedicalConditions = Person | Attribute:'MedicalConditions' %}{% if MedicalConditions != '' -%}M{% endif -%}

First Names

{% for person in People %}
{% if forloop.last %}
{{ person.NickName }}
{% else %}
{{ person.NickName }}, 
{% endif %}{% endfor %}

Weekday and Date

						{{ 'Now' | Date:'ddd. M/dd' }}
						

Student Camp Small Group

{% assign groupId = Group.Id %}
{% if groupId == 936233 or groupId == 983564 or groupId == 983565 %}
{[ memberofgroups parentgroupid:'1001793' personid:'{{ Person.Id }}' groupterm:'Group' comment:'Middle School Small Group' showleader:'True' ]}
{% elseif groupId == 936217 or groupId == 983563 %}
{[ memberofgroups parentgroupid:'1001788' personid:'{{ Person.Id }}' groupterm:'Group' comment:'High School Small Group' showleader:'True' ]}
{% endif %}

Student Camp Bus Group

{% assign groupId = Group.Id %}
{% if groupId == 936233 or groupId == 983564 or groupId == 983565 %}
{[ memberofgroups parentgroupid:'1001798' personid:'{{ Person.Id }}' groupterm:'' comment:'Middle School Bus' ]}
{% elseif groupId == 936217 or groupId == 983563 %}
{[ memberofgroups parentgroupid:'1001789' personid:'{{ Person.Id }}' groupterm:'' comment:'High School Bus' ]}
{% endif %}

Student Camp Team

{% assign groupId = Group.Id %}
{% if groupId == 936233 or groupId == 983564 or groupId == 983565 %}
{[ memberofgroups parentgroupid:'1003368' personid:'{{ Person.Id }}' groupterm:'Team' comment:'Middle School Team' ]}
{% elseif groupId == 936217 or groupId == 983563 %}
{[ memberofgroups parentgroupid:'1003364' personid:'{{ Person.Id }}' groupterm:'Team' comment:'High School Team' ]}
{% endif %}

Student Camp Cabin

{% assign groupId = Group.Id %}
{% if groupId == 936233 or groupId == 983564 or groupId == 983565 %}
{[ memberofgroups parentgroupid:'1001799' personid:'{{ Person.Id }}' groupterm:'Cabin' comment:'Middle School Cabin' ]}
{% elseif groupId == 936217 or groupId == 983563 %}
{[ memberofgroups parentgroupid:'1001790' personid:'{{ Person.Id }}' groupterm:'Cabin' comment:'High School Cabin' ]}
{% endif %}

The four student camp specific label merge fields utilize lava short codes to get placement groups. Check out the Lava Shortcode for Placement Groups on Check In recipe to learn more.

Label Setup

The Creating Custom Labels section of Checking Out Check-In should help with designing the label. At the time that I was working on this, I didn't have access to ZebraDesigner, so I messed around with the ZPL code from another label until I had learned enough to make something that worked for us without using ZebraDesigner. Below I'll give instructions to copy exactly what we did for our camps.

Kids Camp (VBS) Camper Wristband

  • For our kids camp, the groups that the kids were checking into from the iPads were their small groups. We were asked to print a child wristband and parent pickup wristband for each child/family exactly like a weekend.
  • Create a new label for campers (Check-In > Check-In Labels)
    • Set merge codes for Full Name (FullName), Group Name (GroupName), Allergy Icon (A), Medical Icon (M), and Security Code (SEC).
    • Camper labels print for each Person.
  • Save, and then go back to it and click Edit Label Contents.
  • Edit the label contents as shown below.

Label Contents for Kids Camp (VBS) Camper

^XA
^PW203
^PR6
~SD30
^MMT
^MNM
^LH0,0
^LL2030
^LS0
^FWN
^FT15,380^A0,85^FDSEC^FS
^FWR
^FT120,415^A0,40^FDM^FS
^FT80,420^A0,40^FDA^FS
^FT115,490^A0,70^FDFullName^FS
^FT45,490^A0,50^FH\^FDGroupName^FS
^FT110,1700^A0,50^FH\^FDPLACE ON^FS
^FT60,1700^A0,50^FH\^FDLEFT WRIST^FS
^XZ

Kids Camp Camper ZPL Decoded

  • ^XA : This begins a new label format session. Everything that follows will be part of a new label until ^XZ  is encountered
  • ^PW203: This sets the print width to 203 dots. (1 inch on a 203dpi printer)
  • ^PR6: This sets the print speed to 6.
  • ~SD30: This sets the darkness to 30.
  • ^MMT: This sets the print mode to Tear-Off.
  • ^MNM: Configures the sensing mode for the end of the wristband
  • ^LH0,0 : This sets the label home position. All positioning commands will be relative to this position. In this case, it's at the top left of the label (0,0).
  • ^LL2030: This sets the label length to 2030 dots.(10 inches on a 203dpi printer)
  • ^LS0: This sets the label shift. It adjusts the horizontal position where the printing starts. 0 means no shifting.
  • ^FWN: This sets the default field orientation to normal, not rotated
  • ^FT15,380^A0,85^FDSEC^FS: This creates a text field. The ^FT15,380 part sets the field position to 15 points from the left and 380 points down from the top. The ^A0,85 sets the font and the font size to be used. ^FDSEC^FS specifies the actual data to print (SEC).
  • ^FWR: This command rotates the field (and any subsequent fields) 90 degrees clockwise.
  • The following lines with ^FT followed by two numbers, ^A0 followed by a number, and ^FD followed by text and ^FS are similar to the 11th line. They define text fields with their positions, font sizes, and actual data to be printed.
  • ^FT110,1700^A0,50^FH\^FDPLACE ON^FS
    ^FT60,1700^A0,50^FH\^FDLEFT WRIST^FS: Prints "Place on left wrist" to the wristband
  • ^XZ: This ends the label format session.

Kids Camp (VBS) Parent Wristband

  • Create a new label for parents (Check-In > Check-In Labels)
    • Set merge codes for First Names (FirstNames), Security Code (SEC), and Weekday and Date (Weekday).
    • Parent labels print for each Family.
  • Save, and then go back to it and click Edit Label Contents.
  • Edit the label contents as shown below.

Label Contents for Kids Camp (VBS) Parent

^XA
^PW203
^PR6
~SD30
^MMT
^MNM
^LH0,0
^LL2030
^LS0
^FWN
^FT15,380^A0,85^FDSEC^FS
^FWR
^FT115,490^A0,90^FDParent^FS
^FT70,490^A0,45^FDPickup^FS
^FT70,620^A0,45^FDWeekday^FS
^FT30,490^A0,30^FDAbove date only.^FS
^FO0,840^GB300,0,8,1^FS
^FB950,2^FT130,860^A0,28,28^FDFor the safety of your child, you must present this receipt or a photo of this receipt when picking up your child. If you lose this please see a staff member.^FS
^FB1190,2^FT30,860^A0,40,40^FDFirstNames^FS
^XZ

Kids Camp Parent ZPL Decoded

  • ^XA : This begins a new label format session. Everything that follows will be part of a new label until ^XZ  is encountered
  • ^PW203: This sets the print width to 203 dots. (1 inch on a 203dpi printer)
  • ^PR6: This sets the print speed to 6.
  • ~SD30: This sets the darkness to 30.
  • ^MMT: This sets the print mode to Tear-Off.
  • ^MNM: Configures the sensing mode for the end of the wristband
  • ^LH0,0 : This sets the label home position. All positioning commands will be relative to this position. In this case, it's at the top left of the label (0,0).
  • ^LL2030: This sets the label length to 2030 dots.(10 inches on a 203dpi printer)
  • ^LS0: This sets the label shift. It adjusts the horizontal position where the printing starts. 0 means no shifting.
  • ^FWN: This sets the default field orientation to normal, not rotated
  • ^FT15,380^A0,85^FDSEC^FS: Prints "SEC" at position (15,380) with a font size of 85.
  • ^FWR: Rotates following fields 90 degrees clockwise.
  • ^FT115,490^A0,90^FDParent^FS: Prints "Parent" at (115,490) with a font size of 90.
  • ^FT70,490^A0,45^FDPickup^FS: Prints "Pickup" at (70,490) with a font size of 45.
  • ^FT70,620^A0,45^FDWeekday^FS: Prints the "Weekday" merge field at (70,620) with a font size of 45.
  • ^FT30,490^A0,30^FDAbove date only.^FS: Prints "Above date only." at (30,490) with a font size of 30.
  • ^FO0,840^GB300,0,8,1^FS: Draws a horizontal line at position (0,840).
  • ^FB950,2^FT130,860^A0,28,28^FD...^FS: Prints the safety receipt text at (130,860) in a block of max width 950, max 2 lines, font size 28.
  • ^FB1190,2^FT30,860^A0,40,40^FDFirstNames^FS : Prints the "FirstNames" merge field at (30,860) in a block of max width 1190, max 2 lines, font size 40.

  • ^XZ: This ends the label format session.


Student Camp Wristband
Used for both students and volunteers.

  • Create a new label for student camp (Check-In > Check-In Labels)
    • Set merge codes for Full Name (FullName), Student Camp Bus Group (Bus), Student Camp Team (Team), Student Camp Small Group (SmallGroup), Student Camp Cabin (Cabin), and Allergy Icon (A), and Medical Icon (M).
    • Student camp labels print for each Person.
  • Save, and then go back to it and click Edit Label Contents.
  • Edit the label contents as shown below.

Label Contents for Student Camp Group

^XA
^PW203
^PR6
~SD30
^MMT
^MNM
^LH0,0
^LL2030
^LS0
^FWR
^FT120,260^A0,30^FDM^FS
^FT80,263^A0,30^FDA^FS
^FT125,325^A0,70^FDFullName^FS
^FT35,325^A0,35^FH\^FDBus^FS
^FT75,775^A0,35^FH\^FDSmallGroup^FS
^FT75,325^A0,35^FH\^FDCabin^FS
^FT35,775^A0,35^FH\^FDTeam^FS
^XZ

Student Camp ZPL Decoded

  • ^XA : This begins a new label format session. Everything that follows will be part of a new label until ^XZ  is encountered
  • ^PW203: This sets the print width to 203 dots. (1 inch on a 203dpi printer)
  • ^PR6: This sets the print speed to 6.
  • ~SD30: This sets the darkness to 30.
  • ^MMT: This sets the print mode to Tear-Off.
  • ^MNM: Configures the sensing mode for the end of the wristband
  • ^LH0,0 : This sets the label home position. All positioning commands will be relative to this position. In this case, it's at the top left of the label (0,0).
  • ^LL2030: This sets the label length to 2030 dots.(10 inches on a 203dpi printer)
  • ^LS0: This sets the label shift. It adjusts the horizontal position where the printing starts. 0 means no shifting.
  • ^FWR : Rotates all following fields 90 degrees clockwise.

  • ^FT120,260^A0,30^FDM^FS : Prints the "M" merge field at (120,260) with font size 30.

  • ^FT80,263^A0,30^FDA^FS : Prints the "A" merge field at (80,263) with font size 30.

  • ^FT125,325^A0,70^FDFullName^FS : Prints the "FullName" merge field at (125,325) with font size 70.

  • ^FT35,325^A0,35^FH\^FDBus^FS : Prints the "Bus" merge field at (35,325) with font size 35.

  • ^FT75,775^A0,35^FH\^FDSmallGroup^FS : Prints the "SmallGroup" merge field at (75,775) with font size 35.

  • ^FT75,325^A0,35^FH\^FDCabin^FS : Prints the "Cabin" merge field at (75,325) with font size 35.

  • ^FT35,775^A0,35^FH\^FDTeam^FS : Prints the "Team" merge field at (35,775) with font size 35.

  • ^XZ: This ends the label format session.


Group / Group Type Setup

From either the group or group type, select the new label(s) that you have created. 

  • For our kids camp, we selected both the child and parent label to print on the entire group type for kids camp groups
  • For our student camps, we added a group attribute for Label and selected only the single Student Camp wristband label that we created - to the camp linkage groups we had set up from registration that were going to be used for check in.

iPad and Printer Setup

Example used will be Zebra ZD620d

  • On the iPad, confirm that label cutting is NOT enabled and that the printer selected is the one you're using.
  • Enable a checkin location/schedule on the group you're using.
  • Start with the printer power OFF and any cutter removed with the original faceplate on the front.
  • Insert the roll of wristbands, but do not yet feed it through the front. Just place it inside and close the lid. 
  • Turn the printer on and wait for all lights to turn green.
  • Attempt to check someone in. The wristband won't print because it's not yet fed through the front, but the ZPL file will be sent to the printer with all of the settings you configured, such as width, height, speed, etc. The printer will likely realize it's out of labels and pause. 
  • Open the printer and feed the wristbands through. To prevent jamming, use the yellow wheel near the label feed to set the label holder width so that it fits the wristbands comfortably. It will be covered by the wristband being fed through, so look under there.
  • Close the lid, and then press the pause button to feed wristbands through. It may spit out 3-5 blanks before calibrating properly.
  • Check someone in again. Your wristband should print out as expected.


Troubleshooting: Wristbands print fine for me 99% of the time, but the other 1% are usually fixed by one of three things.

  1. If the printer isn't detecting the start/end and looks like it's off, open and close the lid, which will pause printing, and then unpause and press the feed button. It usually re-detects the start and stop of the wristband.
  2. You can do an auto-calibrate that fixes some print issues. Press and hold the PAUSE and CANCEL button for two seconds and release.
  3. Turn the printer off and on again, and repeat the setup steps.

 

Group Changes and Reprints

Below are just suggested processes based on how our church handles group changes and reprinting.

 

Group Changes

In our camps, the first day we have a LOT of group change requests after kids are already checked in. This results in needing to print updated wristbands, which also results in new security codes. Security codes are generated with every check in, so when checking the camper back in, they get a new security code. 

 

Group change when parent is still present
This option ensures that they are checked into the correct group with a wristband with the correct group printed.

  • Process the group change in rock by going to the group and moving the camper to a new group. (Do this for all campers in the family that will need a group change.)
  • Using an iPad, search for the camper’s name. If they were already checked in, you’ll have a check-out option. Click check-out to end their current attendance session with the old group. (If there are multiple campers in the family with group changes, or if other campers in the family are at the registration desk making reprinting not a problem, select all of them to check out.)
  • Search for the campers’ names again to check them back in and print new wristbands + parent wristband. You should only be checking in the campers that switched groups and any campers that you checked out in the previous step. These ones will have a new security code. If there are no other campers that the parent is responsible for, they may throw away their old pickup wristband along with the camper’s. Otherwise, for today they will have an extra wristband to use at check out.

 

Group change when parent is NOT still present
Less ideal because they have attendance for the wrong group, but keeps security codes straight.

  • Process the group change in rock by going to the group and moving the camper to a new group. (Do this for all campers in the family that will need a group change.)
  • Do not check the camper out of their old group, that will inactivate the security code that their parent has on their pickup tag and will cause as mess at the security gate.
  • On the camper’s wristband, cross out the old group and sharpie in the new one. 
  • Tomorrow the correct group will print when the camper checks in.

 

Reprinting

Reprinting only happens when a camper loses or tears their wristband. Reprints never print updated information, Rock caches the printed label and reprints will always print exactly what was printed before - which is what we want in the case of a lost or torn wristband so that it matches the security code on the parent wristband.
The rock documentation on reprinting has instructions for reprinting labels, which apply here as well. We don't allow our check in volunteers to reprint from the iPads. In order to keep the line moving quickly, they only do check-in, and reprinting (and group changes) happens from a registration solutions room, which has their own printer.

 

Use with custom success messages.

Wristband printing works great for helping campers and parents know which group they're part of, and when combined with custom success messages, volunteers and staff get great insight into registration status and group placements.

I'm an image