郵輪B2C P3 艙房人數範圍(InitBookingLimit)

API Content

說明

「艙房 / 人數」燈箱的範圍限制與年齡說明。P2、P3 開燈箱前都打這支。

使用重點:

文件版本:v1.0(未交付)

規格調整

日期版本調整內容
2026/11/11v1.0(未交付)初版

Request Schema

查詢參數

名稱描述屬性範例
Brand_Code必填。品牌代碼(P2 航程詳情回的 Brand_Code;P3 用 QueryCategory Itinerary_Info 回的,直接開 P3 網址時從網址帶)StringDCL
Ship_Code必填。船艦代碼(P2 航程詳情回的 Ship_Code;P3 同 Brand_Code)StringDA
Itinerary_Id選填。行程編號(P2 航程詳情 Itinerary_List 的同名欄,QueryCategory 帶的同一個值)。帶了 Guest_Max 看這個出發日還有哪些房型;沒帶看這艘船全部房型Int5007

JSON 範例

Cruise/Products/InitBookingLimit?Brand_Code=DCL&Ship_Code=DA&Itinerary_Id=5007

Response Schema

回應主體

名稱描述屬性範例
Result_Info結果資訊;前端先看 Is_SuccessObject參考 Result_Info
Result_Data成功時是本端點的資料;不是成功時只放該代碼要帶的資料(見「錯誤回應」),沒有就是 {}Object參考 Result_Data

Result_Info

名稱描述屬性範例
Is_Successtrue=成功;false=看 Result_CodeBooltrue
Result_Code結果代碼(四碼數字);成功是空字串;其他見「錯誤回應」String
Result_Message給客人看的訊息;成功是空字串String

Result_Data

名稱描述屬性範例
Booking_Limit燈箱的範圍限制與年齡說明Object參考 Booking_Limit

Booking_Limit

前端照 Room_Max、Guest_Min、Guest_Max、Adult_Min 判斷,提示字的間數、人數也照這裡顯示,不要寫死。打 QueryCategory 時後端會再驗一次。

名稱描述屬性範例
Room_Max最多幾間房。到上限:WEB 不顯示〔+ 新增艙房〕,APP「艙房數」〔+〕不能按Int2
Guest_Min每間房最少幾人,大人+小孩+嬰兒合計Int1
Guest_Max每間房最多幾人,大人+小孩+嬰兒合計。到上限:這間房所有〔+〕不能按。帶了 Itinerary_Id 時看這個出發日還有的房型,可能比沒帶時小Int4
Adult_Min每間房至少幾位大人。到這個數:大人〔−〕不能按Int1
Age_Bracket_List燈箱的人數分類與年齡說明,一個分類一筆List參考 Age_Bracket_List

預設值前端固定:1 間房、每間 2 大人;新增第 2 間也是 2 大人;〔重設〕回到 1 間 2 大人。這裡的 Guest_Min、Guest_Max 是燈箱範圍,跟艙房介紹 Profile_List 的同名欄不同。

這裡不含登船規定(月齡、艙房監護、懷孕):那些要看旅客生日,燈箱判斷不了,填旅客時後端才驗。Age_Bracket_List 是分類的年齡範圍,不是登船規定。

Age_Bracket_List

燈箱的人數列,一個分類一筆,順序就是畫面順序。前端照清單畫,有幾筆畫幾列,不要寫死三列;雛形的年齡字是示意,以 Age_Text 為準。

名稱描述屬性範例
Bracket_Code分類代碼:Adt 大人、Chd 小孩、Inf 嬰兒。打 QueryCategory 時對到 Room_List 的 Adt_Count、Chd_Count、Inf_CountStringAdt
Bracket_Name分類名稱String大人
Age_Text年齡說明,後端組好,前端直接顯示String13歲以上(含)

JSON 範例

{
  "Result_Info": {
    "Is_Success": true,
    "Result_Code": "",
    "Result_Message": ""
  },
  "Result_Data": {
    "Booking_Limit": {
      "Room_Max": 2,
      "Guest_Min": 1,
      "Guest_Max": 4,
      "Adult_Min": 1,
      "Age_Bracket_List": [
        {
          "Bracket_Code": "Adt",
          "Bracket_Name": "大人",
          "Age_Text": "13歲以上(含)"
        },
        {
          "Bracket_Code": "Chd",
          "Bracket_Name": "小孩",
          "Age_Text": "3-12歲"
        },
        {
          "Bracket_Code": "Inf",
          "Bracket_Name": "嬰兒",
          "Age_Text": "6個月-未滿3歲"
        }
      ]
    }
  }
}

錯誤回應

200 的代碼在 Result_Info.Result_Code、訊息在 Result_Message;400、500 只回一句訊息,代碼在訊息開頭(格式「代碼|訊息」,例「4002|Start_Date 格式錯誤」)。訊息欄除了「重複訂位」與「出發日期已無法訂購,請重新選擇」已定,其他是暫定文字,UIUX 定稿後只改文字、不改代碼;N=第幾間。

HTTPResult_Code中文名稱訊息(給客人看)情境前端動作
2003002查無船艦查無船艦資料品牌或船艦不存在、未啟用由前端判斷
2003004行程不可售出發日期已無法訂購,請改選其他出發日期帶了 Itinerary_Id,但行程不存在、不是這艘船、不可售,或已經沒有可售房型由前端判斷
5009999系統錯誤9999|系統發生錯誤,請稍後再試系統錯誤(未預期的例外)顯示友善錯誤訊息,可以重試

測試情境/單元測試(開發前規劃)

畫面呼叫

舊版畫面

新版畫面

P2 航程詳情出發日按〔選擇〕、P3 選擇艙房按〔重選艙房與人數〕(APP 導覽列放大鏡),或直接開 P3 網址 → 呼叫本 API → 開「艙房 / 人數」燈箱。雛形:UIUX 20260922 版 WEB P3-W01、P2-W10、P2-W11,APP P3-A02、P2-A11~A13。

畫面欄位對照(WEB)

燈箱本身就是這支 API 的整個畫面,跟 P2 是同一個燈箱(雛形 WEB P2-W10)。圖片可點開放大。

畫面欄位對照(APP)

雛形 APP P2-A11。圖片可點開放大。