郵輪B2C P3 選擇艙房(QueryCategory)

API Content

說明

P2、P3 的「艙房 / 人數」燈箱按〔確認〕後打這支,帶行程與各房人數,回每間房可選的方案卡片與艙型頁籤。一張卡片=方案 × 艙型 × 票價。同一筆訂位要再查一次時,改帶 Page_Id 打這支(重查)。

使用重點:

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

規格調整

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

Request Schema

Body

有沒有帶 Page_Id 分兩種:新查詢帶行程、各房人數、Request_Mode;重查帶 Page_Id(只查一間再加 Room_Seq),其他欄位不用帶。

名稱描述屬性範例
Page_Id重查必填。上一次回應的 Page_Id。有帶就是重查;新查詢不帶String6f1e2d3c-4b5a-4c7d-8e9f-0a1b2c3d4e5f
Room_Seq選填,重查才看。只查第幾間;不帶=全部房都查Int2
Itinerary_Id新查詢必填。行程編號(P2 航程詳情 Itinerary_List 的同名欄)Int5001
Departure_Date新查詢必填。出發日 yyyy/MM/dd(P2 航程詳情 Itinerary_List 的同名欄)。要跟 Itinerary_Id 是同一筆String2026/10/01
Room_List新查詢必填。一間房一筆,最多幾間看 Booking_Limit 的 Room_MaxList參考 Room_List
Request_Mode新查詢必填。呼叫端平台:WEB/APP(同 P1 搜尋)StringWEB

Room_List

新查詢才帶。一間房一筆,順序就是艙房 1、2。跟回應的 Room_List 同名,內容不同。

名稱描述屬性範例
Adt_Count必填。這間的大人數Int2
Chd_Count必填。這間的小孩數,沒有給 0Int0
Inf_Count必填。這間的嬰兒數,沒有給 0Int0

JSON 範例

新查詢:

{
  "Itinerary_Id": 5001,
  "Departure_Date": "2026/10/01",
  "Room_List": [
    {
      "Adt_Count": 2,
      "Chd_Count": 0,
      "Inf_Count": 0
    },
    {
      "Adt_Count": 2,
      "Chd_Count": 1,
      "Inf_Count": 0
    }
  ],
  "Request_Mode": "WEB"
}

重查第 2 間:

{
  "Page_Id": "6f1e2d3c-4b5a-4c7d-8e9f-0a1b2c3d4e5f",
  "Room_Seq": 2
}

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

名稱描述屬性範例
Page_Id訂位鑰匙,一筆訂位一個;重查回的跟帶進來的一樣。進選艙房頁之後的步驟、重查都用這一個,不分房。畫面不顯示String6f1e2d3c-4b5a-4c7d-8e9f-0a1b2c3d4e5f
Session_Version訂位版本。新查詢是 1,重查回目前的值;進旅客填寫頁時帶這個;之後每支寫入都回新的值,前端帶最新的Int1
Itinerary_Info頁首行程摘要、APP 導覽列Object參考 Itinerary_Info
Room_List每間房一筆,順序同 Request 的 Room_ListList參考 Room_List

Itinerary_Info

名稱描述屬性範例
Itinerary_Id行程編號,〔重選艙房與人數〕開燈箱用Int5001
Product_Id產品編號,〔重選日期〕回 P2 用Int101
Brand_Code品牌代碼。頁籤 ⓘ 打艙房介紹(GetCabinProfile)、〔重選艙房與人數〕打燈箱範圍(InitBookingLimit)時帶;畫面不顯示StringDCL
Ship_Code船艦代碼。用法同 Brand_Code;畫面不顯示StringDA
Product_Title麵包屑,照原樣顯示String迪士尼探險號|新加坡出發 3 晚海上假期
Nav_TitleWEB 頁首標題String迪士尼探險號 (3晚)
Departure_Date出發日 yyyy/MM/dd,星期前端算String2026/10/01
Return_Date回程日 yyyy/MM/dd,星期前端算String2026/10/04
Room_Count幾間房,「2 間房」Int2
Adt_Count全部房的大人數Int4
Chd_Count全部房的小孩數,0 不顯示Int1
Inf_Count全部房的嬰兒數,0 不顯示Int0

Room_List

