github.com/enbility/spine-go@v0.7.0/model/timetable.go (about) 1 package model 2 3 type TimeTableIdType uint 4 5 type TimeSlotIdType uint 6 7 type TimeSlotCountType TimeSlotIdType 8 9 type TimeSlotTimeModeType string 10 11 const ( 12 TimeSlotTimeModeTypeAbsolute TimeSlotTimeModeType = "absolute" 13 TimeSlotTimeModeTypeRecurring TimeSlotTimeModeType = "recurring" 14 TimeSlotTimeModeTypeBoth TimeSlotTimeModeType = "both" 15 ) 16 17 type TimeTableDataType struct { 18 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty" eebus:"key"` 19 TimeSlotId *TimeSlotIdType `json:"timeSlotId,omitempty"` 20 RecurrenceInformation *RecurrenceInformationType `json:"recurrenceInformation,omitempty"` 21 StartTime *AbsoluteOrRecurringTimeType `json:"startTime,omitempty"` 22 EndTime *AbsoluteOrRecurringTimeType `json:"endTime,omitempty"` 23 } 24 25 type TimeTableDataElementsType struct { 26 TimeTableId *ElementTagType `json:"timeTableId,omitempty"` 27 TimeSlotId *ElementTagType `json:"timeSlotId,omitempty"` 28 RecurrenceInformation *RecurrenceInformationElementsType `json:"recurrenceInformation,omitempty"` 29 StartTime *AbsoluteOrRecurringTimeElementsType `json:"startTime,omitempty"` 30 EndTime *AbsoluteOrRecurringTimeElementsType `json:"endTime,omitempty"` 31 } 32 33 type TimeTableListDataType struct { 34 TimeTableData []TimeTableDataType `json:"timeTableData,omitempty"` 35 } 36 37 type TimeTableListDataSelectorsType struct { 38 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"` 39 TimeSlotId *TimeSlotIdType `json:"timeSlotId,omitempty"` 40 } 41 42 type TimeTableConstraintsDataType struct { 43 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty" eebus:"key"` 44 SlotCountMin *TimeSlotCountType `json:"slotCountMin,omitempty"` 45 SlotCountMax *TimeSlotCountType `json:"slotCountMax,omitempty"` 46 SlotDurationMin *DurationType `json:"slotDurationMin,omitempty"` 47 SlotDurationMax *DurationType `json:"slotDurationMax,omitempty"` 48 SlotDurationStepSize *DurationType `json:"slotDurationStepSize,omitempty"` 49 SlotShiftStepSize *DurationType `json:"slotShiftStepSize,omitempty"` 50 FirstSlotBeginsAt *TimeType `json:"firstSlotBeginsAt,omitempty"` 51 } 52 53 type TimeTableConstraintsDataElementsType struct { 54 TimeTableId *ElementTagType `json:"timeTableId,omitempty"` 55 SlotCountMin *ElementTagType `json:"slotCountMin,omitempty"` 56 SlotCountMax *ElementTagType `json:"slotCountMax,omitempty"` 57 SlotDurationMin *ElementTagType `json:"slotDurationMin,omitempty"` 58 SlotDurationMax *ElementTagType `json:"slotDurationMax,omitempty"` 59 SlotDurationStepSize *ElementTagType `json:"slotDurationStepSize,omitempty"` 60 SlotShiftStepSize *ElementTagType `json:"slotShiftStepSize,omitempty"` 61 FirstSlotBeginsAt *ElementTagType `json:"firstSlotBeginsAt,omitempty"` 62 } 63 64 type TimeTableConstraintsListDataType struct { 65 TimeTableConstraintsData []TimeTableConstraintsDataType `json:"timeTableConstraintsData,omitempty"` 66 } 67 68 type TimeTableConstraintsListDataSelectorsType struct { 69 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"` 70 } 71 72 type TimeTableDescriptionDataType struct { 73 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty" eebus:"key"` 74 TimeSlotCountChangeable *bool `json:"timeSlotCountChangeable,omitempty"` 75 TimeSlotTimesChangeable *bool `json:"timeSlotTimesChangeable,omitempty"` 76 TimeSlotTimeMode *TimeSlotTimeModeType `json:"timeSlotTimeMode,omitempty"` 77 Label *LabelType `json:"label,omitempty"` 78 Description *DescriptionType `json:"description,omitempty"` 79 } 80 81 type TimeTableDescriptionDataElementsType struct { 82 TimeTableId *ElementTagType `json:"timeTableId,omitempty"` 83 TimeSlotCountChangeable *ElementTagType `json:"timeSlotCountChangeable,omitempty"` 84 TimeSlotTimesChangeable *ElementTagType `json:"timeSlotTimesChangeable,omitempty"` 85 TimeSlotTimeMode *ElementTagType `json:"timeSlotTimeMode,omitempty"` 86 Label *ElementTagType `json:"label,omitempty"` 87 Description *ElementTagType `json:"description,omitempty"` 88 } 89 90 type TimeTableDescriptionListDataType struct { 91 TimeTableDescriptionData []TimeTableDescriptionDataType `json:"timeTableDescriptionData,omitempty"` 92 } 93 94 type TimeTableDescriptionListDataSelectorsType struct { 95 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"` 96 }