Skip to main content

Designing labels

Zebra Designer is free Windows-based WYSIWYG software offering basic barcode label design and print features.

Designing a new label

Prepare the label layout in Zebra Designer using static text labels and values. In label design please consider the following:

  1. Give enough space to the QR, Datamatrix, or other barcode: the bigger, the better.
  2. Consider what text must be printed on the label. Our eyes can't read QR codes just yet.
  3. Space is limited! Keep the label informative, but not overloaded with text.
tip

Do not include data that is subject to change. If you print the location of the inventory on the label, will you have to print a new label when its location is reassigned?

You can always look up inventory data by scanning the QR code!

Export as ZPL

  1. Use Save to file option in the label print dialog.
  2. Select the destination folder and file name.
  3. Open the file in a text editor and inspect the generated ZPL.

Convert to a label template

  1. Open the file in a text editor.
  2. Replace static text with appropriate variable placeholders
  3. Add the label to GGCE

Variable placeholders

GGCE will process the ZPL template and populate the variable placeholders with actual data.

Placeholders are in the form {{{variable.name}}}. The variables depend on the type of label. Variables for inventory labels are different than those for viability tests.

Inventory labels

The following variables are available for Inventory labels

Variable nameExampleDescription
{{{inventory...}}}...Any inventory field. See Inventory data model below.
{{{inventory.barcode}}}I:654332The barcode value assigned to the inventory. Use this variable for QR and other barcodes.
{{{inventory.inventoryNumber}}}INTRO 4421 SDHuman-readable inventory number.
{{{accession...}}}...Any accession field. Accession data model below.
{{{accession.accessionNumber}}}TMp-419The accession number.
{{{taxon}}}Hordeum vulgareThe full taxonomic name of the accession.

Order request item labels

Variable nameExampleDescription
{{{orderRequestItem...}}}Any propery of the request item. See OrderRequestItem data model below.
{{{orderRequestItem.sequenceNumber}}}3The number of the item in the order.
{{{orderRequest...}}}Any property of the request. See OrderRequest data model below.
{{{orderRequest.localNumber}}}The local number of the request.
{{{inventory...}}}Any field of the inventory of the item. See Inventory data model below.
{{{inventory.inventoryNumber}}}The inventory of the item. See Inventory data model below.
{{{inventory.accession...}}}Any field of the accession of the inventory. See Accession data model below.
{{{inventory.accession.accessionNumber}}}TMp-419The accession number of the inventory
{{{withdrawnInventory...}}}Any field of the withdrawn inventory of the item. See Inventory data model below.
{{{item}}}Deprecated Use orderRequestItem.sequenceNumber instead.
{{{requestItem...}}}...Deprecated Use orderRequestItem instead.

Seed viability labels

Variable nameExampleDescription
{{{replicate}}}1The number of the replicate
{{{inventoryViability...}}}See InventoryViability data model
{{{inventory...}}}Any property of the inventory being tested. See Inventory model below
{{{accession...}}}Any property of the accession. See Accession data model below
{{{inventoryViabilityRule....}}}Any propery of the viability rule. See InventoryViabilityRule data model
{{{_counter}}}1Deprecated The number of the replicate

Data model

createdBy
integer <int64>
createdDate
string <date-time>
modifiedBy
integer <int64>
modifiedDate
required
string <date-time> (Last modified date)

Maintained by the server, original value must be included in all update and delete operations.

