Skip to content

Instantly share code, notes, and snippets.

@absyah
Last active February 7, 2024 13:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save absyah/a4a1f0903e234e21867db1318cce80cd to your computer and use it in GitHub Desktop.
Save absyah/a4a1f0903e234e21867db1318cce80cd to your computer and use it in GitHub Desktop.
Shift Generator Payloads
{
"required_members": 9,
"classes": [
{
"id": 1,
"name": "A",
"required_members": {
"morning": 2,
"naptime": 2,
"other": 2
}
},
{
"id": 2,
"name": "B",
"required_members": {
"morning": 2,
"naptime": 2,
"other": 2
}
},
{
"id": 3,
"name": "C",
"required_members": {
"morning": 2,
"naptime": 2,
"other": 2
}
},
{
"id": 4,
"name": "D",
"required_members": {
"morning": 2,
"naptime": 2,
"other": 2
}
},
{
"id": 5,
"name": "E",
"required_members": {
"morning": 2,
"naptime": 2,
"other": 2
}
},
{
"id": 6,
"name": "F",
"required_members": {
"morning": 2,
"naptime": 2,
"other": 2
}
}
],
"members": [
{
"name": "Taylor Miller",
"tags": [
"childminder"
]
},
{
"name": "Rebecca Powell",
"tags": [
"newcomer"
]
},
{
"name": "Shawn Stevens",
"tags": [
"newcomer"
]
},
{
"name": "Jason Delgado",
"tags": [
"childminder"
]
},
{
"name": "Mark Martin",
"tags": [
"childminder"
]
},
{
"name": "Jay Smith",
"tags": [
"childminder"
]
},
{
"name": "Dr. Daniel Griffin",
"tags": [
"childminder"
]
},
{
"name": "Randy Miller",
"tags": [
"newcomer"
]
},
{
"name": "Martin Nguyen",
"tags": [
"newcomer"
]
}
],
"prioritized_tags": [
[
"keyholder",
"newcomer"
],
[
"childminder",
"childminder"
]
],
"avoided_tags": [
[
"newcomer",
"newcomer"
],
[
"keyholder",
"keyholder"
]
]
}
export const monthlyBody = {
non_working_dates: [2, 14, 25, 26],
shifts: [
{
id: '91e5357b-23b5-46fe-8210-b85acf4b1e56',
name: 'Early A',
type: 'early_shift',
label: 'A-ES',
color: 'green',
break_start_time: '12:00',
break_end_time: '13:00',
work_start_time: '07:00',
work_end_time: '13:00',
working_hours_duration: 9,
required_members: {
weekday: 3,
saturday: 3,
sunday: 3,
holiday: 0,
},
assigned_shifts: [
{ date: 1, shift_type: 'early_shift' },
{ date: 4, shift_type: 'late_shift' },
],
},
{
id: 'a83329ff-0d62-45d0-b566-6decfeaeba4d',
name: 'Late A',
type: 'late_shift',
label: 'A-LS',
color: 'red',
break_start_time: '18:00',
break_end_time: '19:00',
work_start_time: '13:00',
work_end_time: '23:00',
working_hours_duration: 9,
required_members: {
weekday: 3,
saturday: 3,
sunday: 3,
holiday: 0,
},
},
{
id: '55ff5fad-6509-44ee-b29a-afa8dc97c9b3',
name: 'Early B',
type: 'early_shift',
label: 'B-ES',
color: 'blue',
break_start_time: '12:00',
break_end_time: '13:00',
work_start_time: '07:00',
work_end_time: '13:00',
working_hours_duration: 9,
required_members: {
weekday: 2,
saturday: 2,
sunday: 2,
holiday: 2,
},
},
{
id: '0148e760-a5a4-4317-a5c7-842be75d99a9',
name: 'Late B',
type: 'late_shift',
label: 'B-LS',
color: 'yellow',
break_start_time: '18:00',
break_end_time: '19:00',
work_start_time: '13:00',
work_end_time: '23:00',
working_hours_duration: 9,
required_members: {
weekday: 2,
saturday: 2,
sunday: 2,
holiday: 2,
},
},
],
members: [
{
id: '22aa85a7-39d1-43cd-9155-5416b69455fd',
name: 'Devas Updated',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [18],
tags: ['keyholder'],
day_off: [],
},
{
id: 'f7f28e8c-97b4-4a69-b8fa-887f40e40b30',
name: 'B. Ardian',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [13],
tags: ['newcomer'],
day_off: [],
},
{
id: '3',
name: 'Randall Cruz',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [17],
tags: ['keyholder'],
day_off: [],
},
{
id: '4',
name: 'Rebecca Jones',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [28],
tags: ['newcomer'],
day_off: [],
},
{
id: '5',
name: 'Charles Gonzalez',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [13],
tags: ['keyholder'],
day_off: [],
},
{
id: '6',
name: 'Adrian Ferrell',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [15],
tags: ['childminder'],
day_off: [],
},
{
id: '7',
name: 'Robert Wilcox',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [22],
tags: ['newcomer'],
day_off: [],
},
{
id: '8',
name: 'Frederick Simon',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [17],
tags: ['keyholder'],
day_off: [],
},
{
id: '9',
name: 'Carol Gill',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [15],
tags: ['keyholder'],
day_off: [],
},
{
id: '10',
name: 'Amy Watkins',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [21],
tags: ['keyholder'],
day_off: [],
},
{
id: '11',
name: 'Ricky Garrett',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [12],
tags: ['childminder'],
day_off: [],
},
{
id: '12',
name: 'Paula Leblanc',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [27],
tags: ['childminder'],
day_off: [],
},
{
id: '13',
name: 'Crystal Rose',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [2],
tags: ['childminder'],
day_off: [],
},
{
id: '14',
name: 'Bryce Little',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [12],
tags: ['newcomer'],
day_off: [],
},
{
id: '15',
name: 'Cassandra Owens',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [3],
tags: ['newcomer'],
day_off: [],
},
{
id: '16',
name: 'Carla Bender',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [24],
tags: ['childminder'],
day_off: [],
},
{
id: '17',
name: 'Jackie Golden',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [26],
tags: ['keyholder'],
day_off: [],
},
{
id: '18',
name: 'Rebecca Wong',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [4],
tags: ['newcomer'],
day_off: [],
},
{
id: '19',
name: 'Carla Berry',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [10],
tags: ['newcomer'],
day_off: [],
},
{
id: '20',
name: 'Bruce Bishop',
max_hours_per_week: 40,
max_hours_per_month: 170,
max_early_shift_per_month: 7,
max_late_shift_per_month: 7,
shift_requests: [24],
tags: ['childminder'],
day_off: [],
},
],
tags: [
{
id: '1',
name: 'chief',
required_members: {
weekday: 1,
saturday: 1,
sunday: 1,
holiday: 1,
},
},
{
id: '2',
name: 'keyholder',
required_members: {
weekday: 1,
saturday: 1,
sunday: 1,
holiday: 1,
},
},
{
id: '3',
name: 'newcomer',
required_members: {
weekday: 1,
saturday: 1,
sunday: 1,
holiday: 1,
},
},
{
id: '4',
name: 'childminder',
required_members: {
weekday: 1,
saturday: 1,
sunday: 1,
holiday: 1,
},
},
],
max_consecutive_working_days: 3,
avoid_consecutive_early_shift: true,
avoid_consecutive_late_shift: true,
avoid_consecutive_early_shift_late_shift: true,
avoid_consecutive_saturday: true,
}
{
"current_year": 2023,
"current_month": 12,
"non_working_dates": [
2,
14,
25,
26
],
"shifts": [
{
"id": 1,
"name": "Early A",
"type": "early_shift",
"working_time": [
9,
18
],
"break_time": [
12,
13
],
"working_hours_duration": 9,
"required_members": {
"weekday": 3,
"saturday": 3,
"sunday": 3,
"holiday": 0
}
},
{
"id": 2,
"name": "Late A",
"type": "late_shift",
"working_time": [
12,
21
],
"break_time": [
17,
18
],
"working_hours_duration": 9,
"required_members": {
"weekday": 3,
"saturday": 3,
"sunday": 3,
"holiday": 0
}
},
{
"id": 3,
"name": "Early B",
"type": "early_shift",
"working_time": [
12,
21
],
"break_time": [
17,
18
],
"working_hours_duration": 9,
"required_members": {
"weekday": 2,
"saturday": 2,
"sunday": 2,
"holiday": 2
}
},
{
"id": 4,
"name": "Late B",
"type": "late_shift",
"working_time": [
12,
21
],
"break_time": [
17,
18
],
"working_hours_duration": 9,
"required_members": {
"weekday": 2,
"saturday": 2,
"sunday": 2,
"holiday": 2
}
}
],
"members": [
{
"name": "Lindsey Aguilar",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
18
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Bailey Young",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
13
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Randall Cruz",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
17
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Rebecca Jones",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
28
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Charles Gonzalez",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
13
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Adrian Ferrell",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
15
],
"tags": [
"childminder"
],
"day_off": []
},
{
"name": "Robert Wilcox",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
22
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Frederick Simon",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
17
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Carol Gill",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
15
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Amy Watkins",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
21
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Ricky Garrett",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
12
],
"tags": [
"childminder"
],
"day_off": []
},
{
"name": "Paula Leblanc",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
27
],
"tags": [
"childminder"
],
"day_off": []
},
{
"name": "Crystal Rose",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
2
],
"tags": [
"childminder"
],
"day_off": []
},
{
"name": "Bryce Little",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
12
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Cassandra Owens",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
3
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Carla Bender",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
24
],
"tags": [
"childminder"
],
"day_off": []
},
{
"name": "Jackie Golden",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
26
],
"tags": [
"keyholder"
],
"day_off": []
},
{
"name": "Rebecca Wong",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
4
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Carla Berry",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
10
],
"tags": [
"newcomer"
],
"day_off": []
},
{
"name": "Bruce Bishop",
"max_hours_per_week": 40,
"max_hours_per_month": 170,
"max_early_shift_per_month": 7,
"max_late_shift_per_month": 7,
"shift_requests": [
24
],
"tags": [
"childminder"
],
"day_off": []
}
],
"tags": [
{
"id": 1,
"name": "chief",
"required_members": {
"weekday": 1,
"saturday": 1,
"sunday": 1,
"holiday": 1
}
},
{
"id": 2,
"name": "keyholder",
"required_members": {
"weekday": 1,
"saturday": 1,
"sunday": 1,
"holiday": 1
}
},
{
"id": 3,
"name": "newcomer",
"required_members": {
"weekday": 1,
"saturday": 1,
"sunday": 1,
"holiday": 1
}
},
{
"id": 4,
"name": "childminder",
"required_members": {
"weekday": 1,
"saturday": 1,
"sunday": 1,
"holiday": 1
}
}
],
"max_consecutive_working_days": 3,
"avoid_consecutive_early_shift": true,
"avoid_consecutive_late_shift": true,
"avoid_consecutive_early_shift_late_shift": true,
"avoid_consecutive_saturday": true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment