Discussion around dtStart being optional for AvailTimeRangeType.
Does it matter? Create with the current time, end wherever wanted. All you need. Vav without time ranges is that it's the background. Nominal schedule - with recurrence rules.
Without priority doesn't make sense. What you deliver is likely very simplified and time limited.
Priority value comes directly out of 5545. Undefined is background. Then decreasing priority numbers, priority: integer - if not there, undefined, lowest priority. 0 is highest, 9 is lowest. Consider consistency - so require presence, 10 is the equivalent of not present in 5545.