Endpoint: SETU Planning Assignment - demo

Edit Request log Unarchive Delete

Your specially constructed endpoint is right here.

Request URL: https://translate.lab.semantic-treehouse.nl/api/7

Format: json

Output format: turtle

Response URL: https://httpbin.org/post

Headers: RML:
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix setu: <https://ontology.setu.nl/planning#> .
@prefix hropen: <https://hropenstandards.org/schema/xml/> .

[]
  rml:logicalSource [
    rml:source "http://www.example.com/root" ;
    rml:referenceFormulation ql:JSONPath ;
    rml:iterator "$"
  ] ;
  rr:subjectMap [
    rr:termType rr:BlankNode ;
    rr:class setu:PlanningAssignment
  ] ;
  rr:predicateObjectMap [
    rr:predicate setu:planningRequestReference ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.planningRequestReference"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class setu:PlanningRequest
        ] ;
        rr:predicateObjectMap [
          rr:predicate hropen:documentIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.planningRequestReference.documentId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:assignedPeriodicPlanningLine ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.periodicPlanningLine[*]"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class setu:PeriodicPlanningLine
        ] ;
        rr:predicateObjectMap [
          rr:predicate setu:breaks ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.periodicPlanningLine[*].breaks[*]"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:Breaks
              ] ;
              rr:predicateObjectMap [
                rr:predicate setu:breakTrigger ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.periodicPlanningLine[*].breaks[*].breakTrigger"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class setu:BreakTrigger
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate setu:breakDuration ;
                      rr:objectMap [ rml:reference "breakDuration" ]
                    ], [
                      rr:predicate setu:hours ;
                      rr:objectMap [ rml:reference "hours" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ], [
                rr:predicate setu:paidOrUnpaid ;
                rr:objectMap [ rml:reference "paidOrUnpaid" ]
              ], [
                rr:predicate setu:startTime ;
                rr:objectMap [ rml:reference "startTime" ]
              ], [
                rr:predicate setu:endTime ;
                rr:objectMap [ rml:reference "endTime" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:endTime ;
          rr:objectMap [ rml:reference "endTime" ]
        ], [
          rr:predicate setu:startTime ;
          rr:objectMap [ rml:reference "startTime" ]
        ], [
          rr:predicate setu:relatedWorker ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.periodicPlanningLine[*].relatedWorker[*]"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:RelatedWorker
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:workerIdRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.periodicPlanningLine[*].relatedWorker[*].workerId"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:Identifier
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:value ;
                      rr:objectMap [ rml:reference "value" ]
                    ], [
                      rr:predicate hropen:schemeAgencyId ;
                      rr:objectMap [ rml:reference "schemeAgencyId" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ], [
                rr:predicate setu:relatedWorkerType ;
                rr:objectMap [ rml:reference "relatedWorkerType" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:actionCode ;
          rr:objectMap [ rml:reference "actionCode" ]
        ], [
          rr:predicate setu:planningLineName ;
          rr:objectMap [ rml:reference "planningLineName" ]
        ], [
          rr:predicate setu:planningPeriod ;
          rr:objectMap [ rml:reference "planningPeriod" ]
        ], [
          rr:predicate setu:hours ;
          rr:objectMap [ rml:reference "hours" ]
        ], [
          rr:predicate setu:planningLineId ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.periodicPlanningLine[*].lineId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:Id
              ] ;
              rr:predicateObjectMap [
                rr:predicate setu:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate setu:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:assignedSinglePlanningLine ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.singlePlanningLine[*]"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class setu:SinglePlanningLine
        ] ;
        rr:predicateObjectMap [
          rr:predicate setu:planningLineName ;
          rr:objectMap [ rml:reference "planningLineName" ]
        ], [
          rr:predicate setu:planningLineId ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.singlePlanningLine[*].lineId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:Id
              ] ;
              rr:predicateObjectMap [
                rr:predicate setu:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate setu:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:relatedWorker ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.singlePlanningLine[*].relatedWorker[*]"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:RelatedWorker
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:workerIdRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.singlePlanningLine[*].relatedWorker[*].workerId"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:Identifier
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:value ;
                      rr:objectMap [ rml:reference "value" ]
                    ], [
                      rr:predicate hropen:schemeAgencyId ;
                      rr:objectMap [ rml:reference "schemeAgencyId" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ], [
                rr:predicate setu:relatedWorkerType ;
                rr:objectMap [ rml:reference "relatedWorkerType" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:periodicPlanningLineReference ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.singlePlanningLine[*].periodicPlanningLineReference"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:PeriodicPlanningLine
              ] ;
              rr:predicateObjectMap [
                rr:predicate setu:planningLineId ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.singlePlanningLine[*].periodicPlanningLineReference.lineId"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class setu:Id
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate setu:schemeAgencyId ;
                      rr:objectMap [ rml:reference "schemeAgencyId" ]
                    ], [
                      rr:predicate setu:value ;
                      rr:objectMap [ rml:reference "value" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:singlePlanningType ;
          rr:objectMap [ rml:reference "singlePlanningType" ]
        ], [
          rr:predicate setu:breaks ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.singlePlanningLine[*].breaks[*]"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:Breaks
              ] ;
              rr:predicateObjectMap [
                rr:predicate setu:breakTrigger ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.singlePlanningLine[*].breaks[*].breakTrigger"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class setu:BreakTrigger
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate setu:hours ;
                      rr:objectMap [ rml:reference "hours" ]
                    ], [
                      rr:predicate setu:breakDuration ;
                      rr:objectMap [ rml:reference "breakDuration" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ], [
                rr:predicate setu:startDateTime ;
                rr:objectMap [ rml:reference "startDateTime" ]
              ], [
                rr:predicate setu:paidOrUnpaid ;
                rr:objectMap [ rml:reference "paidOrUnpaid" ]
              ], [
                rr:predicate setu:endDateTime ;
                rr:objectMap [ rml:reference "endDateTime" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:actionCode ;
          rr:objectMap [ rml:reference "actionCode" ]
        ], [
          rr:predicate setu:startDateTime ;
          rr:objectMap [ rml:reference "startDateTime" ]
        ], [
          rr:predicate setu:endDateTime ;
          rr:objectMap [ rml:reference "endDateTime" ]
        ], [
          rr:predicate setu:hours ;
          rr:objectMap [ rml:reference "hours" ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:customer ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.customer"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class hropen:Party
        ] ;
        rr:predicateObjectMap [
          rr:predicate hropen:taxIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.customer.taxId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ], [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:legalIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.customer.legalId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:idRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.customer.id[*]"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ], [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:supplier ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.supplier"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class hropen:Party
        ] ;
        rr:predicateObjectMap [
          rr:predicate hropen:taxIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.supplier.taxId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:idRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.supplier.id[*]"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:legalIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.supplier.legalId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ], [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:actionCode ;
    rr:objectMap [ rml:reference "actionCode" ]
  ], [
    rr:predicate hropen:documentIdRef ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.documentId"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class hropen:Identifier
        ] ;
        rr:predicateObjectMap [
          rr:predicate hropen:value ;
          rr:objectMap [ rml:reference "value" ]
        ], [
          rr:predicate hropen:schemeAgencyId ;
          rr:objectMap [ rml:reference "schemeAgencyId" ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:positionProfile ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.positionProfile"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class hropen:PositionProfile
        ] ;
        rr:predicateObjectMap [
          rr:predicate hropen:shiftDescription ;
          rr:objectMap [ rml:reference "shiftDescription" ]
        ], [
          rr:predicate hropen:positionPeriodRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.positionProfile.positionPeriod"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:PositionProfile-positionPeriod
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:start ;
                rr:objectMap [ rml:reference "start" ]
              ], [
                rr:predicate hropen:end ;
                rr:objectMap [ rml:reference "end" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:workingPeriodsRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.positionProfile.workingPeriods"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:PositionProfile-workingPeriods
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:itemRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.positionProfile.workingPeriods.item[*]"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:WorkingPeriod
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:workDurationRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.workingPeriods.item[*].workDuration"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:Measure
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate hropen:value ;
                            rr:objectMap [ rml:reference "value" ]
                          ], [
                            rr:predicate hropen:unitCodeRef ;
                            rr:objectMap [
                              rr:parentTriplesMap [
                                rml:logicalSource [
                                  rml:source "http://www.example.com/root" ;
                                  rml:referenceFormulation ql:JSONPath ;
                                  rml:iterator "$.positionProfile.workingPeriods.item[*].workDuration.unitCode"
                                ] ;
                                rr:subjectMap [
                                  rr:termType rr:BlankNode ;
                                  rr:class hropen:UnitCodeList
                                ] ;
                                rr:predicateObjectMap [
                                  rr:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
                                  rr:objectMap [ rml:reference "value" ]
                                ]
                              ] ;
                              rr:joinCondition [
                                rr:child "." ;
                                rr:parent ".."
                              ]
                            ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ], [
                      rr:predicate hropen:baseDurationRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.workingPeriods.item[*].baseDuration"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:Measure
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate hropen:value ;
                            rr:objectMap [ rml:reference "value" ]
                          ], [
                            rr:predicate hropen:unitCodeRef ;
                            rr:objectMap [
                              rr:parentTriplesMap [
                                rml:logicalSource [
                                  rml:source "http://www.example.com/root" ;
                                  rml:referenceFormulation ql:JSONPath ;
                                  rml:iterator "$.positionProfile.workingPeriods.item[*].baseDuration.unitCode"
                                ] ;
                                rr:subjectMap [
                                  rr:termType rr:BlankNode ;
                                  rr:class hropen:UnitCodeList
                                ] ;
                                rr:predicateObjectMap [
                                  rr:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
                                  rr:objectMap [ rml:reference "value" ]
                                ]
                              ] ;
                              rr:joinCondition [
                                rr:child "." ;
                                rr:parent ".."
                              ]
                            ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:travelDistance ;
          rr:objectMap [ rml:reference "travelDistance" ]
        ], [
          rr:predicate setu:positionTask ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.positionProfile.positionTask"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class setu:PositionTask
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:idRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.positionProfile.positionTask.id"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:Identifier
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:value ;
                      rr:objectMap [ rml:reference "value" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ], [
                rr:predicate hropen:descriptionRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.positionProfile.positionTask.description"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:Text
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:value ;
                      rr:objectMap [ rml:reference "value" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:positionLocationRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.positionProfile.positionLocation"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:PositionProfile-positionLocation
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:itemRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.positionProfile.positionLocation.item"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:PositionProfile-positionLocation-item
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:countryCodeRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.positionLocation.item.countryCode"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:CountryCodeList
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
                            rr:objectMap [ rml:reference "value" ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ], [
                      rr:predicate hropen:line ;
                      rr:objectMap [ rml:reference "line" ]
                    ], [
                      rr:predicate hropen:postalCode ;
                      rr:objectMap [ rml:reference "postalCode" ]
                    ], [
                      rr:predicate hropen:name ;
                      rr:objectMap [ rml:reference "name" ]
                    ], [
                      rr:predicate hropen:city ;
                      rr:objectMap [ rml:reference "city" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:positionIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.positionProfile.positionId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate setu:standByIndicator ;
          rr:objectMap [ rml:reference "standByIndicator" ]
        ], [
          rr:predicate hropen:positionTitle ;
          rr:objectMap [ rml:reference "positionTitle" ]
        ], [
          rr:predicate hropen:positionOrganizationsRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.positionProfile.positionOrganizations"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:PositionProfile-positionOrganizations
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:itemRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.positionProfile.positionOrganizations.item[*]"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:PositionProfile-positionOrganizations-item
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:taxIdRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.positionOrganizations.item[*].taxId"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:Identifier
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate hropen:value ;
                            rr:objectMap [ rml:reference "value" ]
                          ], [
                            rr:predicate hropen:schemeAgencyId ;
                            rr:objectMap [ rml:reference "schemeAgencyId" ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ], [
                      rr:predicate hropen:name ;
                      rr:objectMap [ rml:reference "name" ]
                    ], [
                      rr:predicate hropen:legalIdRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.positionOrganizations.item[*].legalId"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:Identifier
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate hropen:value ;
                            rr:objectMap [ rml:reference "value" ]
                          ], [
                            rr:predicate hropen:schemeAgencyId ;
                            rr:objectMap [ rml:reference "schemeAgencyId" ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ], [
                      rr:predicate hropen:idRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.positionOrganizations.item[*].id"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:Identifier
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate hropen:schemeAgencyId ;
                            rr:objectMap [ rml:reference "schemeAgencyId" ]
                          ], [
                            rr:predicate hropen:value ;
                            rr:objectMap [ rml:reference "value" ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ], [
                      rr:predicate hropen:responsibilityCodeRef ;
                      rr:objectMap [
                        rr:parentTriplesMap [
                          rml:logicalSource [
                            rml:source "http://www.example.com/root" ;
                            rml:referenceFormulation ql:JSONPath ;
                            rml:iterator "$.positionProfile.positionOrganizations.item[*].responsibilityCode"
                          ] ;
                          rr:subjectMap [
                            rr:termType rr:BlankNode ;
                            rr:class hropen:ResponsibilityCodeList
                          ] ;
                          rr:predicateObjectMap [
                            rr:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
                            rr:objectMap [ rml:reference "value" ]
                          ]
                        ] ;
                        rr:joinCondition [
                          rr:child "." ;
                          rr:parent ".."
                        ]
                      ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate setu:assignedWorker ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:JSONPath ;
          rml:iterator "$.assignedWorker"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class setu:AssignedWorker
        ] ;
        rr:predicateObjectMap [
          rr:predicate setu:assignedStatus ;
          rr:objectMap [ rml:reference "assignedStatus" ]
        ], [
          rr:predicate hropen:workerIdRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.assignedWorker.workerId"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:Identifier
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:value ;
                rr:objectMap [ rml:reference "value" ]
              ], [
                rr:predicate hropen:schemeAgencyId ;
                rr:objectMap [ rml:reference "schemeAgencyId" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate hropen:personRef ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:JSONPath ;
                rml:iterator "$.assignedWorker.person"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class hropen:PersonLegal
              ] ;
              rr:predicateObjectMap [
                rr:predicate hropen:nameRef ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:JSONPath ;
                      rml:iterator "$.assignedWorker.person.name"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class hropen:PersonName
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate hropen:formattedName ;
                      rr:objectMap [ rml:reference "formattedName" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ] .
XML Schema:
JSON Schema:
{
  "id": "https://ontology.setu.nl/planning#PlanningAssignment",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Planning Assignment version 0.9 (DRAFT)",
  "description": "Generated by Semantic Treehouse on 2023-02-10T08:10:18+01:00",
  "required": [
    "documentId",
    "customer",
    "assignedWorker",
    "positionProfile"
  ],
  "additionalProperties": false,
  "properties": {
    "documentId": {
      "required": [
        "value",
        "schemeAgencyId"
      ],
      "additionalProperties": false,
      "properties": {
        "value": {
          "type": "object"
        },
        "schemeAgencyId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "actionCode": {
      "enum": [
        "DELETE",
        "GET",
        "POST",
        "PUT"
      ],
      "type": "string"
    },
    "supplier": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "items": {
            "required": [
              "value",
              "schemeAgencyId"
            ],
            "additionalProperties": false,
            "properties": {
              "value": {
                "type": "object"
              },
              "schemeAgencyId": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "maxItems": 2,
          "type": "array"
        },
        "legalId": {
          "required": [
            "value",
            "schemeAgencyId"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            },
            "schemeAgencyId": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "taxId": {
          "required": [
            "value",
            "schemeAgencyId"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            },
            "schemeAgencyId": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "customer": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "items": {
            "required": [
              "value",
              "schemeAgencyId"
            ],
            "additionalProperties": false,
            "properties": {
              "value": {
                "type": "object"
              },
              "schemeAgencyId": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "maxItems": 2,
          "type": "array"
        },
        "legalId": {
          "required": [
            "value",
            "schemeAgencyId"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            },
            "schemeAgencyId": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "taxId": {
          "required": [
            "value",
            "schemeAgencyId"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            },
            "schemeAgencyId": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "planningRequestReference": {
      "required": [
        "documentId"
      ],
      "additionalProperties": false,
      "properties": {
        "documentId": {
          "required": [
            "value",
            "schemeAgencyId"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            },
            "schemeAgencyId": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "assignedWorker": {
      "required": [
        "assignedStatus"
      ],
      "additionalProperties": false,
      "properties": {
        "assignedStatus": {
          "type": "boolean"
        },
        "workerId": {
          "required": [
            "value",
            "schemeAgencyId"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            },
            "schemeAgencyId": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "person": {
          "required": [
            "name"
          ],
          "additionalProperties": false,
          "properties": {
            "name": {
              "required": [
                "formattedName"
              ],
              "additionalProperties": false,
              "properties": {
                "formattedName": {
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "positionProfile": {
      "required": [
        "positionId",
        "positionLocation"
      ],
      "additionalProperties": false,
      "properties": {
        "positionId": {
          "required": [
            "value"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "object"
            }
          },
          "type": "object"
        },
        "positionTitle": {
          "type": "object"
        },
        "positionTask": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "required": [
                "value"
              ],
              "additionalProperties": false,
              "properties": {
                "value": {
                  "type": "object"
                }
              },
              "type": "object"
            },
            "description": {
              "required": [
                "value"
              ],
              "additionalProperties": false,
              "properties": {
                "value": {
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "standByIndicator": {
          "type": "boolean"
        },
        "positionLocation": {
          "required": [
            "item"
          ],
          "additionalProperties": false,
          "properties": {
            "item": {
              "required": [
                "name"
              ],
              "additionalProperties": false,
              "properties": {
                "line": {
                  "type": "object"
                },
                "countryCode": {
                  "required": [
                    "value"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "value": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "city": {
                  "type": "object"
                },
                "postalCode": {
                  "type": "object"
                },
                "name": {
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "positionOrganizations": {
          "required": [
            "item"
          ],
          "additionalProperties": false,
          "properties": {
            "item": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "taxId": {
                    "required": [
                      "value",
                      "schemeAgencyId"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "object"
                      },
                      "schemeAgencyId": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "legalId": {
                    "required": [
                      "value",
                      "schemeAgencyId"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "object"
                      },
                      "schemeAgencyId": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "responsibilityCode": {
                    "required": [
                      "value"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "id": {
                    "required": [
                      "value",
                      "schemeAgencyId"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "object"
                      },
                      "schemeAgencyId": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "name": {
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "minItems": 1,
              "type": "array"
            }
          },
          "type": "object"
        },
        "positionPeriod": {
          "required": [
            "start"
          ],
          "additionalProperties": false,
          "properties": {
            "start": {
              "type": "object"
            },
            "end": {
              "type": "object"
            }
          },
          "type": "object"
        },
        "workingPeriods": {
          "required": [
            "item"
          ],
          "additionalProperties": false,
          "properties": {
            "item": {
              "items": {
                "required": [
                  "workDuration",
                  "baseDuration"
                ],
                "additionalProperties": false,
                "properties": {
                  "workDuration": {
                    "required": [
                      "value",
                      "unitCode"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "object"
                      },
                      "unitCode": {
                        "required": [
                          "value"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "value": {
                            "enum": [
                              "Days",
                              "Hours"
                            ],
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "baseDuration": {
                    "required": [
                      "value",
                      "unitCode"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "value": {
                        "type": "object"
                      },
                      "unitCode": {
                        "required": [
                          "value"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "value": {
                            "enum": [
                              "Daily",
                              "FourWeekly",
                              "Monthly",
                              "Quarterly",
                              "Weekly",
                              "Yearly"
                            ],
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "minItems": 1,
              "type": "array"
            }
          },
          "type": "object"
        },
        "shiftDescription": {
          "type": "object"
        },
        "travelDistance": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "periodicPlanningLine": {
      "items": {
        "required": [
          "lineId",
          "planningPeriod"
        ],
        "additionalProperties": false,
        "properties": {
          "lineId": {
            "required": [
              "value",
              "schemeAgencyId"
            ],
            "additionalProperties": false,
            "properties": {
              "value": {
                "type": "string"
              },
              "schemeAgencyId": {
                "enum": [
                  "Customer",
                  "Supplier"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "actionCode": {
            "enum": [
              "DELETE",
              "GET",
              "POST",
              "PUT"
            ],
            "type": "string"
          },
          "planningLineName": {
            "type": "string"
          },
          "planningPeriod": {
            "enum": [
              "Friday",
              "Monday",
              "Saturday",
              "Sunday",
              "Thursday",
              "Tuesday",
              "Wednesday"
            ],
            "type": "string"
          },
          "startTime": {
            "type": "string",
            "format": "time"
          },
          "endTime": {
            "type": "string",
            "format": "time"
          },
          "hours": {
            "type": "number"
          },
          "breaks": {
            "items": {
              "required": [
                "paidOrUnpaid"
              ],
              "additionalProperties": false,
              "properties": {
                "paidOrUnpaid": {
                  "enum": [
                    "Paid",
                    "Unpaid"
                  ],
                  "type": "string"
                },
                "startTime": {
                  "type": "string",
                  "format": "time"
                },
                "endTime": {
                  "type": "string",
                  "format": "time"
                },
                "breakTrigger": {
                  "required": [
                    "hours",
                    "breakDuration"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "hours": {
                      "type": "number"
                    },
                    "breakDuration": {
                      "type": "string",
                      "format": "time"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "relatedWorker": {
            "items": {
              "required": [
                "workerId",
                "relatedWorkerType"
              ],
              "additionalProperties": false,
              "properties": {
                "workerId": {
                  "required": [
                    "value",
                    "schemeAgencyId"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "value": {
                      "type": "object"
                    },
                    "schemeAgencyId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "relatedWorkerType": {
                  "enum": [
                    "Preferred",
                    "Required"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "singlePlanningLine": {
      "items": {
        "required": [
          "lineId",
          "singlePlanningType"
        ],
        "additionalProperties": false,
        "properties": {
          "lineId": {
            "required": [
              "value",
              "schemeAgencyId"
            ],
            "additionalProperties": false,
            "properties": {
              "value": {
                "type": "string"
              },
              "schemeAgencyId": {
                "enum": [
                  "Customer",
                  "Supplier"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "actionCode": {
            "enum": [
              "DELETE",
              "GET",
              "POST",
              "PUT"
            ],
            "type": "string"
          },
          "planningLineName": {
            "type": "string"
          },
          "singlePlanningType": {
            "enum": [
              "Exception",
              "Occasional"
            ],
            "type": "string"
          },
          "periodicPlanningLineReference": {
            "required": [
              "lineId"
            ],
            "additionalProperties": false,
            "properties": {
              "lineId": {
                "required": [
                  "value",
                  "schemeAgencyId"
                ],
                "additionalProperties": false,
                "properties": {
                  "value": {
                    "type": "string"
                  },
                  "schemeAgencyId": {
                    "enum": [
                      "Customer",
                      "Supplier"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "startDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "endDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "hours": {
            "type": "number"
          },
          "breaks": {
            "items": {
              "required": [
                "paidOrUnpaid"
              ],
              "additionalProperties": false,
              "properties": {
                "paidOrUnpaid": {
                  "enum": [
                    "Paid",
                    "Unpaid"
                  ],
                  "type": "string"
                },
                "startDateTime": {
                  "type": "string",
                  "format": "date-time"
                },
                "endDateTime": {
                  "type": "string",
                  "format": "date-time"
                },
                "breakTrigger": {
                  "required": [
                    "hours",
                    "breakDuration"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "hours": {
                      "type": "number"
                    },
                    "breakDuration": {
                      "type": "string",
                      "format": "time"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "relatedWorker": {
            "items": {
              "required": [
                "workerId",
                "relatedWorkerType"
              ],
              "additionalProperties": false,
              "properties": {
                "workerId": {
                  "required": [
                    "value",
                    "schemeAgencyId"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "value": {
                      "type": "object"
                    },
                    "schemeAgencyId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "relatedWorkerType": {
                  "enum": [
                    "Preferred",
                    "Required"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "array"
    }
  },
  "type": "object"
}