UPDX Schedule Schema Documentation


Table of Contents

Grammar Documentation
    Element: UPDX_SCHEDULE
      Element: VERSION
        Element: DATE_COUNT
            Element: DATE
            Element: COUNT
        Element: SHIFT
              Element: EMP_ID
            Element: JOB_ID
              Element: SECTION_ID
            Element: DATE_IN
            Element: TIME_IN
            Element: DATE_OUT
            Element: TIME_OUT
              Element: DESCRIPTION

Grammar Documentation

Namespace: http://pos.whentomanage.com/updx/schedule

    Element: UPDX_SCHEDULE

Table 1. Element: UPDX_SCHEDULE

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Top level of the Universal POS DataXchange format: Schedules/Shifts

Date format is YYYY-MM-DD. Impossible dates, such as 2000-02-34, should not validate.

Time format is HH:mm:ss, 24-hour/minute/second. Impossible times, such as 66:32:19, should not validate.

DateTime format is YYYY-MM-DDThh:mm:ss Year,month,dayThour,minute,second for dateTime datatypes. Impossible values, such as 2000-02-34T66:32:19, should not validate.

Date Times/Times will be in store local time. They do not include a timezone.

Content Model

VERSION, ( DATE_COUNT )* , ( SHIFT )*

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="UPDX_SCHEDULE">
      <element name="VERSION">
        <choice>
          <value>1.0</value>
        </choice>
      </element>
      <a:documentation>Top level of the Universal POS DataXchange format: Schedules/Shifts</a:documentation>
      <a:documentation>Date format is YYYY-MM-DD. Impossible dates, such as 2000-02-34, should not validate.</a:documentation>
      <a:documentation>Time format is HH:mm:ss, 24-hour/minute/second. Impossible times, such as 66:32:19, should not validate.</a:documentation>
      <a:documentation>DateTime format is YYYY-MM-DDThh:mm:ss Year,month,dayThour,minute,second for dateTime datatypes. Impossible values, such as 2000-02-34T66:32:19, should not validate.</a:documentation>
      <a:documentation>Date Times/Times will be in store local time. They do not include a timezone.</a:documentation>
      <zeroOrMore>
        <element name="DATE_COUNT">
          <a:documentation>It is optional for the shift exporting system to supply a total count of shifts assigned that day.
	A count may be supplied for every date that has shifts included or only a subset of those days.  No two DATE_COUNTs should have matching DATE elements</a:documentation>
          <interleave>
            <element name="DATE">
              <a:documentation>Business date</a:documentation>
              <data type="date"/>
            </element>
            <element name="COUNT">
              <a:documentation>Number of shifts on this business date</a:documentation>
              <data type="nonNegativeInteger"/>
            </element>
          </interleave>
        </element>
      </zeroOrMore>
      <zeroOrMore>
        <element name="SHIFT">
          <a:documentation>A shift may span calendar days, in which case DATE_OUT would be different than DATE_IN. </a:documentation>
          <interleave>
            <optional>
              <element name="EMP_ID">
                <a:documentation>Employee ID is as used on the POS, it must be a positive integer however, so if the receiver needs to do translations, perhaps.
		  We may perhaps export unassigned shifts, in which case the EMP_ID element would not be present</a:documentation>
                <data type="positiveInteger"/>
              </element>
            </optional>
            <element name="JOB_ID">
              <a:documentation>Job the employee is scheduled to work
		this is a unique POS assigned ID</a:documentation>
              <data type="positiveInteger"/>
            </element>
            <optional>
              <element name="SECTION_ID">
                <a:documentation>Each job may be associated with several sections/skill levels.  Not all systems handle this the same way, so the section ID may be ignored</a:documentation>
                <data type="positiveInteger"/>
              </element>
            </optional>
            <element name="DATE_IN">
              <a:documentation>Date the shift is to start</a:documentation>
              <data type="date"/>
            </element>
            <element name="TIME_IN">
              <a:documentation>Time the shift is to start</a:documentation>
              <data type="time"/>
            </element>
            <element name="DATE_OUT">
              <a:documentation>Date the shift is to end</a:documentation>
              <data type="date"/>
            </element>
            <element name="TIME_OUT">
              <a:documentation>Time the shift is to end</a:documentation>
              <data type="time"/>
            </element>
            <optional>
              <element name="DESCRIPTION">
                <a:documentation>description is free text</a:documentation>
                <data type="string">
                  <param name="maxLength">255</param>
                </data>
              </element>
            </optional>
          </interleave>
        </element>
      </zeroOrMore>
    </element>

      Element: VERSION

Table 2. Element: VERSION

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

None

Content Model

( "1.0" )

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="VERSION">
        <choice>
          <value>1.0</value>
        </choice>
      </element>

        Element: DATE_COUNT

Table 3. Element: DATE_COUNT

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

It is optional for the shift exporting system to supply a total count of shifts assigned that day. A count may be supplied for every date that has shifts included or only a subset of those days. No two DATE_COUNTs should have matching DATE elements

Content Model

DATE, COUNT

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="DATE_COUNT">
          <a:documentation>It is optional for the shift exporting system to supply a total count of shifts assigned that day.
	A count may be supplied for every date that has shifts included or only a subset of those days.  No two DATE_COUNTs should have matching DATE elements</a:documentation>
          <interleave>
            <element name="DATE">
              <a:documentation>Business date</a:documentation>
              <data type="date"/>
            </element>
            <element name="COUNT">
              <a:documentation>Number of shifts on this business date</a:documentation>
              <data type="nonNegativeInteger"/>
            </element>
          </interleave>
        </element>

            Element: DATE

