Skip to main content

Pull Future Reservation Service

Saat ini Pull future reservation dapat di lakukan di masing-masing property untuk beberapa OTA tertentu yang menyediakan feature ini. Property dapat melakukan pull future reservasi dengan mengaccess url channel manager > control panel > Agoda > setting > buton pull future reservation. List Ota Yang menyediakan feature ini adalah

  • Agoda
  • Booking.com
  • Airbnb
  • Expedia

Jika melakukan Bulk future reservasi sangat sudah di lakukan, untuk itu service ini di buat untuk menghandel Bul Future reservation.


Database​

Perlu di buatkan satu table untuk menampung log sehingga akan tau step dari reproduce sampai success di execute. Nama table: pull_reservation Database: Logs

mysql query create table

Queue​

Rabbit MQ akan di gunakan untuk menampung queue property. Queue name nya adalah pull_future_reservation


Flow Overview​

1. Get list Property​

Get list active properties and mapping with the 4 OTAs

fdgdf

2. Push to RabbitMQ Queue​

For each valid property:

  • Log the activity in a reservation_pull_log (or similar) table and get ID
  • Push to RabbitMQ queue with the name: pull_future_reservation
    type Queue struct {
ID int `json:"id"` // Property ID
Name string `json:"name"` // Property Name
OtaName string `json:"ota_name"` // e.g., "booking", "agoda", "airbnb"
OtaId int `json:"ota_id"` // OTA ID
LogId int32 `json:"log_id"` // Log entry ID for tracking
}

3. Worker: Consumer Logic​

  • Consume from queue: pull_future_reservation
  • For each property in the message:
    • Hit external script endpoint:
POST http://bookandlink.com/ota/admin_mapping/callResvScript.php
  • Payload (as x-www-form-urlencoded):
formData.Set("codice", strconv.Itoa(prop.ID))
formData.Set("site", prop.OtaName)
formData.Set("flag", "1")
formData.Set("view", "2")
formData.Set("callingLoc", "configBot")
formData.Set("ota_id", strconv.Itoa(prop.OtaId))
  • On response:
    • Update the related log entry (log_id) with result/status

🕒 Scheduler​

  • n/a

📋 Notes​

  • Ensure the external URL http://bookandlink.com/ota/admin_mapping/callResvScript.php is reachable and stable.
  • Logging and monitoring are critical to trace failed pulls.