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  }