← WebMCP Directory

Tool tree

booknbouncestl.com

Travel & EventsTools verified
Website
Bounce-house, water-slide and party equipment rentals near St. Charles, Missouri.
Explore capabilities
    get-businessAnswer

    Business profile: locations, currency, hours, booking lead time, delivery methods, setup surfaces, and AI checkout mode.

    View tool JSON
    {
      "name": "get-business",
      "kind": "answer",
      "impl": "imperative",
      "description": "Business profile: locations, currency, hours, booking lead time, delivery methods, setup surfaces, and AI checkout mode.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    get-rentalAnswer

    Details for one or more rentals: description, dimensions, images, price estimate, and the options tree (accessories, dropdown choices, separate units). Use option ids from here when adding options to a cart.

    View tool JSON
    {
      "name": "get-rental",
      "kind": "answer",
      "impl": "imperative",
      "description": "Details for one or more rentals: description, dimensions, images, price estimate, and the options tree (accessories, dropdown choices, separate units). Use option ids from here when adding options to a cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "rental_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "description": "Rental ids, e.g. from search-rentals."
          },
          "event_date": {
            "type": "string",
            "description": "YYYY-MM-DD; enables dated price estimates."
          },
          "start_time": {
            "type": "string",
            "description": "HH:MM, 24-hour. Optional: defaults to the business's usual start time, reported back as assumed_start_time."
          },
          "duration_hours": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 720,
            "description": "Optional: defaults to the business's usual event duration, reported back as assumed_duration_hours. Omit it (or send null) to ask for that default — 0 is not a way to say 'unset' and is refused."
          }
        },
        "required": [
          "rental_ids"
        ]
      }
    }
    check-availabilityAnswer

    Check whether rentals are available for an event date, time, and duration. Quantity is required — availability depends on it. If start_time or duration_hours is omitted the business default is used and the response says so; confirm any assumed value with the customer before creating a cart.

    View tool JSON
    {
      "name": "check-availability",
      "kind": "answer",
      "impl": "imperative",
      "description": "Check whether rentals are available for an event date, time, and duration. Quantity is required — availability depends on it. If start_time or duration_hours is omitted the business default is used and the response says so; confirm any assumed value with the customer before creating a cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_date": {
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "end_date": {
            "type": "string",
            "description": "YYYY-MM-DD. Optional: check a whole range in one call — at most 14 days after event_date (wider spans are refused). The response then adds days[], one entry per day from event_date through end_date, each day fully conflict-checked at the same start time and duration. Range rows carry no price_estimate (per-day pricing is skipped for cost); price a chosen day with a single-date check or price-cart."
          },
          "start_time": {
            "type": "string",
            "description": "HH:MM, 24-hour. Optional: defaults to the business's usual start time, reported back as assumed_start_time."
          },
          "duration_hours": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 720,
            "description": "Optional: defaults to the business's usual event duration, reported back as assumed_duration_hours. Omit it (or send null) to ask for that default — 0 is not a way to say 'unset' and is refused."
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rental_id": {
                  "type": "integer",
                  "description": "Rental id from search-rentals or get-rental."
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 99
                }
              },
              "required": [
                "rental_id",
                "quantity"
              ]
            },
            "minItems": 1
          }
        },
        "required": [
          "event_date",
          "items"
        ]
      }
    }
    price-cartAnswer

    Fast discovery pricing for a set of items on a date. Estimate only: excludes tax, delivery, coupons, and conditional pricing. For exact totals, build a cart and set the event address — never create a quote just to see a price.

    View tool JSON
    {
      "name": "price-cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Fast discovery pricing for a set of items on a date. Estimate only: excludes tax, delivery, coupons, and conditional pricing. For exact totals, build a cart and set the event address — never create a quote just to see a price.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_date": {
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "start_time": {
            "type": "string",
            "description": "HH:MM, 24-hour. Optional: defaults to the business's usual start time, reported back as assumed_start_time."
          },
          "duration_hours": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 720,
            "description": "Optional: defaults to the business's usual event duration, reported back as assumed_duration_hours. Omit it (or send null) to ask for that default — 0 is not a way to say 'unset' and is refused."
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rental_id": {
                  "type": "integer",
                  "description": "Rental id from search-rentals or get-rental."
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 99
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "option_id": {
                        "type": "integer",
                        "description": "Option id from the get-rental options tree."
                      },
                      "quantity": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 99
                      },
                      "choice_id": {
                        "type": "integer",
                        "description": "Chosen dropdown choice id, when the option is a dropdown."
                      }
                    },
                    "required": [
                      "option_id"
                    ]
                  }
                }
              },
              "required": [
                "rental_id",
                "quantity"
              ]
            },
            "minItems": 1
          }
        },
        "required": [
          "event_date",
          "items"
        ]
      }
    }
    get-delivery-optionsAnswer

    Valid delivery methods for an address, whether the address is in the service area, and a distance-charge preview.

    View tool JSON
    {
      "name": "get-delivery-options",
      "kind": "answer",
      "impl": "imperative",
      "description": "Valid delivery methods for an address, whether the address is in the service area, and a distance-charge preview.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "object",
            "properties": {
              "street": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "zip": {
                "type": "string"
              }
            },
            "required": [
              "state",
              "zip"
            ]
          }
        },
        "required": [
          "address"
        ]
      }
    }
    create-cartAction

    Start a transaction. The event window is the required first step of any booking flow; the returned cart_id is needed by every later cart call. Unlike the discovery tools, this one does NOT assume a start time or duration — both must come from the customer, because this window is what they get quoted and committed to; confirm them when you create the cart, not as part of an up-front question list. Carts are free and invisible to the business — they hold no inventory and expire on their own, so create several to build alternative packages to compare.

    View tool JSON
    {
      "name": "create-cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Start a transaction. The event window is the required first step of any booking flow; the returned cart_id is needed by every later cart call. Unlike the discovery tools, this one does NOT assume a start time or duration — both must come from the customer, because this window is what they get quoted and committed to; confirm them when you create the cart, not as part of an up-front question list. Carts are free and invisible to the business — they hold no inventory and expire on their own, so create several to build alternative packages to compare.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_date": {
            "type": "string",
            "description": "YYYY-MM-DD"
          },
          "start_time": {
            "type": "string",
            "description": "HH:MM, 24-hour. Required — ask the customer, do not guess."
          },
          "duration_hours": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 720,
            "description": "Required — ask the customer, do not guess."
          },
          "event_zip": {
            "type": "string"
          }
        },
        "required": [
          "event_date",
          "start_time",
          "duration_hours"
        ]
      }
    }
    add-to-cartAction

    Add items to a cart. Returns the full recalculated cart (price and availability per line) — no follow-up call needed.

    View tool JSON
    {
      "name": "add-to-cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add items to a cart. Returns the full recalculated cart (price and availability per line) — no follow-up call needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_id": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rental_id": {
                  "type": "integer",
                  "description": "Rental id from search-rentals or get-rental."
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 99
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "option_id": {
                        "type": "integer",
                        "description": "Option id from the get-rental options tree."
                      },
                      "quantity": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 99
                      },
                      "choice_id": {
                        "type": "integer",
                        "description": "Chosen dropdown choice id, when the option is a dropdown."
                      }
                    },
                    "required": [
                      "option_id"
                    ]
                  }
                }
              },
              "required": [
                "rental_id",
                "quantity"
              ]
            },
            "minItems": 1
          }
        },
        "required": [
          "cart_id",
          "items"
        ]
      }
    }
    update-cart-itemAction

    Change quantity or options of items already in the cart. Quantity 0 removes the item. Returns the full recalculated cart.

    View tool JSON
    {
      "name": "update-cart-item",
      "kind": "act",
      "impl": "imperative",
      "description": "Change quantity or options of items already in the cart. Quantity 0 removes the item. Returns the full recalculated cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_id": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rental_id": {
                  "type": "integer",
                  "description": "Rental id from search-rentals or get-rental."
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 99
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "option_id": {
                        "type": "integer",
                        "description": "Option id from the get-rental options tree."
                      },
                      "quantity": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 99
                      },
                      "choice_id": {
                        "type": "integer",
                        "description": "Chosen dropdown choice id, when the option is a dropdown."
                      }
                    },
                    "required": [
                      "option_id"
                    ]
                  }
                }
              },
              "required": [
                "rental_id",
                "quantity"
              ]
            },
            "minItems": 1
          }
        },
        "required": [
          "cart_id",
          "items"
        ]
      }
    }
    get-cartAnswer

    Current cart contents with prices, availability, fees, totals, and what is still missing before a quote can be created. To weigh several candidate carts against each other, use compare-carts instead of reading them one by one.

    View tool JSON
    {
      "name": "get-cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Current cart contents with prices, availability, fees, totals, and what is still missing before a quote can be created. To weigh several candidate carts against each other, use compare-carts instead of reading them one by one.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_id": {
            "type": "string"
          }
        },
        "required": [
          "cart_id"
        ]
      }
    }
    set-cart-detailsAnswer

    Set contact info, event address, delivery method, setup surface, a coupon code, or a new event window (event_date + start_time) on the cart. Returns the full cart with final tax and delivery. Moving the date re-prices the cart and re-checks availability — useful for comparing the same package on different dates before quoting.

    View tool JSON
    {
      "name": "set-cart-details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Set contact info, event address, delivery method, setup surface, a coupon code, or a new event window (event_date + start_time) on the cart. Returns the full cart with final tax and delivery. Moving the date re-prices the cart and re-checks availability — useful for comparing the same package on different dates before quoting.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_id": {
            "type": "string"
          },
          "event_date": {
            "type": "string",
            "description": "Move the event to a new date (YYYY-MM-DD). The cart re-prices and re-checks availability: items that conflict on the new date stay in the cart flagged has_conflict — only create-quote refuses on conflicts. Requires start_time. Useful for comparing the same package on different dates (weekend pricing can differ)."
          },
          "start_time": {
            "type": "string",
            "description": "Event start time (HH:MM, 24-hour). Required when changing event_date — ask the customer, do not guess."
          },
          "duration_hours": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 720,
            "description": "Event duration in hours. Omit to keep the cart's CURRENT duration — that is state the customer already set, not an assumption made for them. 0 is not a way to say \"unset\" and is refused."
          },
          "contact": {
            "type": "object",
            "properties": {
              "first_name": {
                "type": "string"
              },
              "last_name": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "cellphone": {
                "type": "string"
              }
            }
          },
          "event_address": {
            "type": "object",
            "properties": {
              "street": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "zip": {
                "type": "string"
              }
            }
          },
          "delivery_method": {
            "type": "string"
          },
          "surface": {
            "type": "string",
            "description": "Setup surface at the event location — a top-level field, not part of event_address. Valid values are the surfaces list from get-business. Required before create-quote."
          },
          "coupon_code": {
            "type": "string"
          }
        },
        "required": [
          "cart_id"
        ]
      }
    }
    create-quoteAction

    Turn ONE cart — the package the customer explicitly chose — into a real quote with final pricing (tax, delivery, coupons). This notifies the business, enters their sales queue, and holds inventory: never call it to see a price (cart totals are already exact), and never quote more than one cart per event. Returns a quote reference and whether online booking is possible.

    View tool JSON
    {
      "name": "create-quote",
      "kind": "act",
      "impl": "imperative",
      "description": "Turn ONE cart — the package the customer explicitly chose — into a real quote with final pricing (tax, delivery, coupons). This notifies the business, enters their sales queue, and holds inventory: never call it to see a price (cart totals are already exact), and never quote more than one cart per event. Returns a quote reference and whether online booking is possible.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_id": {
            "type": "string"
          }
        },
        "required": [
          "cart_id"
        ]
      }
    }
    create-checkout-sessionSensitive Action

    Finish the transaction. Returns links for the customer: quote_url to review and book the quote (nothing is signed at the quote step), and — once the event is booked — payment_url to sign and pay, which is the same contract page contract_url points at. Before booking there is no payment link: the customer books from quote_url and pays on the page that follows. Or (when the business allows agent booking) a booked confirmation. Payment is never taken through this tool.

    View tool JSON
    {
      "name": "create-checkout-session",
      "kind": "transact",
      "impl": "imperative",
      "description": "Finish the transaction. Returns links for the customer: quote_url to review and book the quote (nothing is signed at the quote step), and — once the event is booked — payment_url to sign and pay, which is the same contract page contract_url points at. Before booking there is no payment link: the customer books from quote_url and pays on the page that follows. Or (when the business allows agent booking) a booked confirmation. Payment is never taken through this tool.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_id": {
            "type": "string"
          }
        },
        "required": [
          "cart_id"
        ]
      }
    }
    compare-cartsAction

    Price 2-4 candidate carts side-by-side: per-cart items and exact totals plus computed differences. Read-only — no quote is created, no inventory is held. Use before create-quote so the customer picks one package.

    View tool JSON
    {
      "name": "compare-carts",
      "kind": "act",
      "impl": "imperative",
      "description": "Price 2-4 candidate carts side-by-side: per-cart items and exact totals plus computed differences. Read-only — no quote is created, no inventory is held. Use before create-quote so the customer picks one package.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 2,
            "maxItems": 4,
            "description": "2-4 distinct cart ids (from create-cart) to compare."
          }
        },
        "required": [
          "cart_ids"
        ]
      }
    }
    render-rental-searchAction

    Render a rental gallery from final search-rentals output. Always call search-rentals first, then pass its complete structured result as data.

    View tool JSON
    {
      "name": "render-rental-search",
      "kind": "act",
      "impl": "imperative",
      "description": "Render a rental gallery from final search-rentals output. Always call search-rentals first, then pass its complete structured result as data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "The complete structured result returned by the required data/action tool.",
            "additionalProperties": true
          }
        },
        "required": [
          "data"
        ]
      }
    }
    render-rentalAction

    Render rental detail cards from final get-rental output. Always call get-rental first, then pass its complete structured result as data.

    View tool JSON
    {
      "name": "render-rental",
      "kind": "act",
      "impl": "imperative",
      "description": "Render rental detail cards from final get-rental output. Always call get-rental first, then pass its complete structured result as data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "The complete structured result returned by the required data/action tool.",
            "additionalProperties": true
          }
        },
        "required": [
          "data"
        ]
      }
    }
    render-cartAction

    Render a cart from final create-cart, get-cart, add-to-cart, update-cart-item, or set-cart-details output. Call the relevant cart tool first, then pass its complete structured result as data.

    View tool JSON
    {
      "name": "render-cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Render a cart from final create-cart, get-cart, add-to-cart, update-cart-item, or set-cart-details output. Call the relevant cart tool first, then pass its complete structured result as data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "The complete structured result returned by the required data/action tool.",
            "additionalProperties": true
          }
        },
        "required": [
          "data"
        ]
      }
    }
    render-cart-comparisonAction

    Render a side-by-side comparison from final compare-carts output. Always call compare-carts first, then pass its complete structured result as data.

    View tool JSON
    {
      "name": "render-cart-comparison",
      "kind": "act",
      "impl": "imperative",
      "description": "Render a side-by-side comparison from final compare-carts output. Always call compare-carts first, then pass its complete structured result as data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "The complete structured result returned by the required data/action tool.",
            "additionalProperties": true
          }
        },
        "required": [
          "data"
        ]
      }
    }
    render-quoteAction

    Render a quote receipt from final create-quote output. Always call create-quote first, then pass its complete structured result as data.

    View tool JSON
    {
      "name": "render-quote",
      "kind": "act",
      "impl": "imperative",
      "description": "Render a quote receipt from final create-quote output. Always call create-quote first, then pass its complete structured result as data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "The complete structured result returned by the required data/action tool.",
            "additionalProperties": true
          }
        },
        "required": [
          "data"
        ]
      }
    }
    search-rentalsAnswer

    Search rental items by name, category or keyword — or call it with NO query to browse the catalogue grouped by category. Use the query-less form for "what can I rent?" style questions instead of guessing search terms. One call returns up to 50 items; when more remain the response carries next_cursor — pass it back as cursor to get the next page. Results are limited to items this page can actually rent, verified against the booking system on a best-effort basis.

    View tool JSON
    {
      "name": "search-rentals",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search rental items by name, category or keyword — or call it with NO query to browse the catalogue grouped by category. Use the query-less form for \"what can I rent?\" style questions instead of guessing search terms. One call returns up to 50 items; when more remain the response carries next_cursor — pass it back as cursor to get the next page. Results are limited to items this page can actually rent, verified against the booking system on a best-effort basis.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Optional. Words to match against item names, categories and descriptions. OMIT to browse the catalogue."
          },
          "cursor": {
            "type": "string",
            "description": "Optional. next_cursor from a previous browse response, to fetch the following page. Opaque — pass it back unchanged. Ignored when a query is given."
          }
        }
      }
    }