diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/Calendar/lib/items/Item.js b/SAS/TMSS/frontend/tmss_webapp/src/components/Calendar/lib/items/Item.js
index 358e6decb83504340c0f1574a06e12bfb127c751..6a1c2dd0ac65566f35c6ac6873d61978a615f4d2 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/components/Calendar/lib/items/Item.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/components/Calendar/lib/items/Item.js
@@ -515,7 +515,6 @@ export default class Item extends Component {
   getDragRightRef = el => (this.dragRight = el)
 
   getItemProps = (props = {}) => {
-    //TODO: maybe shouldnt include all of these classes
     const classNames =
       'rct-item' +
       (this.props.item.className ? ` ${this.props.item.className}` : '')
@@ -531,7 +530,7 @@ export default class Item extends Component {
       onTouchEnd: composeEvents(this.onTouchEnd, props.onTouchEnd),
       onDoubleClick: composeEvents(this.handleDoubleClick, props.onDoubleClick),
       onContextMenu: composeEvents(this.handleContextMenu, props.onContextMenu),
-      style: Object.assign({}, this.getItemStyle(props))
+      style: { ...this.getItemStyle(props)}
     }
   }
 
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/DateTimeNavigator.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/DateTimeNavigator.js
index 0313270a57c34fc29fa259734cf6aed71be31da4..aa7cfaf01ba72a7634902b3655fb3834bb99a7e3 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/DateTimeNavigator.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/DateTimeNavigator.js
@@ -18,7 +18,7 @@ function DateSelector(props) {  //TODO: extract to separate class
         setStartAndEndTimeCallback,
     } = props
 
-    const DayorWeekOptions = ["Showing Day At", "Showing Week From"];
+    const DayorWeekOptions = ["Showing Day At", "Showing Week From","Showing Month From","Quarter From","Year From"];
     const [selectedDayWeekOptions, setSelectedDayWeekOptions] = useState("Showing Week From")
 
     const options = {
@@ -41,6 +41,17 @@ function DateSelector(props) {  //TODO: extract to separate class
         if (selectedDayWeekOptions == DayorWeekOptions[0]) {
             numberDays = 0
         }
+        if (selectedDayWeekOptions == DayorWeekOptions[2]) {
+            numberDays = 31
+        }
+        if (selectedDayWeekOptions == DayorWeekOptions[3]) {
+            numberDays = 90
+        }
+        if (selectedDayWeekOptions == DayorWeekOptions[4]) {
+            numberDays = 365
+        }
+
+
         const newEndTime = currentStartTime.clone().add(numberDays, 'days').endOf('day')
         setStartAndEndTimeCallback(currentStartTime, newEndTime)
     }
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js
index f65d44285b1b1a86d43fde86f2b1fdf52e4de780..a698d5a8549e627d778bf282b019ebca6b0c940c 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js
@@ -25,8 +25,8 @@ function splitElementPerDay(element, spanInDays, shouldShowOnSkyTimes, viewStart
         const startTime = (shouldShowOnSkyTimes ? (element.on_sky_start_time ?? element.process_start_time) : element.process_start_time) ?? element.start_time
         const endTime = (shouldShowOnSkyTimes ? (element.on_sky_stop_time ?? element.process_stop_time) : element.process_stop_time) ?? element.stop_time
         const { formattedStart, formattedEnd, start, end } = determineNewStartAndEnd(startTime, day, spanInDays, endTime);
-
-        if (start.isSameOrAfter(viewStartTime) && end.isSameOrBefore(viewEndTime)) {
+        
+        if ((!startTime || start.isSameOrAfter(viewStartTime)) && ( !endTime  || end.isSameOrBefore(viewEndTime))    ) {
             if (shouldShowOnSkyTimes) {
                 newElement.on_sky_start_time = formattedStart
                 newElement.on_sky_stop_time = formattedEnd
@@ -52,9 +52,6 @@ function splitElementPerDay(element, spanInDays, shouldShowOnSkyTimes, viewStart
 export function splitObjectIfSpanIsMultipleDays(element, shouldShowOnSkyTimes, viewStartTime, viewEndTime) {
     let startTime = (shouldShowOnSkyTimes ? (element.on_sky_start_time ?? element.process_start_time) : element.process_start_time) ?? element.start_time
     let stopTime = (shouldShowOnSkyTimes ? (element.on_sky_stop_time ?? element.process_stop_time) : element.process_stop_time) ?? element.stop_time
-
-
-
     if (!startTime) {
         throw new ReferenceError("(On Sky) start time is not defined for:\n" + JSON.stringify(element))
     }
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.test.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.test.js
index 841e616510749dfb66458481ae05b30b357d599a..3aff39a5c6ae6ec3303f2c2c5ee31da7d485da60 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.test.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.test.js
@@ -23,7 +23,7 @@ describe("splitObjectIfSpanIsMultipleDays", () => {
             start_time: "2023-09-01T11:00:00",
             stop_time: "2023-09-03T10:00:00",
         };
-        const newElements = splitObjectIfSpanIsMultipleDays(element, false);
+        const newElements = splitObjectIfSpanIsMultipleDays(element, false,moment( "2023-09-01T11:00:00"),  moment("2023-09-08T11:00:00"));
 
         expect(newElements).toHaveLength(3);
 
@@ -45,7 +45,7 @@ describe("splitObjectIfSpanIsMultipleDays", () => {
             process_start_time: "2023-09-01T11:00:00",
             process_stop_time: "2023-09-03T10:00:00",
         };
-        const newElements = splitObjectIfSpanIsMultipleDays(element, false);
+        const newElements = splitObjectIfSpanIsMultipleDays(element, false,moment( "2023-09-01T10:00:00"),  moment( "2023-09-08T11:00:00"));
 
         expect(newElements).toHaveLength(3);
 
@@ -67,7 +67,7 @@ describe("splitObjectIfSpanIsMultipleDays", () => {
             on_sky_start_time: "2023-09-01T11:00:00",
             on_sky_stop_time: "2023-09-03T10:00:00",
         };
-        const newElements = splitObjectIfSpanIsMultipleDays(element, true);
+        const newElements = splitObjectIfSpanIsMultipleDays(element, true,moment( "2023-09-01T11:00:00"),  moment( "2023-09-09T11:00:00"));
 
         expect(newElements).toHaveLength(3);
 
@@ -91,7 +91,7 @@ describe("splitObjectIfSpanIsMultipleDays", () => {
             on_sky_start_time: null,
             on_sky_stop_time: null,
         };
-        const newElements = splitObjectIfSpanIsMultipleDays(element, true);
+        const newElements = splitObjectIfSpanIsMultipleDays(element, true,moment( "2023-09-01T11:00:00"),  moment( "2023-09-09T11:00:00"));
 
         expect(newElements).toHaveLength(3);
 
@@ -113,7 +113,7 @@ describe("splitObjectIfSpanIsMultipleDays", () => {
             process_start_time: "2023-09-01T11:00:00",
             process_stop_time: null,
         };
-        const newElements = splitObjectIfSpanIsMultipleDays(element);
+        const newElements = splitObjectIfSpanIsMultipleDays(element,false, moment( "2023-09-01T11:00:00"),  moment( "2023-09-121T11:00:00"));
 
         expect(newElements).toHaveLength(8);
 
@@ -306,7 +306,7 @@ describe('getReservationItem', () => {
         start_time: '2023-08-08 10:00:00',
         stop_time: '2023-08-08 12:00:00',
         duration: 7200,
-        project_id: '123',
+        projects_ids: ['123'],
         description: 'with a grass mower'
     };