ZWZ Fileinterface

ZWZ Fileinterface is a file-driven laundry integration. It reads one semicolon-separated CSV file and turns the latest state for each garment into an inscan, a device load, an outscan, or no action.

This page describes the file format, the meaning of each column, the accepted values, and the rules that determine whether a row is valid.

File Format

Each row describes one garment identified by TagID.

The file must contain these columns in the header:

  • TagID

  • ArticleNumber

  • ArticleDescription

  • Size

  • LastIn

  • LastOut

The file is semicolon-separated.

Column Reference

Column Meaning Accepted Values

TagID

The garment identifier.

Required. Non-empty. One garment per row.

ArticleNumber

The article identity for the garment.

Optional for existing garments. Required when a row must create a new garment.

ArticleDescription

The human-readable article name.

Optional text. When present, it is used for article creation or update.

Size

The garment size.

Required for new garments. Use the size value exactly as it should appear in Q-Cloud.

LastIn

The time the garment was received back by the laundry.

A timestamp in YYYY-MM-DD HH:MM:SS format, or 2000-01-01 00:00:00 for "no scan".

LastOut

The time the garment left the laundry.

A timestamp in YYYY-MM-DD HH:MM:SS format, or 2000-01-01 00:00:00 for "no scan".

Validation Rules

Rows are invalid when:

  • TagID is missing

  • the row does not match the expected header shape

  • LastIn or LastOut is not a valid timestamp and is not the 2000-01-01 00:00:00 sentinel

  • a new garment row does not provide the data needed to create the garment

  • the CSV structure is broken enough that the row cannot be interpreted safely

2000-01-01 00:00:00 is treated as "no scan".

If both timestamps are present, the newest one wins. If they are equal, LastOut is treated as the later operational state.

How The Integration Decides

For each garment:

  1. The latest file event is determined from LastIn and LastOut.

  2. That file event is compared with the garment’s modifiedAt value from Q-Cloud.

  3. If Q-Cloud already has the same or newer information, the row is ignored.

  4. Otherwise, the integration performs exactly one action:

    • LastIninscan

    • LastOut → device load when load mode is configured

    • LastOut → outscan when no device is configured

The integration never sends both an in-scan and an out-scan for the same row in one run.

Item And Article Behavior

The file can also drive article and garment creation when the data is present:

  • missing articles are created

  • article names are updated when the description changes

  • missing items are created for garments that do not yet exist

  • rows with bad input are skipped with warnings instead of stopping the whole file

Behavior Modes

The file interface supports a masterfile delete mode.

In masterfile mode, any garment that exists in Q-Cloud but is not present in the file is removed. This mode is a global file behavior and is not tied to a specific item pool.

Example

TagID;ArticleNumber;ArticleDescription;Size;LastIn;LastOut
006000A5F3F3;2200000601-0001;Kasack weiss;2XL;2017-08-09 09:53:00;2017-08-11 12:38:00
006000A5EBCD;2200000601-0001;Kasack weiss;2XS;2024-06-18 07:26:00;2024-06-18 12:18:00