名稱描述屬性範例
Room_Seq第幾間房。重查帶了 Room_Seq 時,Room_List 只有那一間Int1
Adt_Count這間的大人數;已選艙房卡片「2 大人・2 小孩・1 嬰兒」、APP 底部膠囊逐房顯示,重整後燈箱帶回原本的設定Int2
Chd_Count這間的小孩數Int0
Inf_Count這間的嬰兒數Int0
Hold_Until_Time這間的佔房到期時間(進旅客填寫頁佔到才有);沒佔房是 null,新查詢一定是 null。P3 重整後用它判斷有沒有保留:任一間有值就先打 ReleaseAllHolds 放掉全部,再全部房重選Stringnull
Type_Price_List艙型頁籤,這艘船的每個分類一筆List參考 Type_Price_List
Category_List方案卡片,照 Fare_Price 低到高排。空陣列=這間沒有可訂艙房List參考 Category_List
Filter_Info篩選面板的選項與價格範圍Object參考 Filter_Info

Filter_Info

篩選面板的初始值,從這間全部卡片 distinct 出來,不受勾選影響。切換艙房換用那間的;勾選後的比對前端做。

名稱描述屬性範例
Fare_Price_Min「每房價格」滑桿最低。沒有卡片是 nullInt39800
Fare_Price_Max「每房價格」滑桿最高。沒有卡片是 nullInt69120
Fare_Range_List價格區間按鈕List參考 Fare_Range_List
Channel_Type_List「產品類型」選項List參考 篩選選項
Confirm_Refund_List「確認與退改」選項:立即確認、有條件取消。這間沒有的不列;兩個選項比對不同欄,看 Field_NameList參考 篩選選項
Cabin_Selectable_List「選房方式」選項List參考 篩選選項

Fare_Range_List

🟡 切法待定,先等分四段;沒有卡片的區間不回,所以可能少於四段。金額格式前端依平台顯示。

名稱描述屬性範例
Fare_Price_Min這一段最低Int39800
Fare_Price_Max這一段最高Int47130

篩選選項

三個選項清單的每一筆。勾選後保留 Field_Name 那一欄等於 Value 的卡片;同一組勾多個取聯集,不同組取交集,價格範圍算一組。

名稱描述屬性範例
Value比對值StringCruqo
Text選項顯示文字String船司直營
Field_Name比對 Category_List 的哪一欄:Channel_Type/Confirm_Type/Refund_Type/Cabin_Selectable_TypeStringChannel_Type

Type_Price_List

第一筆固定是全部艙房,後面分類與順序同 GetCabinProfile 的 Cabin_Type_List。

名稱描述屬性範例
Profile_Type分類代碼,對 Category_List 的同名欄。all=全部艙房,顯示全部卡片Stringall
Profile_Type_Name頁籤名稱String全部艙房
Fare_Price這一類最低價,台幣整數。null=這一類沒有卡片,顯示「售完」Int39800
Category_Count這一類有幾張卡片,頁籤括號的筆數Int4

Category_List

名稱描述屬性範例
Plan_Id方案編號。按〔選擇〕帶回Int8101
Category_Id艙型編號。按〔選擇〕帶回Int6011
Fare_Code票價代碼。按〔選擇〕帶回,畫面不顯示StringBESTPRICE
Category_Code艙型代碼,卡片標題的「11A」String11A
Profile_Id艙型範本編號。艙房介紹:只帶這個呼叫 GetCabinProfile(Profile_Id),回這一個範本Int301
Profile_Name艙房名稱,卡片標題的「內艙」String內艙
Guest_Min最少入住人數,「入住 2–4 人」的 2Int2
Guest_Max最多入住人數,「入住 2–4 人」的 4Int4
Profile_Type分類代碼,對頁籤Stringinterior
Image_List卡片照片,第一張是封面。同範本的卡片內容相同。空陣列顯示預設圖List參考 Image_List
Channel_Type產品類型代碼:Cruqo/Self_Block。「產品類型」篩選比對這欄StringCruqo
Channel_Type_Name卡片標籤:Cruqo=船司直營、Self_Block=可樂獨家String船司直營
Promo_Text促銷標籤,一張最多一句。null 不顯示String20%優惠
Fare_Price這間房實際人數的整間價(含稅),台幣整數Int39800
Policy_Rule_Id條款規則編號:查方案詳情(GetPolicyDetail)帶這個;也看得出這張卡套的是哪條規則Int31
Confirm_Type確認方式:立即確認/人工回覆。「確認與退改」篩選比對這欄String立即確認
Confirm_Text確認方式的顯示文字,後端組好,例「48 小時內回覆確認」String立即確認
Refund_Type退改類型:不可更改取消及退費/有條件取消。「確認與退改」篩選比對這欄,圖示顏色也看這欄String不可更改取消及退費
Refund_Text退改的顯示文字,後端組好,卡片直接顯示:「不可更改、取消及退費」/「有條件取消」String不可更改、取消及退費
Cabin_Selectable_Type選房方式:可自選房號/系統配房。卡片顯示這欄,「選房方式」篩選也比對這欄String系統配房
Cabin_Selectable_Text點「系統配房」開的說明文字。可自選房號時是 null,不顯示 ⓘStringGTY「郵輪保證艙房」保證可以預訂到你所選擇的房種(包括視野有遮擋的艙房),艙房號碼、層數及位置將由遊輪公司系統配房,無法提出要求,並以遊輪公司之最後安排為準,所派發之艙房號碼、層數及位置客人無法更改及異議。
Is_Bonustrue 顯示「方案詳情 (含贈品)」,false 顯示「方案詳情」Booltrue

