← WebMCP Directory

Tool tree

corbeilelectro.com

CommerceTools verified
Website
Corbeil Appliances is a home appliance retailer in Quebec and Ontario selling fridges, washers, ranges, ovens, range hoods, freezers and dishwashers.
Explore capabilities
    getBookingCatalogAnswer

    Retrieve the merchant's bookable services, service categories, available staff, and valid service-staff combinations. Call this FIRST when the user wants to book. IMPORTANT: After calling this tool you MUST follow this sequence before calling getServiceAvailability: (1) Present the list of categories and services and ask the user to choose a service. (2) Once a service is chosen, look up its assigned staff from the assignments list and ask the user whether they have a staff preference, showing the available staff names. (3) Only after both a service AND a staff choice (or explicit 'no preference') are confirmed, call getServiceAvailability. Never pick a service or staff member on behalf of the user without their input.

    View tool JSON
    {
      "name": "getBookingCatalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Retrieve the merchant's bookable services, service categories, available staff, and valid service-staff combinations. Call this FIRST when the user wants to book. IMPORTANT: After calling this tool you MUST follow this sequence before calling getServiceAvailability: (1) Present the list of categories and services and ask the user to choose a service. (2) Once a service is chosen, look up its assigned staff from the assignments list and ask the user     whether they have a staff preference, showing the available staff names. (3) Only after both a service AND a staff choice (or explicit 'no preference') are confirmed,     call getServiceAvailability. Never pick a service or staff member on behalf of the user without their input.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "lang": {
            "type": "string",
            "description": "Optional BCP-47 language code for translated names (e.g. 'en', 'fr'). If omitted, the user's browser language is used automatically."
          }
        },
        "required": []
      },
      "page": "/en/"
    }
    getServiceAvailabilityAnswer

    Get available appointment time slots for a specific service and staff member over a date range. Returned times are in the merchant's local timezone (provided in the response). If the returned slots array is empty, do NOT tell the user the booking is impossible. Instead, inform them that no slots were found for that service in that date range, and offer to: (1) search a different or wider date range, or (2) go back and select a different service. Once the user has chosen a slot, pass its start value directly to previewBooking.

    View tool JSON
    {
      "name": "getServiceAvailability",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get available appointment time slots for a specific service and staff member over a date range. Returned times are in the merchant's local timezone (provided in the response). If the returned slots array is empty, do NOT tell the user the booking is impossible. Instead, inform them that no slots were found for that service in that date range, and offer to: (1) search a different or wider date range, or (2) go back and select a different service. Once the user has chosen a slot, pass its start value directly to previewBooking.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "number",
            "description": "Service ID from getBookingCatalog"
          },
          "staffId": {
            "type": "number",
            "description": "Staff ID to check availability for. If the user selected a specific staff member, use their ID from the assignments list. If the user has no preference, do NOT pass -1: instead, pick the first staffId from the assignments list that is assigned to the chosen service and use that ID. Never pass -1 unless the assignments list is empty for the service."
          },
          "startDate": {
            "type": "string",
            "description": "Start of the search window in YYYY-MM-DD format"
          },
          "endDate": {
            "type": "string",
            "description": "End of the search window in YYYY-MM-DD format"
          },
          "lang": {
            "type": "string",
            "description": "Optional BCP-47 language code"
          }
        },
        "required": [
          "serviceId",
          "staffId",
          "startDate",
          "endDate"
        ]
      },
      "page": "/en/"
    }
    previewBookingSensitive Action

    Validate a booking intent and fetch the invoice, price breakdown, and policy details. Call this after the user has selected a service, staff, time slot, and provided their name and contact info. Present the returned invoice total, duration, and cancellation/payment policies to the user. Only proceed to bookAppointment after the user explicitly confirms.

    View tool JSON
    {
      "name": "previewBooking",
      "kind": "transact",
      "impl": "imperative",
      "description": "Validate a booking intent and fetch the invoice, price breakdown, and policy details. Call this after the user has selected a service, staff, time slot, and provided their name and contact info. Present the returned invoice total, duration, and cancellation/payment policies to the user. Only proceed to bookAppointment after the user explicitly confirms.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "number",
            "description": "Service ID from getBookingCatalog"
          },
          "staffId": {
            "type": "number",
            "description": "Staff ID from getBookingCatalog. Use -1 for no preference (any available staff)."
          },
          "slotStart": {
            "type": "string",
            "description": "Appointment start time in 'YYYY-MM-DD HH:mm' format, as returned by getServiceAvailability"
          },
          "client": {
            "type": "object",
            "properties": {
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "description": "Client email — required to send the booking confirmation"
              },
              "mobilePhoneNumber": {
                "type": "string",
                "description": "Client phone in E.164 format (e.g. +15145551234). Optional but recommended for SMS reminders."
              },
              "additionalRequest": {
                "type": "string",
                "description": "Special instructions or notes for the merchant"
              }
            },
            "required": [
              "firstName",
              "lastName",
              "email"
            ]
          },
          "lang": {
            "type": "string",
            "description": "Optional BCP-47 language code (e.g. 'fr', 'en'). If omitted, the user's browser language is used automatically. Only pass this to override the browser's detected locale."
          }
        },
        "required": [
          "serviceId",
          "staffId",
          "slotStart",
          "client"
        ]
      },
      "page": "/en/"
    }
    bookAppointmentSensitive Action

    ⚠️ Create an appointment booking. Do NOT call this tool until you have called previewBooking, presented the invoice and policies to the user, and received their explicit confirmation to proceed. Returns a tracking number and appointment ID on success. A confirmation email will be sent to the client.

    View tool JSON
    {
      "name": "bookAppointment",
      "kind": "transact",
      "impl": "imperative",
      "description": "⚠️ Create an appointment booking. Do NOT call this tool until you have called previewBooking, presented the invoice and policies to the user, and received their explicit confirmation to proceed. Returns a tracking number and appointment ID on success. A confirmation email will be sent to the client.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "number",
            "description": "Service ID from getBookingCatalog"
          },
          "staffId": {
            "type": "number",
            "description": "Staff ID from getBookingCatalog. Use -1 for no preference (any available staff)."
          },
          "slotStart": {
            "type": "string",
            "description": "Appointment start time in 'YYYY-MM-DD HH:mm' format, as returned by getServiceAvailability"
          },
          "client": {
            "type": "object",
            "properties": {
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "description": "Client email — required to send the booking confirmation"
              },
              "mobilePhoneNumber": {
                "type": "string",
                "description": "Client phone in E.164 format (e.g. +15145551234). Optional but recommended for SMS reminders."
              },
              "additionalRequest": {
                "type": "string",
                "description": "Special instructions or notes for the merchant"
              }
            },
            "required": [
              "firstName",
              "lastName",
              "email"
            ]
          },
          "lang": {
            "type": "string",
            "description": "Optional BCP-47 language code (e.g. 'fr', 'en'). If omitted, the user's browser language is used automatically. Only pass this to override the browser's detected locale."
          }
        },
        "required": [
          "serviceId",
          "staffId",
          "slotStart",
          "client"
        ]
      },
      "page": "/en/"
    }