Hey Ahmad,
Indium has provided a very smart and great widget for you,
you can check it out here,
https://marketplace.mendix.com/link/component/121037
You can have a look at this module also, while you are added,
https://marketplace.mendix.com/link/component/110117
Hope it helps!
You can get the day of the week by formatDateTime([%CurrentDateTime%], 'E'). It returns a value like “Mon, Tue” (or in the native language depending on the system's settings).
For national holidays, you will need a list of national holidays or an API that can tell (It better is to use the API to populate the national holiday entity, from a cost perspective). retrieve a list of NationalHolidays.
In the Microflow, for each Day in your Request perform a find in that NationalHolidayList, if found + 0 if not evaluate the day in the week, if not Sat/Sun +8 hours (assuming an 8 hours workday)
Go Make IT
(Don’t forget to accept the answer if it helped you)