一筆是一張卡片,不是一個艙型。同一艙型可能有好幾張卡:票價不同就是不同卡片,可能同價、條款不同,都要列,所以 Category_Id 會重複。

Image_List

名稱描述屬性範例
Image_Url圖片網址Stringhttps://img.example.com/cruise/da-in-01.jpg
Alt_Text圖片替代文字String內艙

JSON 範例

範例是第 1 間 2 大人、第 2 間 2 大人 1 小孩。

{
  "Result_Info": {
    "Is_Success": true,
    "Result_Code": "",
    "Result_Message": ""
  },
  "Result_Data": {
    "Page_Id": "6f1e2d3c-4b5a-4c7d-8e9f-0a1b2c3d4e5f",
    "Session_Version": 1,
    "Itinerary_Info": {
      "Itinerary_Id": 5001,
      "Product_Id": 101,
      "Brand_Code": "DCL",
      "Ship_Code": "DA",
      "Product_Title": "迪士尼探險號|新加坡出發 3 晚海上假期",
      "Nav_Title": "迪士尼探險號 (3晚)",
      "Departure_Date": "2026/10/01",
      "Return_Date": "2026/10/04",
      "Room_Count": 2,
      "Adt_Count": 4,
      "Chd_Count": 1,
      "Inf_Count": 0
    },
    "Room_List": [
      {
        "Room_Seq": 1,
        "Adt_Count": 2,
        "Chd_Count": 0,
        "Inf_Count": 0,
        "Hold_Until_Time": null,
        "Type_Price_List": [
          {
            "Profile_Type": "all",
            "Profile_Type_Name": "全部艙房",
            "Fare_Price": 39800,
            "Category_Count": 4
          },
          {
            "Profile_Type": "interior",
            "Profile_Type_Name": "內艙房",
            "Fare_Price": 39800,
            "Category_Count": 2
          },
          {
            "Profile_Type": "oceanview",
            "Profile_Type_Name": "海景艙房",
            "Fare_Price": 49520,
            "Category_Count": 1
          },
          {
            "Profile_Type": "balcony",
            "Profile_Type_Name": "陽台艙房",
            "Fare_Price": 69120,
            "Category_Count": 1
          },
          {
            "Profile_Type": "suite",
            "Profile_Type_Name": "禮賓級艙房",
            "Fare_Price": null,
            "Category_Count": 0
          }
        ],
        "Category_List": [
          {
            "Plan_Id": 8101,
            "Category_Id": 6011,
            "Fare_Code": "BESTPRICE",
            "Category_Code": "11A",
            "Profile_Id": 301,
            "Profile_Name": "內艙",
            "Guest_Min": 2,
            "Guest_Max": 4,
            "Profile_Type": "interior",
            "Image_List": [
              {
                "Image_Url": "https://img.example.com/cruise/da-in-01.jpg",
                "Alt_Text": "內艙"
              }
            ],
            "Channel_Type": "Cruqo",
            "Channel_Type_Name": "船司直營",
            "Promo_Text": "20%優惠",
            "Fare_Price": 39800,
            "Policy_Rule_Id": 31,
            "Confirm_Type": "立即確認",
            "Confirm_Text": "立即確認",
            "Refund_Type": "不可更改取消及退費",
            "Refund_Text": "不可更改、取消及退費",
            "Cabin_Selectable_Type": "系統配房",
            "Cabin_Selectable_Text": "GTY「郵輪保證艙房」保證可以預訂到你所選擇的房種(包括視野有遮擋的艙房),艙房號碼、層數及位置將由遊輪公司系統配房,無法提出要求,並以遊輪公司之最後安排為準,所派發之艙房號碼、層數及位置客人無法更改及異議。",
            "Is_Bonus": true
          },
          {
            "Plan_Id": 8101,
            "Category_Id": 6011,
            "Fare_Code": "XTRA_GST_HALF",
            "Category_Code": "11A",
            "Profile_Id": 301,
            "Profile_Name": "內艙",
            "Guest_Min": 2,
            "Guest_Max": 4,
            "Profile_Type": "interior",
            "Image_List": [
              {
                "Image_Url": "https://img.example.com/cruise/da-in-01.jpg",
                "Alt_Text": "內艙"
              }
            ],
            "Channel_Type": "Cruqo",
            "Channel_Type_Name": "船司直營",
            "Promo_Text": null,
            "Fare_Price": 39800,
            "Policy_Rule_Id": 32,
            "Confirm_Type": "人工回覆",
            "Confirm_Text": "48 小時內回覆確認",
            "Refund_Type": "有條件取消",
            "Refund_Text": "有條件取消",
            "Cabin_Selectable_Type": "系統配房",
            "Cabin_Selectable_Text": "GTY「郵輪保證艙房」保證可以預訂到你所選擇的房種(包括視野有遮擋的艙房),艙房號碼、層數及位置將由遊輪公司系統配房,無法提出要求,並以遊輪公司之最後安排為準,所派發之艙房號碼、層數及位置客人無法更改及異議。",
            "Is_Bonus": false
          },
          {
            "Plan_Id": 8101,
            "Category_Id": 6009,
            "Fare_Code": "BESTPRICE",
            "Category_Code": "09A",
            "Profile_Id": 311,
            "Profile_Name": "海景艙",
            "Guest_Min": 2,
            "Guest_Max": 4,
            "Profile_Type": "oceanview",
            "Image_List": [
              {
                "Image_Url": "https://img.example.com/cruise/da-ov-01.jpg",
                "Alt_Text": "海景艙"
              },
              {
                "Image_Url": "https://img.example.com/cruise/da-ov-02.jpg",
                "Alt_Text": "海景艙"
              }
            ],
            "Channel_Type": "Cruqo",
            "Channel_Type_Name": "船司直營",
            "Promo_Text": null,
            "Fare_Price": 49520,
            "Policy_Rule_Id": 33,
            "Confirm_Type": "立即確認",
            "Confirm_Text": "立即確認",
            "Refund_Type": "不可更改取消及退費",
            "Refund_Text": "不可更改、取消及退費",
            "Cabin_Selectable_Type": "可自選房號",
            "Cabin_Selectable_Text": null,
            "Is_Bonus": false
          },
          {
            "Plan_Id": 8101,
            "Category_Id": 6007,
            "Fare_Code": "BESTPRICE",
            "Category_Code": "07A",
            "Profile_Id": 321,
            "Profile_Name": "陽台艙",
            "Guest_Min": 2,
            "Guest_Max": 4,
            "Profile_Type": "balcony",
            "Image_List": [
              {
                "Image_Url": "https://img.example.com/cruise/da-ba-01.jpg",
                "Alt_Text": "陽台艙"
              }
            ],
            "Channel_Type": "Cruqo",
            "Channel_Type_Name": "船司直營",
            "Promo_Text": null,
            "Fare_Price": 69120,
            "Policy_Rule_Id": 33,
            "Confirm_Type": "立即確認",
            "Confirm_Text": "立即確認",
            "Refund_Type": "不可更改取消及退費",
            "Refund_Text": "不可更改、取消及退費",
            "Cabin_Selectable_Type": "可自選房號",
            "Cabin_Selectable_Text": null,
            "Is_Bonus": false
          }
        ],
        "Filter_Info": {
          "Fare_Price_Min": 39800,
          "Fare_Price_Max": 69120,
          "Fare_Range_List": [
            {
              "Fare_Price_Min": 39800,
              "Fare_Price_Max": 47130
            },
            {
              "Fare_Price_Min": 47131,
              "Fare_Price_Max": 54460
            },
            {
              "Fare_Price_Min": 61791,
              "Fare_Price_Max": 69120
            }
          ],
          "Channel_Type_List": [
            {
              "Value": "Cruqo",
              "Text": "船司直營",
              "Field_Name": "Channel_Type"
            }
          ],
          "Confirm_Refund_List": [
            {
              "Value": "立即確認",
              "Text": "立即確認",
              "Field_Name": "Confirm_Type"
            },
            {
              "Value": "有條件取消",
              "Text": "有條件取消",
              "Field_Name": "Refund_Type"
            }
          ],
          "Cabin_Selectable_List": [
            {
              "Value": "可自選房號",
              "Text": "可自選房號",
              "Field_Name": "Cabin_Selectable_Type"
            },
            {
              "Value": "系統配房",
              "Text": "系統配房",
              "Field_Name": "Cabin_Selectable_Type"
            }
          ]
        }
      },
      {
        "Room_Seq": 2,
        "Adt_Count": 2,
        "Chd_Count": 1,
        "Inf_Count": 0,
        "Hold_Until_Time": null,
        "Type_Price_List": [
          {
            "Profile_Type": "all",
            "Profile_Type_Name": "全部艙房",
            "Fare_Price": 52600,
            "Category_Count": 2
          },
          {
            "Profile_Type": "interior",
            "Profile_Type_Name": "內艙房",
            "Fare_Price": 52600,
            "Category_Count": 1
          },
          {
            "Profile_Type": "oceanview",
            "Profile_Type_Name": "海景艙房",
            "Fare_Price": 64800,
            "Category_Count": 1
          },
          {
            "Profile_Type": "balcony",
            "Profile_Type_Name": "陽台艙房",
            "Fare_Price": null,
            "Category_Count": 0
          },
          {
            "Profile_Type": "suite",
            "Profile_Type_Name": "禮賓級艙房",
            "Fare_Price": null,
            "Category_Count": 0
          }
        ],
        "Category_List": [
          {
            "Plan_Id": 8101,
            "Category_Id": 6011,
            "Fare_Code": "BESTPRICE",
            "Category_Code": "11A",
            "Profile_Id": 301,
            "Profile_Name": "內艙",
            "Guest_Min": 2,
            "Guest_Max": 4,
            "Profile_Type": "interior",
            "Image_List": [
              {
                "Image_Url": "https://img.example.com/cruise/da-in-01.jpg",
                "Alt_Text": "內艙"
              }
            ],
            "Channel_Type": "Cruqo",
            "Channel_Type_Name": "船司直營",
            "Promo_Text": "20%優惠",
            "Fare_Price": 52600,
            "Policy_Rule_Id": 31,
            "Confirm_Type": "立即確認",
            "Confirm_Text": "立即確認",
            "Refund_Type": "不可更改取消及退費",
            "Refund_Text": "不可更改、取消及退費",
            "Cabin_Selectable_Type": "系統配房",
            "Cabin_Selectable_Text": "GTY「郵輪保證艙房」保證可以預訂到你所選擇的房種(包括視野有遮擋的艙房),艙房號碼、層數及位置將由遊輪公司系統配房,無法提出要求,並以遊輪公司之最後安排為準,所派發之艙房號碼、層數及位置客人無法更改及異議。",
            "Is_Bonus": true
          },
          {
            "Plan_Id": 8101,
            "Category_Id": 6009,
            "Fare_Code": "BESTPRICE",
            "Category_Code": "09A",
            "Profile_Id": 311,
            "Profile_Name": "海景艙",
            "Guest_Min": 2,
            "Guest_Max": 4,
            "Profile_Type": "oceanview",
            "Image_List": [
              {
                "Image_Url": "https://img.example.com/cruise/da-ov-01.jpg",
                "Alt_Text": "海景艙"
              },
              {
                "Image_Url": "https://img.example.com/cruise/da-ov-02.jpg",
                "Alt_Text": "海景艙"
              }
            ],
            "Channel_Type": "Cruqo",
            "Channel_Type_Name": "船司直營",
            "Promo_Text": null,
            "Fare_Price": 64800,
            "Policy_Rule_Id": 33,
            "Confirm_Type": "立即確認",
            "Confirm_Text": "立即確認",
            "Refund_Type": "不可更改取消及退費",
            "Refund_Text": "不可更改、取消及退費",
            "Cabin_Selectable_Type": "可自選房號",
            "Cabin_Selectable_Text": null,
            "Is_Bonus": false
          }
        ],
        "Filter_Info": {
          "Fare_Price_Min": 52600,
          "Fare_Price_Max": 64800,
          "Fare_Range_List": [
            {
              "Fare_Price_Min": 52600,
              "Fare_Price_Max": 55650
            },
            {
              "Fare_Price_Min": 61751,
              "Fare_Price_Max": 64800
            }
          ],
          "Channel_Type_List": [
            {
              "Value": "Cruqo",
              "Text": "船司直營",
              "Field_Name": "Channel_Type"
            }
          ],
          "Confirm_Refund_List": [
            {
              "Value": "立即確認",
              "Text": "立即確認",
              "Field_Name": "Confirm_Type"
            }
          ],
          "Cabin_Selectable_List": [
            {
              "Value": "可自選房號",
              "Text": "可自選房號",
              "Field_Name": "Cabin_Selectable_Type"
            },
            {
              "Value": "系統配房",
              "Text": "系統配房",
              "Field_Name": "Cabin_Selectable_Type"
            }
          ]
        }
      }
    ]
  }
}