Table 4. Element: DATE

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Business date

Content Model

xsd:date

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="DATE">
              <a:documentation>Business date</a:documentation>
              <data type="date"/>
            </element>

            Element: COUNT

Table 5. Element: COUNT

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Number of shifts on this business date

Content Model

xsd:nonNegativeInteger

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="COUNT">
              <a:documentation>Number of shifts on this business date</a:documentation>
              <data type="nonNegativeInteger"/>
            </element>

        Element: SHIFT

Table 6. Element: SHIFT

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

A shift may span calendar days, in which case DATE_OUT would be different than DATE_IN.

Content Model

EMP_ID ? , JOB_ID, SECTION_ID ? , DATE_IN, TIME_IN, DATE_OUT, TIME_OUT, DESCRIPTION ?

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="SHIFT">
          <a:documentation>A shift may span calendar days, in which case DATE_OUT would be different than DATE_IN. </a:documentation>
          <interleave>
            <optional>
              <element name="EMP_ID">
                <a:documentation>Employee ID is as used on the POS, it must be a positive integer however, so if the receiver needs to do translations, perhaps.
		  We may perhaps export unassigned shifts, in which case the EMP_ID element would not be present</a:documentation>
                <data type="positiveInteger"/>
              </element>
            </optional>
            <element name="JOB_ID">
              <a:documentation>Job the employee is scheduled to work
		this is a unique POS assigned ID</a:documentation>
              <data type="positiveInteger"/>
            </element>
            <optional>
              <element name="SECTION_ID">
                <a:documentation>Each job may be associated with several sections/skill levels.  Not all systems handle this the same way, so the section ID may be ignored</a:documentation>
                <data type="positiveInteger"/>
              </element>
            </optional>
            <element name="DATE_IN">
              <a:documentation>Date the shift is to start</a:documentation>
              <data type="date"/>
            </element>
            <element name="TIME_IN">
              <a:documentation>Time the shift is to start</a:documentation>
              <data type="time"/>
            </element>
            <element name="DATE_OUT">
              <a:documentation>Date the shift is to end</a:documentation>
              <data type="date"/>
            </element>
            <element name="TIME_OUT">
              <a:documentation>Time the shift is to end</a:documentation>
              <data type="time"/>
            </element>
            <optional>
              <element name="DESCRIPTION">
                <a:documentation>description is free text</a:documentation>
                <data type="string">
                  <param name="maxLength">255</param>
                </data>
              </element>
            </optional>
          </interleave>
        </element>

              Element: EMP_ID

Table 7. Element: EMP_ID

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Employee ID is as used on the POS, it must be a positive integer however, so if the receiver needs to do translations, perhaps. We may perhaps export unassigned shifts, in which case the EMP_ID element would not be present

Content Model

xsd:positiveInteger

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="EMP_ID">
                <a:documentation>Employee ID is as used on the POS, it must be a positive integer however, so if the receiver needs to do translations, perhaps.
		  We may perhaps export unassigned shifts, in which case the EMP_ID element would not be present</a:documentation>
                <data type="positiveInteger"/>
              </element>

            Element: JOB_ID

Table 8. Element: JOB_ID

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Job the employee is scheduled to work this is a unique POS assigned ID

Content Model

xsd:positiveInteger

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="JOB_ID">
              <a:documentation>Job the employee is scheduled to work
		this is a unique POS assigned ID</a:documentation>
              <data type="positiveInteger"/>
            </element>

              Element: SECTION_ID

Table 9. Element: SECTION_ID

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Each job may be associated with several sections/skill levels. Not all systems handle this the same way, so the section ID may be ignored

Content Model

xsd:positiveInteger

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="SECTION_ID">
                <a:documentation>Each job may be associated with several sections/skill levels.  Not all systems handle this the same way, so the section ID may be ignored</a:documentation>
                <data type="positiveInteger"/>
              </element>

            Element: DATE_IN

Table 10. Element: DATE_IN

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Date the shift is to start

Content Model

xsd:date

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="DATE_IN">
              <a:documentation>Date the shift is to start</a:documentation>
              <data type="date"/>
            </element>

            Element: TIME_IN

Table 11. Element: TIME_IN

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Time the shift is to start

Content Model

xsd:time

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="TIME_IN">
              <a:documentation>Time the shift is to start</a:documentation>
              <data type="time"/>
            </element>

            Element: DATE_OUT

Table 12. Element: DATE_OUT

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Date the shift is to end

Content Model

xsd:date

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="DATE_OUT">
              <a:documentation>Date the shift is to end</a:documentation>
              <data type="date"/>
            </element>

            Element: TIME_OUT

Table 13. Element: TIME_OUT

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

Time the shift is to end

Content Model

xsd:time

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="TIME_OUT">
              <a:documentation>Time the shift is to end</a:documentation>
              <data type="time"/>
            </element>

              Element: DESCRIPTION

Table 14. Element: DESCRIPTION

Namespace

http://pos.whentomanage.com/updx/schedule

Documentation

description is free text

Content Model

xsd:string

Source

<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="DESCRIPTION">
                <a:documentation>description is free text</a:documentation>
                <data type="string">
                  <param name="maxLength">255</param>
                </data>
              </element>