get_available_slots

Swiggy Dineout (Reservations): Check available time slots for TABLE BOOKING at a restaurant. Returns slots across up to 7 days from the requested date. Shows breakfast, lunch, and dinner slots with a...

Swiggy Dineout (Reservations): Check available time slots for TABLE BOOKING at a restaurant. Returns slots across up to 7 days from the requested date. Shows breakfast, lunch, and dinner slots with availability count and associated deals. Date must be in YYYY-MM-DD format (e.g., "2025-11-26") or epoch timestamp. Each slot contains multiple deals - both FREE (isFree=true, bookingPrice=0) and paid/prime deals with discounts. For booking, use FREE deals only (paid deals will be rejected at cart creation). Each slot in the response contains: - dateStr: Date the slot belongs to (YYYY-MM-DD) - slotId: From slot.deals[].slotId - reservationTime: Epoch timestamp (slot.reservationTime) - itemId: From slot.deals[].itemId (format: "restaurantId-ticketId") - displayTime: e.g., "10:00 AM" - slotGroupName: "Breakfast", "Lunch", or "Dinner" - deals[]: Each deal has title, bookingPrice, displayFee, discountPercentage, isFree Example: "What times are available at [Restaurant] on [Date]?" → Call with restaurant ID and date.

See get_available_slots in actionComing soon

Example

const result = await client.callTool({
  name: "get_available_slots",
  arguments: {
    restaurantId: "rest_42",
    date: "2026-05-01",
    latitude: 12.9716,
    longitude: 77.5946,
  },
});

Parameters

ParameterTypeRequiredDescription
restaurantIdstringyesRestaurant ID from search or details
datestringyesStarting date as YYYY-MM-DD string (e.g., "2025-11-20") or epoch timestamp as numeric string (e.g., "1735689600"). Returns slots for up to 7 days from this date.
latitudenumberyesUser's latitude
longitudenumberyesUser's longitude
restaurantNamestringnoOptional. Echoed back in the response for downstream use.
guestCountnumbernoOptional. Echoed back in the response for downstream use.

Session credentials (user identity, access token) are supplied automatically by the authenticated MCP session - you do not pass them in the tool call. See Authenticate.

Response

Important: This tool does not wrap payload in a data key. All fields are at the root of the response object.

Success:

{
  "success": true,
  "slots": [],
  "restaurantId": "string",
  "restaurantName": "string",
  "date": "string",
  "guestCount": 2,
  "latitude": 12.97,
  "longitude": 77.59,
  "message": "Found 5 available slot(s) for 2026-05-01"
}
  • slots — array of available time slots. Each slot contains dateStr, slotId, reservationTime, itemId, displayTime, slotGroupName, and deals[].
  • restaurantName, guestCount — echoed from input if provided.
  • All fields are top-level — there is no data wrapper. Read response.slots, not response.data.slots.

On failure:

{
  "success": false,
  "slots": [],
  "error": "description of what went wrong"
}

Note: error is a plain string, not { message: string }. Read response.error directly.

See Error codes for the full catalogue.

Details

FieldValue
Nameget_available_slots
MCP ServerDineout
EndpointPOST mcp.swiggy.com/dineout
StageReserve
Behaviourread-only

Next in this journey →

Continue with book_table.