錯誤回應

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

HTTPResult_Code中文名稱訊息(給客人看)情境前端動作
4004003參數值不在範圍不給客人看(訊息開頭是代碼)Request_Mode 不在允許值前端帶錯值,修正後重打
2003004行程不可售出發日期已無法訂購,請改選其他出發日期行程不可售(停售、出發前 5 天內等)、品牌或船艦沒啟用、銷售平台不含(新查詢、重查都是)導回 P2 改出發日
2005003選擇已失效選擇已失效,請重新查詢新查詢的 Departure_Date 跟 Itinerary_Id 對不上導回 P2
2005002房數或人數不符艙房數或人數不符,請調整房數、每間房人數超出範圍顯示錯誤訊息,回燈箱重選
2002001訂位資料不存在訂位資料已失效,請重新選擇重查帶的 Page_Id 找不到手上有行程與人數就在 P3 開「艙房/人數」燈箱重新查詢(在 P4 先回 P3);沒有就回 P2 重新選
2002002訂單已成立訂單已成立重查帶的 Page_Id 已經成立訂單導向訂單頁
2005003選擇已失效選擇已失效,請重新查詢重查帶的 Room_Seq 不是這筆訂位的房前端帶錯值,修正後重打
2006005供應商無回應系統忙碌,請稍後再試查艙型時供應商重試後還是沒回應顯示「系統忙碌,請稍後再試」,可以重試
2006001供應商拒絕訂位未成功,請聯絡客服查艙型時供應商回錯誤(沒有名額不算錯誤,那一類不列)顯示訊息+客服導引
2006006供應商連線設定錯誤訂位系統暫時無法使用,請聯絡客服跟供應商的連線設定有誤(後端已告警)顯示訊息+客服導引
5009999系統錯誤9999|系統發生錯誤,請稍後再試系統錯誤(未預期的例外)顯示友善錯誤訊息,可以重試

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

