Widget is not updated following timeline

I have widget for schedule app
I tried get my widget updated according to user's schedule

Here is actual code for 'get timeline' in timeline provider
note that I make 2 entries for each user schedule
( one for notice start of schedule one hour early, the other for notice end of schedule)

Code Block
let entryBeforehand = ScheduleEntry(
    date: oneHourEarly,
    holiday: holidays?[day.toInt],
    scheduleTable: contractTable(start: day, tablePtr: &schedules))
entries.append(entryBeforehand)
let entryExpired =  ScheduleEntry(
    date: dateExpired,
    holiday: holidays?[day.toInt],
    scheduleTable: contractTable(start: day, tablePtr: &schedules))
entries.append(entryExpired)


But both entries can't trigger widget updating itself
Widget is not updated following timeline
 
 
Q