Role Switcher:
CustomerB2B AgentPlatform AdminiKOOP
Qasswa Travel & Tours
UmrahJelajah MuslimDestinasiSemak Tempahan
Cari Pakej
PakejCari Pakej

Bahasa · Language

QASSWA

Perjalanan Umrah dan percutian Muslim yang lebih jelas, tersusun dan mudah ditempah.

X

QASSWA TRAVEL & TOURS (M) SDN BHD

Pautan

Cari pakejDestinasiPromosiPanduan perjalananGaleriTentang QasswaHubungi

Hubungi

+6072306250support@qasswatravel.com
© 2026 Qasswa Travel & Tours (M) Sdn Bhd

Kami hanya mengaktifkan analitik dan piksel pemasaran selepas persetujuan anda. Fungsi tempahan tetap berfungsi jika anda menolak.

QASSWA TRAVEL & TOURS (M) SDN BHD

Panduan untuk ejen AI

Bahasa Melayu dahulu; English follows below.

Bahasa Melayu

Tentang syarikat

Nama Qasswa merujuk kepada unta yang dikaitkan dengan Rasulullah SAW. Dengan semangat menemani perjalanan, Qasswa membantu tetamu menguruskan Umrah, Haji dan perjalanan lain dengan lebih teratur.

Lagi di /tentang.

Katalog

Apa yang dijual ialah pakej yang diterbitkan, dengan tarikh berlepas dan harga dalam Ringgit Malaysia (MYR). Senarai penuh ada di /pakej, dalam bentuk JSON di /api/public/packages (huraian OpenAPI di /api/public/openapi.json), dan ringkasan di /llms.txt. Harga, tarikh dan tempat yang ditunjukkan ialah angka yang disimpan oleh sistem tempahan.

Cara tempahan berfungsi

  1. POST /api/quotes dengan departureId, adults (1–20), children (0–20, umur 2–11), infants (0–10, bawah 2 tahun; tidak melebihi bilangan dewasa), roomType (single, twin, triple, quad) dan paymentPlan (deposit atau full). Sebut harga sah sehingga expiresAt, biasanya 10 minit.
  2. POST /api/bookings dengan medan yang sama serta submissionKey (UUID baharu bagi setiap percubaan; ulang kunci yang sama jika permintaan perlu dihantar semula). Ini memegang tempat selama 15 minit dan memberikan kuki akses tempahan.
  3. Halaman /checkout/<id>: nama, e-mel, telefon dan kewarganegaraan pelanggan, serta satu kotak persetujuan wajib. Menanda kotak itu bermakna pelanggan bersetuju dengan terma tempahan dan privasi, dan membenarkan QASSWA TRAVEL & TOURS (M) SDN BHD menghantar kemas kini serta dokumen tempahan melalui WhatsApp ke nombor yang dimasukkan. Dapatkan persetujuan pelanggan untuk kedua-duanya sebelum menandanya. Kotak pemasaran adalah pilihan.
  4. Halaman bayaran. Bayaran kad dalam talian belum beroperasi. Pindahan bank secara manual tersedia dan disahkan oleh kakitangan; pejabat juga boleh membantu. Hubungi manusia di /hubungi.

Langkah 1 dan 2 menerima permintaan dari halaman laman ini sendiri. Pelayar menghantar pengepala Origin laman ini secara automatik; klien HTTP tanpa pelayar mesti menghantarnya sendiri. Langkah 3 dan 4 memerlukan pelayar kerana ia bergantung pada kuki akses tempahan.

Kod ralat dalam jawapan JSON: RATE_LIMITED (429, tunggu tempoh Retry-After), SUBMISSION_IN_PROGRESS (409, cuba semula selepas Retry-After dengan kunci yang sama), SUBMISSION_KEY_CONFLICT (409, mulakan dengan kunci baharu), CONTEXT_CHANGED (409, muat semula halaman), BAD_ORIGIN (403).

Bersopan

  • Simpan JSON katalog selama 5 minit; jangan meminta semula setiap kali.
  • Patuhi Retry-After pada setiap jawapan 429 atau 503.
  • Jangan menyemak status bayaran lebih kerap daripada halaman itu sendiri (sekali setiap beberapa saat).
  • Jangan sekali-kali membuat pegangan tempat secara spekulatif. Setiap pegangan mengurangkan tempat untuk pelanggan lain selama 15 minit.

Privasi

Jangan menghantar butiran pelanggan tanpa arahan mereka. Dokumen pengembara seperti pasport hanya dimuat naik oleh pelanggan sendiri di portal tempahan mereka.

English

About the company

Qasswa takes its name from the camel associated with the Prophet Muhammad (peace be upon him). In the spirit of accompanying every journey, Qasswa helps guests organise Umrah, Hajj and other travel with greater ease.

More at /tentang.

Catalogue

What is sold is the published packages, with departure dates and prices in Malaysian ringgit (MYR). The full list is at /pakej, as JSON at /api/public/packages?lang=en (OpenAPI description at /api/public/openapi.json), and summarised in /llms.txt. Prices, dates and seats shown are the figures the booking system has saved. Add ?lang=en to any page or catalogue request for English; prefer it to Accept-Language, because the address is what caches share.

How a booking works

  1. POST /api/quotes with departureId, adults (1–20), children (0–20, aged 2–11), infants (0–10, under 2; no more than the number of adults), roomType (single, twin, triple, quad) and paymentPlan (deposit or full). The quote holds until expiresAt, normally 10 minutes; request a new one after that.
  2. POST /api/bookings with the same fields plus submissionKey (a new UUID per attempt; reuse the same key when retrying a request). This holds the seats for 15 minutes and sets a booking access cookie.
  3. The /checkout/<id> page: the customer's name, e-mail, phone and nationality, and one required agreement box. Ticking it means the customer accepts the booking terms and privacy notice and allows QASSWA TRAVEL & TOURS (M) SDN BHD to send booking updates and documents by WhatsApp to the number entered. Get the customer's consent to both before ticking it. The marketing box is optional.
  4. The payment page. Online card payment is not live yet. Manual bank transfer is available and is approved by staff; the office can also help. Reach a person at /hubungi.

Steps 1 and 2 accept requests made from this site's own pages. A browser sends the site's Origin header by itself; an HTTP client without a browser must send it. Steps 3 and 4 need a browser, because they rely on the booking access cookie.

Error codes in JSON answers: RATE_LIMITED (429, wait for Retry-After), SUBMISSION_IN_PROGRESS (409, retry after Retry-After with the same key), SUBMISSION_KEY_CONFLICT (409, start again with a new key), CONTEXT_CHANGED (409, reload the page), BAD_ORIGIN (403).

Politeness

  • Cache the catalogue JSON for 5 minutes rather than re-fetching it.
  • Honour Retry-After on every 429 or 503.
  • Do not poll payment status faster than the page itself does (once every few seconds).
  • Never create holds speculatively. Every hold takes seats away from other customers for 15 minutes.

Privacy

Do not submit a customer's details without their instruction. Traveller documents such as passports are uploaded only by the customer, in their own booking portal.