畫面呼叫

舊版畫面

新版畫面

P2 燈箱按〔確認〕呼叫本 API → 每間都有卡片才進 P3,顯示頁籤與卡片;任一間沒有卡片,燈箱不關、顯示錯誤狀態。P3 按〔重選艙房與人數〕確認後再呼叫一次。雛形:UIUX 20260922 版 WEB P3-W01、W02、W08,APP P3-A01、A03~A05。

畫面欄位對照(WEB)

先看整頁(雛形 WEB P3-W01);灰色虛線=不在本 API。卡片擠,另拉細節圖。圖片可點開放大。

細節 1:方案卡(P3-W01 第 1 張)

細節 2:篩選面板(P3-W12)

WEB 不顯示:Page_Id、Session_Version、Fare_Code(進填寫頁時帶)、Brand_Code、Ship_Code(打艙房介紹、燈箱範圍用)。頁籤上的 ⓘ 開艙房介紹(同 P3-W09),打 GetCabinProfile,帶品牌、船艦代碼和這個頁籤的 Profile_Type。

畫面欄位對照(APP)

先看整頁(雛形 APP P3-A01);卡片、篩選另拉細節圖。圖片可點開放大。

細節 1:房型卡片(P3-A01 第 1 張)

細節 2:篩選面板(P3-A03)

APP 不顯示:Page_Id、Session_Version、Fare_Code(進填寫頁時帶)、Brand_Code、Ship_Code(打艙房介紹、燈箱範圍用)。