...
- We handle all holidays defined by DHRD (http://hawaii.gov/hrd) plus bank holidays (https://www.boh.com/customer-service/1035.asp)* New Year’s Day (Federal, UH, Bank)** Martin Luther King Jr. Day (Federal, UH, Bank)** President’s Day (Federal, UH, Bank)* Prince Kuhio Day (State, UH)** Good Friday (UH)** Memorial Day (Federal, UH, Bank)
- King Kamehameha Day (State, UH)
- Independence Day (Federal, UH, Bank)
- Statehood Day (State, UH)
- Labor Day (Federal, UH, Bank)
- Columbus Day (Federal, Bank)
- Veteran’s Day (Federal, UH, Bank)
- Thanksgiving (Federal, UH, Bank)
- Christmas (Federal, UH, Bank)
- Election Day (Federal, UH, Bank)
- All holidays are one day in length (since we ignore admin holidays and student breaks).
- Changes to the holiday dates do not need to be tracked/logged.
- All holidays will be categorized to these types: state/federal/bank/UH.
- A holiday can be multiple types (e.g. all Federal holidays are also Bank holidays).
- State Holidays are defined as those that are unique to the State of Hawaii, so State and Federal never overlap.
...
create table holiday (
id int not null auto_increment
, description varchar(63) not null
, official_date datetime not null
, observed_date datetime not null
, primary key(id, observed_date)
, index off_idx(official_date)
, index obs_idx(observed_date)
) Engine=InnoDB;
create table holiday_date (
holiday_id int not null
, official_date datetime not null
, observed_date datetime not null
, primary key(holiday_id, observed_date)
, index off_idx(official_date)
, index obs_idx(observed_date)
) Engine=InnoDB;
...