(bool)get_option('abece_booking_block_booking_with_outstanding_balance',true),'outstanding_balance_grace_hours'=>(int)get_option('abece_booking_outstanding_balance_grace_hours',0),'enable_credit'=>(bool)get_option('abece_booking_enable_credit',true),'enable_pay_on_site'=>(bool)get_option('abece_booking_enable_pay_on_site',true),'enable_bank_transfer'=>(bool)get_option('abece_booking_enable_bank_transfer',false),'enable_qr_payment'=>(bool)get_option('abece_booking_enable_qr_payment',false),'bank_account'=>get_option('abece_booking_bank_account',['country'=>'CZ','recipient_name'=>null,'account_number'=>null,'bank_code'=>null,'iban'=>null,'bic'=>null,'currency'=>'CZK'])];} public function receivables(): array {return ['block_booking_with_outstanding_balance'=>(bool)get_option('abece_booking_block_booking_with_outstanding_balance',true),'outstanding_balance_grace_hours'=>(int)get_option('abece_booking_outstanding_balance_grace_hours',0)];} public function save(array $values): void { // update_option(false) skips an absent option because its old value is also false. // Store booleans as 0/1 so an explicit disabled value survives the default layer. foreach($values as $key=>$value)update_option('abece_booking_'.$key,is_bool($value)?(int)$value:$value,false); } }