object (AclSid)
ownedDate
string <date-time>
id
integer <int64>
required
object (Accession)
object (Site)
availabilityEndDate
string <date-time>
availabilityStartDate
string <date-time>
availabilityStatusCode
required
string [ 0 .. 30 ] characters
availabilityStatusNote
string
availabilityReasonCode
string [ 0 .. 30 ] characters
distributionCriticalQuantity
number <double> >= 0
distributionDefaultFormCode
string [ 0 .. 30 ] characters
distributionDefaultQuantity
number <double> >= 0
distributionUnitCode
string [ 0 .. 30 ] characters
formTypeCode
required
string [ 0 .. 30 ] characters
hundredSeedWeight
number <double>
inventoryNumber
string [ 0 .. 128 ] characters
inventoryNumberPart1
required
string [ 0 .. 50 ] characters
inventoryNumberPart2
integer <int64>
inventoryNumberPart3
string [ 0 .. 50 ] characters
isAutoDeducted
required
string [ 0 .. 1 ] characters
isAvailable
required
string [ 0 .. 1 ] characters
isDistributable
required
string [ 0 .. 1 ] characters
latitude
number <double>
longitude
number <double>
note
string
pathogenStatusCode
string [ 0 .. 30 ] characters
plantSexCode
string [ 0 .. 30 ] characters
pollinationMethodCode
string [ 0 .. 30 ] characters
pollinationVectorCode
string [ 0 .. 30 ] characters
propagationDate
string <date-time>
propagationDateCode
string [ 0 .. 30 ] characters
quantityOnHand
number <double> >= 0
quantityOnHandUnitCode
string [ 0 .. 30 ] characters
regenerationCriticalQuantity
number <double> >= 0
rootstock
string
barcode
string [ 0 .. 100 ] characters
storageLocationPart1
string [ 0 .. 20 ] characters
storageLocationPart2
string [ 0 .. 20 ] characters
storageLocationPart3
string [ 0 .. 20 ] characters
storageLocationPart4
string [ 0 .. 20 ] characters
webAvailabilityNote
string
containerTypeCode
string [ 0 .. 30 ] characters
preferredName
string
Array of objects (AccessionInvName)
object (InventoryExtra)
doi
string^10\.[0-9]+(\.[0-9]+)*/.+
generation
integer <int64>
distributionRank
integer <int32>
object (Geography)
systemInventory
boolean
{
  • "createdBy": 0,
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedBy": 0,
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "ownedBy": {
    },
  • "ownedDate": "2019-08-24T14:15:22Z",
  • "id": 0,
  • "accession": {
    },
  • "site": {
    },
  • "availabilityEndDate": "2019-08-24T14:15:22Z",
  • "availabilityStartDate": "2019-08-24T14:15:22Z",
  • "availabilityStatusCode": "string",
  • "availabilityStatusNote": "string",
  • "availabilityReasonCode": "string",
  • "distributionCriticalQuantity": 0.1,
  • "distributionDefaultFormCode": "string",
  • "distributionDefaultQuantity": 0.1,
  • "distributionUnitCode": "string",
  • "formTypeCode": "string",
  • "hundredSeedWeight": 0.1,
  • "inventoryNumber": "string",
  • "inventoryNumberPart1": "string",
  • "inventoryNumberPart2": 0,
  • "inventoryNumberPart3": "string",
  • "isAutoDeducted": "s",
  • "isAvailable": "s",
  • "isDistributable": "s",
  • "latitude": 0.1,
  • "longitude": 0.1,
  • "note": "string",
  • "pathogenStatusCode": "string",
  • "plantSexCode": "string",
  • "pollinationMethodCode": "string",
  • "pollinationVectorCode": "string",
  • "propagationDate": "2019-08-24T14:15:22Z",
  • "propagationDateCode": "string",
  • "quantityOnHand": 0.1,
  • "quantityOnHandUnitCode": "string",
  • "regenerationCriticalQuantity": 0.1,
  • "rootstock": "string",
  • "barcode": "string",
  • "storageLocationPart1": "string",
  • "storageLocationPart2": "string",
  • "storageLocationPart3": "string",
  • "storageLocationPart4": "string",
  • "webAvailabilityNote": "string",
  • "containerTypeCode": "string",
  • "preferredName": "string",
  • "names": [
    ],
  • "extra": {
    },
  • "doi": "string",
  • "generation": 0,
  • "distributionRank": 0,
  • "productionLocationGeography": {
    },
  • "systemInventory": true
}