
Saudi is the primary market and fallback; Kuwait is the second market. The same country state travels through financing, tracking, dashboard, payment, transfer, approval letters and the new installment store.
Saudi is detected from timezone/locale and used as fallback. A country link can explicitly open Kuwait. The selector now offers only Saudi and Kuwait.
country = saudi | kuwaitApply form uses that country's currency, ID label and placeholder. Submission is saved locally with status Submitted.
id = customer IDAdmin sees Saudi and Kuwait records, filters by market, clicks Approve and adds banks for one selected country.
status = approvedCustomer enters the same Iqama / Civil ID. Track reads the saved status and shows Approved, Review or Rejected.
approved resultOpens with the same ID. Amount, monthly payment, fee and terms are converted into that country's currency.
country-specific financingOnly the selected country's bank accounts appear — including any custom bank added from admin for that country.
no mixed-country banksTransfer uses the same country's bank examples and fees. A detailed 2-page approval letter is generated for Saudi or Kuwait.
country PDFShop Now opens a separate 51-product store with real branded product photography, Saudi/Kuwait prices and hot deals.
shop.htmlEvery product has colours, variations, quantity, Add to Cart and Buy Now. The mandatory first down payment is shown in detail.
down payment firstCart keeps selected colour/variation. Checkout accepts card payment or continues to the existing payment.html bank-transfer flow.
card or payment.htmlThe store order, due-today amount, processing fee and status appear at the top of payment.html when arriving from checkout.
shared localStorageProcessing fee 200 base, 0% interest, 0% markup and the on-time fee rejection note appear across hero, details, apply success, portal and store pages.
consistent everywhere51 real product images and every admin upload are on Cloudinary. Website text, products, applications, banks, proofs and orders live in Firestore; SDK listeners start only for the opened section.
fast assets · live textStore and admin product grids show 3 products per row. Every image is contained in a white box with padding and Cloudinary c_pad — no crop, no vertical one-by-one list.
object-fit: containadmin / zeeshan opens applications with step marks, payment proof slips, payment method updates, a separate Shop product editor, website text, orders and image library.
admin.htmlSame layout, different data. The country chip at the top of every portal page confirms the active market.
| Market | Currency | ID used | Regulator | Fee (200 base) | Banks shown |
|---|---|---|---|---|---|
| 🇸🇦 Saudi | SAR | National ID / Iqama | SAMA | SAR 200 | Al Rajhi Bank, Saudi National Bank |
| 🇰🇼 Kuwait | KWD | Kuwait Civil ID | CBK | KWD 16.400 | Kuwait Finance House, National Bank of Kuwait |