郵輪B2C P3 方案詳情(GetPolicyDetail)
API Content
說明
客人在 P3 按卡片「方案詳情 >」(有贈品時是「方案詳情 (含贈品) >」)時打這支,回這份條款的額外贈送、確認方式說明、退改說明與費用三段。卡片上的「立即確認」等條款文字點了,也開同一個方案詳情。
- 方法:POST
- 路徑:
Cruise/Products/GetPolicyDetail
- 對應畫面:P3 選擇艙房,方案詳情彈窗(APP 是底部面板)
使用重點:
- 帶卡片的
Policy_Rule_Id(QueryCategoryCategory_List[]),後端用它找到這張卡的條款。只讀,不用帶Page_Id、Session_Version
- 標籤也在這支:
Is_Bonus決定標題要不要「(含贈品)」;確認方式、退改類型的標籤用Confirm_Text、Refund_Text,圖示顏色看Confirm_Type、Refund_Type。值跟 QueryCategory 卡片一樣,彈窗用這支的回應就能綁
- 段落順序:額外贈送 → 方案內容(確認方式+說明、退改類型+說明)→ 費用包含 → 費用不包含 → 額外自費項目
- 多行文字回一段,換行是
\n:費用四段(Fee_Bonus、Fee_Included、Fee_Excluded、Fee_Optional)前端逐行轉成項目符號,空行略過;Confirm_Info、Refund_Info照原樣顯示、保留換行、不轉列點
- 欄位是 null 就不顯示那一段;
Confirm_Info是 null 時,APP 的確認方式小卡不能點
文件版本:v1.0(未交付)
規格調整
| 日期 | 版本 | 調整內容 |
|---|---|---|
| 2026/11/11 | v1.0(未交付) | 初版 |
Request Schema
Body
| 名稱 | 描述 | 屬性 | 範例 |
|---|---|---|---|
| Policy_Rule_Id | 必填。QueryCategory 卡片的 Policy_Rule_Id | Int | 35 |
JSON 範例
{
"Policy_Rule_Id": 35
}Response Schema
回應主體
| 名稱 | 描述 | 屬性 | 範例 |
|---|---|---|---|
| Result_Info | 結果資訊;前端先看 Is_Success | Object | 參考 Result_Info |
| Result_Data | 成功時是本端點的資料;不是成功時只放該代碼要帶的資料(見「錯誤回應」),沒有就是 {} | Object | 參考 Result_Data |
Result_Info
| 名稱 | 描述 | 屬性 | 範例 |
|---|---|---|---|
| Is_Success | true=成功;false=看 Result_Code | Bool | true |
| Result_Code | 結果代碼(四碼數字);成功是空字串;其他見「錯誤回應」 | String | |
| Result_Message | 給客人看的訊息;成功是空字串 | String |
Result_Data
| 名稱 | 描述 | 屬性 | 範例 |
|---|---|---|---|
| Policy_Id | 條款編號(規則指的那一份),查問題用 | Int | 18 |
| Is_Bonus | 有沒有額外贈送;true 時標題「方案詳情 (含贈品)」 | Bool | true |
| Fee_Bonus | 額外贈送,多行文字、一行一項;null 不顯示這段 | String | 行李束帶每人一條(恕不挑色)。… |
| Confirm_Type | 確認方式:立即確認/人工回覆,判斷用 | String | 人工回覆 |
| Confirm_Text | 確認方式標籤(APP 說明面板的標題),直接顯示 | String | 48 小時內回覆確認 |
| Confirm_Info | 確認方式說明,顯示在確認方式標籤底下,照原樣顯示、保留換行;null 不顯示 | String | 所選日期當天有效… |
| Refund_Type | 退改類型:不可更改取消及退費/有條件取消,決定圖示顏色 | String | 有條件取消 |
| Refund_Text | 退改類型標籤(APP 說明面板的標題),直接顯示 | String | 有條件取消 |
| Refund_Info | 退改說明,顯示在退改類型標籤底下,照原樣顯示、保留換行;一定有值 | String | 出發前45天或以上 - 10%取消手續費… |
| Fee_Included | 費用包含,多行文字、一行一項;null 不顯示這段 | String | 早餐、午餐 & 晚餐… |
| Fee_Excluded | 費用不包含,多行文字、一行一項;null 不顯示這段 | String | 交通… |
| Fee_Optional | 額外自費項目,多行文字、一行一項;null 不顯示這段 | String | SPA 療程-可加購船上舒壓療程 |
JSON 範例
{
"Result_Info": {
"Is_Success": true,
"Result_Code": "",
"Result_Message": ""
},
"Result_Data": {
"Policy_Id": 18,
"Is_Bonus": true,
"Fee_Bonus": "行李束帶每人一條(恕不挑色)。\n轉接插頭每人一個(視旅遊目的地贈送雙孔/三孔插頭)。",
"Confirm_Type": "人工回覆",
"Confirm_Text": "48 小時內回覆確認",
"Confirm_Info": "所選日期當天有效\n請注意,預訂確認可能需要最多3個工作日\n根據迪士尼郵輪公司確定的船舶載客量和可用性,2026年3月19日和2026年7月2日的航次可能不提供3/4人及兒童預訂。\n如果預訂無法確認,業務將在5個工作日內通知客戶。\n所有未經確認的預訂取消均由可樂旅遊全權決定。",
"Refund_Type": "有條件取消",
"Refund_Text": "有條件取消",
"Refund_Info": "出發前45天或以上 - 10%取消手續費\n出發前44至30天 - 50%取消手續費\n出發前29至15天 - 75%取消手續費\n出發前14天或以下 - 100%取消手續費",
"Fee_Included": "早餐、午餐 & 晚餐\n百老匯品質的迪士尼演出\n稅費和港口費\n1張船艙 - 迪士尼探險號郵輪",
"Fee_Excluded": "交通\n其他個人消費\n保險\n上網方案\n小費 - 船上支付",
"Fee_Optional": "SPA 療程-可加購船上舒壓療程"
}
}錯誤回應
200 的代碼在 Result_Info.Result_Code、訊息在 Result_Message;400、500 只回一句訊息,代碼在訊息開頭(格式「代碼|訊息」,例「4002|Start_Date 格式錯誤」)。訊息欄除了「重複訂位」與「出發日期已無法訂購,請重新選擇」已定,其他是暫定文字,UIUX 定稿後只改文字、不改代碼;N=第幾間。
| HTTP | Result_Code | 中文名稱 | 訊息(給客人看) | 情境 | 前端動作 |
|---|---|---|---|---|---|
| 400 | 4001 | 缺少必填參數 | 不給客人看(訊息開頭是代碼) | Policy_Rule_Id 沒帶 | 前端帶錯值,修正後重打 |
| 200 | 3005 | 查無方案條款 | 查無方案說明 | Policy_Rule_Id 找不到 | 顯示 Result_Message |
| 500 | 9999 | 系統錯誤 | 9999|系統發生錯誤,請稍後再試 | 系統錯誤(未預期的例外) | 顯示友善錯誤訊息,可以重試 |
測試情境/單元測試(開發前規劃)
畫面呼叫
舊版畫面
新版畫面
P3 卡片按「方案詳情 >」或點條款文字呼叫本 API → WEB 開方案詳情彈窗、APP 開底部面板;APP 點確認方式、退改類型小卡,開說明面板(內文是 Confirm_Info、Refund_Info)。雛形:UIUX 20260922 版 WEB P3-W03~W05,APP P3-A06~A08。
畫面欄位對照(WEB)
方案詳情彈窗全文(雛形 WEB P3-W04)。圖片可點開放大。

WEB 不顯示:Policy_Id(查問題用)。
畫面欄位對照(APP)
方案詳情面板(雛形 APP P3-A07)與確認方式、退改類型小卡點開的說明面板(P3-A08)。圖片可點開放大。

APP 不顯示:Is_Bonus(面板標題固定「方案詳情」)、Policy_Id(查問題用)。