Purpose
Cancel an existing Douraku restaurant reservation through the linked Ebica booking-management page, while verifying the reservation identity before taking the irreversible action.
When to Use
Use when the caller provides an Ebica reservation-management URL or its parameters: {reservation-id}, {site-code}, {shop-id}, and {auth-key}. Do not guess opaque reservation IDs or authentication keys.
Workflow
- Construct and navigate directly to the booking-management URL:
https://booking.ebica.jp/webrsv/booked/info/{reservation-id}?site_code={site-code}&shop_id={shop-id}&auth_key={auth-key}&language=en - In one page evaluation, verify the displayed date, time, party size, and other identifying details match the reservation the caller intends to cancel. Use the extractor below to inspect the current page.
- If the identity matches, activate the button whose trimmed text is
Reservation cancellation. - On the cancellation form, choose the requested cancellation reason from
select[name="labeled-select"]when required. For an unspecified reason,Otheris the available generic option observed in the flow. - Review the cancellation confirmation page and submit the cancellation only after the caller's authorization and reservation identity are confirmed. Report the final confirmation text or error.
Extractor to run on the loaded Ebica page:
(() => {
const clean = (s) => (s || "").replace(/\\s+/g, " ").trim();
const body = clean(document.body.innerText);
const buttons = [...document.querySelectorAll("button")]
.map((el, index) => ({
index,
text: clean(el.innerText),
disabled: !!el.disabled,
}))
.filter((x) => x.text);
const selects = [...document.querySelectorAll("select")].map((el) => ({
name: el.name || null,
id: el.id || null,
value: el.value,
options: [...el.options].map((o) => ({
text: clean(o.textContent),
value: o.value,
})),
}));
return {
url: location.href,
title: document.title,
body,
buttons,
selects,
hasCancellationEntry: buttons.some((x) => x.text === "Reservation cancellation"),
};
})();Site-Specific Gotchas
- The reservation-management page is hosted on
booking.ebica.jp, not on the Douraku domain. - The booking URL contains opaque reservation and authentication parameters. Preserve caller-provided values exactly and never infer or fabricate them.
- Verify reservation details before clicking
Reservation cancellation; the cancellation action is consequential. - The cancellation reason control is
select[name="labeled-select"]; the observed generic reason value/text isOther. - Avoid exposing the full management URL, especially its
auth_key, in user-facing output or logs.
Expected Output
Return whether cancellation succeeded, the reservation details used for identity verification, the selected cancellation reason if any, and the confirmation or error message. Never include the authentication key in the output.