aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/schedule/model.go
blob: fcf39a5c4cf14c211ed040bf01e233d20d68fcb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package schedule

import "time"

type Schedule struct {
	Conference Conference `json:"conference"`
	Tracks     []Track    `json:"tracks"`
	Days       []Day      `json:"days"`
}

type Conference struct {
	Title            string `json:"title"`
	Venue            string `json:"venue"`
	City             string `json:"city"`
	Start            string `json:"start"`
	End              string `json:"end"`
	Days             int    `json:"days"`
	DayChange        string `json:"dayChange"`
	TimeslotDuration string `json:"timeslotDuration"`
	BaseURL          string `json:"baseUrl"`
	TimeZoneName     string `json:"timeZoneName"`
}

type Track struct {
	Name string `json:"name"`
}

type Day struct {
	Date  string    `json:"date"`
	Start time.Time `json:"start"`
	End   time.Time `json:"end"`
	Rooms []Room    `json:"rooms"`
}

type Room struct {
	Name   string  `json:"name"`
	Events []Event `json:"events"`
}

type Event struct {
	ID          int32        `json:"id"`
	GUID        string       `json:"guid"`
	Date        string       `json:"date"`
	Start       time.Time    `json:"start"`
	End         time.Time    `json:"end"`
	Duration    int32        `json:"duration"`
	Room        string       `json:"room"`
	URL         string       `json:"url"`
	Track       string       `json:"track"`
	Type        string       `json:"type"`
	Title       string       `json:"title"`
	Abstract    string       `json:"abstract"`
	Persons     []Person     `json:"persons"`
	Attachments []Attachment `json:"attachments"`
	Links       []Link       `json:"links"`
}

type Person struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

type Attachment struct {
	Type string `json:"string"`
	Href string `json:"href"`
	Name string `json:"name"`
}

type Link struct {
	Href string `json:"href"`
	Name string `json:"name"`
}