Немного неясно, что вы спрашиваете, но если вы спрашиваете, как организовать данные на первом скриншоте (это будет очень похоже на второй скриншот), вот оно:
{
"users": [
{
"id": 1,
"name": "John"
},
{
"id": 2,
"name": "Mary"
},
{
"id": 3,
"name": "Tereza"
},
{
"id": 4,
"name": "Joe"
}
],
"schedules": [
{
"id": 1,
"part": "Morning",
"time": "08:00"
},
{
"id": 2,
"part": "Afternoon",
"time": "14:00"
}
],
"actions": [
{
"id": 1,
"type": "GET"
}
],
"entries": [
{
"userId": 1,
"scheduleId": 1,
"actionId": 1
},
{
"userId": 1,
"scheduleId": 2,
"actionId": 1
},
{
"userId": 2,
"scheduleId": 1,
"actionId": 1
},
{
"userId": 3,
"scheduleId": 1,
"actionId": 1
},
{
"userId": 4,
"scheduleId": 1,
"actionId": 1
},
{
"userId": 4,
"scheduleId": 2,
"actionId": 1
}
]
}
Идея состоит в том, что вы организуете свои данные в небольшие логические блоки, и тогда записи - это просто комбинации этих логических блоков. Таким образом, если вы измените имя человека, вам не нужно будет go повсеместно заменять его.
А если вам нужно сгруппировать его, то вы можете искать записи с помощью тот же userId или scheduleId, et c и группируйте их таким образом.
Надеюсь, это поможет. Удачи.