function createPremiumPolicy($company_id, $type)
 {
     $ppf = new PremiumPolicyFactory();
     $ppf->setCompany($company_id);
     switch ($type) {
         case 10:
             //Simple weekend premium
             $ppf->setName('Weekend');
             $ppf->setType(10);
             $ppf->setPayType(20);
             $ppf->setStartDate('');
             $ppf->setEndDate('');
             $ppf->setStartTime(TTDate::parseDateTime('12:00 AM'));
             $ppf->setEndTime(TTDate::parseDateTime('11:59 PM'));
             $ppf->setMon(FALSE);
             $ppf->setTue(FALSE);
             $ppf->setWed(FALSE);
             $ppf->setThu(FALSE);
             $ppf->setFri(FALSE);
             $ppf->setSat(TRUE);
             $ppf->setSun(TRUE);
             $ppf->setRate('1.33');
             //$1.33 per hour
             $ppf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Premium 1'));
             break;
         case 20:
             //Simple evening premium
             $ppf->setName('Evening');
             $ppf->setType(10);
             $ppf->setPayType(10);
             //Pay multiplied by factor
             $ppf->setIncludePartialPunch(TRUE);
             $ppf->setStartDate('');
             $ppf->setEndDate('');
             $ppf->setStartTime(TTDate::parseDateTime('5:00 PM'));
             $ppf->setEndTime(TTDate::parseDateTime('11:59 PM'));
             $ppf->setMon(FALSE);
             $ppf->setTue(FALSE);
             $ppf->setWed(FALSE);
             $ppf->setThu(FALSE);
             $ppf->setFri(TRUE);
             $ppf->setSat(FALSE);
             $ppf->setSun(FALSE);
             $ppf->setWageGroup($this->user_wage_groups[0]);
             $ppf->setRate('1.50');
             $ppf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Premium 2'));
             break;
     }
     if ($ppf->isValid()) {
         $insert_id = $ppf->Save();
         Debug::Text('Premium Policy ID: ' . $insert_id, __FILE__, __LINE__, __METHOD__, 10);
         return $insert_id;
     }
     Debug::Text('Failed Creating Premium Policy!', __FILE__, __LINE__, __METHOD__, 10);
     return FALSE;
 }
 if (isset($data['minimum_break_time'])) {
     $ppf->setMinimumBreakTime($data['minimum_break_time']);
 }
 $ppf->setMinimumTime($data['minimum_time']);
 $ppf->setMaximumTime($data['maximum_time']);
 if (isset($data['include_meal_policy'])) {
     $ppf->setIncludeMealPolicy(TRUE);
 } else {
     $ppf->setIncludeMealPolicy(FALSE);
 }
 if (isset($data['include_break_policy'])) {
     $ppf->setIncludeBreakPolicy(TRUE);
 } else {
     $ppf->setIncludeBreakPolicy(FALSE);
 }
 $ppf->setWageGroup($data['wage_group_id']);
 $ppf->setRate($data['rate']);
 $ppf->setPayStubEntryAccountId($data['pay_stub_entry_account_id']);
 $ppf->setAccrualPolicyId($data['accrual_policy_id']);
 $ppf->setAccrualRate($data['accrual_rate']);
 $ppf->setBranchSelectionType($data['branch_selection_type_id']);
 if (isset($data['exclude_default_branch'])) {
     $ppf->setExcludeDefaultBranch(TRUE);
 } else {
     $ppf->setExcludeDefaultBranch(FALSE);
 }
 $ppf->setDepartmentSelectionType($data['department_selection_type_id']);
 if (isset($data['exclude_default_department'])) {
     $ppf->setExcludeDefaultDepartment(TRUE);
 } else {
     $ppf->setExcludeDefaultDepartment(FALSE);