|
model | example
{
"title": "Order Template Dates Filter",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "com.sos.joc.model.order.ScheduleDatesFilter",
"type": "object",
"properties": {
"calendars": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.AssignedCalendars",
"type": "object",
"required": [
"calendarName",
"periods"
],
"properties": {
"calendarName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"calendarPath": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"timeZone": {
"type": "string",
"default": "Etc/UTC"
},
"includes": {
"javaType": "com.sos.inventory.model.calendar.Frequencies",
"type": "object",
"anyOf": [{
"required": [
"dates"
]
}, {
"required": [
"weekdays"
]
}, {
"required": [
"monthdays"
]
}, {
"required": [
"ultimos"
]
}, {
"required": [
"months"
]
}, {
"required": [
"holidays"
]
}, {
"required": [
"repetitions"
]
}],
"properties": {
"dates": {
"type": "array",
"minItems": 1,
"items": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
}
},
"weekdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeekDays",
"type": "object",
"required": [
"days"
],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
}
}
}
}
},
"monthdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
},
"ultimos": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
},
"months": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Months",
"type": "object",
"anyOf": [{
"required": [
"months",
"weekdays"
]
}, {
"required": [
"months",
"monthdays"
]
}, {
"required": [
"months",
"ultimos"
]
}],
"properties": {
"months": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 1,
"maximum": 12
}
},
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"weekdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeekDays",
"type": "object",
"required": [
"days"
],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
}
}
}
}
},
"monthdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
},
"ultimos": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
}
}
}
},
"holidays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Holidays",
"type": "object",
"required": [
"dates"
],
"properties": {
"nationalCalendar": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"dates": {
"type": "array",
"minItems": 1,
"items": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
}
}
}
}
},
"repetitions": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Repetition",
"type": "object",
"required": [
"repetition",
"step"
],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"repetition": {
"javaType": "com.sos.inventory.model.calendar.RepetitionText",
"type": "string",
"enum": [
"DAILY",
"WEEKLY",
"MONTHLY",
"YEARLY"
]
},
"step": {
"type": "integer",
"minimum": 1,
"default": 1
}
}
}
}
}
},
"excludes": {
"javaType": "com.sos.inventory.model.calendar.Frequencies",
"type": "object",
"anyOf": [{
"required": [
"dates"
]
}, {
"required": [
"weekdays"
]
}, {
"required": [
"monthdays"
]
}, {
"required": [
"ultimos"
]
}, {
"required": [
"months"
]
}, {
"required": [
"holidays"
]
}, {
"required": [
"repetitions"
]
}],
"properties": {
"dates": {
"type": "array",
"minItems": 1,
"items": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
}
},
"weekdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeekDays",
"type": "object",
"required": [
"days"
],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
}
}
}
}
},
"monthdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
},
"ultimos": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
},
"months": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Months",
"type": "object",
"anyOf": [{
"required": [
"months",
"weekdays"
]
}, {
"required": [
"months",
"monthdays"
]
}, {
"required": [
"months",
"ultimos"
]
}],
"properties": {
"months": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 1,
"maximum": 12
}
},
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"weekdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeekDays",
"type": "object",
"required": [
"days"
],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
}
}
}
}
},
"monthdays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
},
"ultimos": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.MonthDays",
"type": "object",
"anyOf": [{
"required": [
"days"
]
}, {
"required": [
"weeklyDays"
]
}],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"days": {
"type": "array",
"minItems": 1,
"items": {
"description": "digit from 1-31",
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"weeklyDays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.WeeklyDay",
"type": "object",
"required": [
"day",
"weekOfMonth"
],
"properties": {
"day": {
"description": "digit from 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"weekOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}
}
}
}
}
}
}
},
"holidays": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Holidays",
"type": "object",
"required": [
"dates"
],
"properties": {
"nationalCalendar": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"dates": {
"type": "array",
"minItems": 1,
"items": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
}
}
}
}
},
"repetitions": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Repetition",
"type": "object",
"required": [
"repetition",
"step"
],
"properties": {
"from": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"to": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"repetition": {
"javaType": "com.sos.inventory.model.calendar.RepetitionText",
"type": "string",
"enum": [
"DAILY",
"WEEKLY",
"MONTHLY",
"YEARLY"
]
},
"step": {
"type": "integer",
"minimum": 1,
"default": 1
}
}
}
}
}
},
"periods": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.calendar.Period",
"type": "object",
"properties": {
"singleStart": {
"type": "string",
"pattern": "^([0-1][0-9]|2[0-4])(:[0-5][0-9]){1,2}$"
},
"begin": {
"type": "string",
"pattern": "^([0-1][0-9]|2[0-4])(:[0-5][0-9]){1,2}$"
},
"end": {
"type": "string",
"pattern": "^([0-1][0-9]|2[0-4])(:[0-5][0-9]){1,2}$"
},
"repeat": {
"type": "string",
"pattern": "^([0-1][0-9]|2[0-4])(:[0-5][0-9]){1,2}$"
},
"whenHoliday": {
"javaType": "com.sos.inventory.model.calendar.WhenHolidayType",
"description": "default: SUPPRESS",
"type": "string",
"enum": [
"SUPPRESS",
"IGNORE",
"PREVIOUSNONWORKINGDAY",
"NEXTNONWORKINGDAY"
]
}
}
}
}
}
}
},
"nonWorkingDayCalendars": {
"type": "array",
"items": {
"javaType": "com.sos.inventory.model.calendar.AssignedNonWorkingDayCalendars",
"type": "object",
"required": [
"calendarName"
],
"properties": {
"calendarName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"calendarPath": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
}
}
},
"dateFrom": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"dateTo": {
"description": "ISO date YYYY-MM-DD",
"type": "string",
"format": "date"
},
"timeZone": {
"description": "see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones",
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
}
}
{ "timeZone": "Europe/Berlin", "dateFrom": "2020-01-01", "dateTo": "2020-12-31", "calendars": [{ "calendarPath": "/test/eachFriday", "includes": { "monthdays": [{ "weeklyDays": [{ "day": 5, "weekOfMonth": 1 }] }] }, "periods": [{ "singleStart": "00:00:00", "whenHoliday": "SUPPRESS" }] }, { "calendarPath": "/test/eachFriday", "includes": { "monthdays": [{ "weeklyDays": [{ "day": 5, "weekOfMonth": 4 }] }] }, "periods": [{ "begin": "02:00:00", "end": "11:00:00", "repeat": "01:00:00", "whenHoliday": "PREVIOUSNONWORKINGDAY" }] }], "nonWorkingDayCalendars": [{ "calendarPath": "/test/holidays1" }] }
{
"timeZone": "Europe/Berlin",
"dateFrom": "2020-01-01",
"dateTo": "2020-12-31",
"calendars": [{
"calendarPath": "/test/eachFriday",
"includes": {
"monthdays": [{
"weeklyDays": [{
"day": 5,
"weekOfMonth": 1
}]
}]
},
"periods": [{
"singleStart": "00:00:00",
"whenHoliday": "SUPPRESS"
}]
}, {
"calendarPath": "/test/eachFriday",
"includes": {
"monthdays": [{
"weeklyDays": [{
"day": 5,
"weekOfMonth": 4
}]
}]
},
"periods": [{
"begin": "02:00:00",
"end": "11:00:00",
"repeat": "01:00:00",
"whenHoliday": "PREVIOUSNONWORKINGDAY"
}]
}],
"nonWorkingDayCalendars": [{
"calendarPath": "/test/holidays1"
}]
}
|
|