false, 'ERROR' => 'no_business_selected']); } try { $biz = queryOne(" SELECT ID, Name, TaxRate, Phone FROM Businesses WHERE ID = ? LIMIT 1 ", [$businessId]); if (!$biz) { apiAbort(['OK' => false, 'ERROR' => 'business_not_found']); } // Get address $addr = queryOne(" SELECT a.Line1, a.Line2, a.City, a.ZIPCode, s.Abbreviation AS State FROM Addresses a LEFT JOIN tt_States s ON s.ID = a.StateID WHERE (a.BusinessID = ? OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = ?)) AND a.IsDeleted = 0 LIMIT 1 ", [$businessId, $businessId]); // Get owner email $user = queryOne(" SELECT ContactNumber, EmailAddress FROM Users WHERE ID = (SELECT UserID FROM Businesses WHERE ID = ?) LIMIT 1 ", [$businessId]); $taxRate = is_numeric($biz['TaxRate']) ? (float)$biz['TaxRate'] : 0; jsonResponse([ 'OK' => true, 'SETTINGS' => [ 'BusinessID' => (int)$biz['ID'], 'Name' => $biz['Name'], 'TaxRate' => $taxRate, 'TaxRatePercent' => $taxRate * 100, 'Address' => $addr['Line1'] ?? '', 'City' => $addr['City'] ?? '', 'State' => $addr['State'] ?? '', 'Zip' => $addr['ZIPCode'] ?? '', 'Phone' => $biz['Phone'] ?? '', 'Email' => $user['EmailAddress'] ?? '', ], ]); } catch (Throwable $e) { apiAbort(['OK' => false, 'ERROR' => 'server_error', 'MESSAGE' => $e->getMessage()]); }