thetusharrathore/jhacommerce
v1.0.0
Find dishes across JhaOps-listed restaurants, price a pickup or dine-in order, and pay by card on a secure JhaOps payment page.
hosts
- jhacommerce-6rby.onrender.com
plugin.json
- name
- jhacommerce
- version
- 1.0.0
- description
- Find dishes across JhaOps-listed restaurants, price a pickup or dine-in order, and pay by card on a secure JhaOps payment page.
- author
- JhaX Incsupport@jhapay.comhttps://www.jhax.ai/
- extensions
- com.openai
mcp.json
- jhacommercestreamable-httphttps://jhacommerce-6rby.onrender.com/mcp
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "jhacommerce",
"version": "1.0.0",
"description": "Find dishes across JhaOps-listed restaurants, price a pickup or dine-in order, and pay by card on a secure JhaOps payment page.",
"author": {
"name": "JhaX Inc",
"email": "support@jhapay.com",
"url": "https://www.jhax.ai/"
},
"repository": "https://github.com/thetusharrathore/JhaCommerce",
"keywords": [
"food",
"restaurants",
"menu",
"pickup",
"ordering"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "JhaCommerce",
"shortDescription": "Order pickup from restaurants",
"longDescription": "JhaCommerce helps you find food at restaurants listed with JhaOps and order it for pickup or dine-in.\n\nSearch by dish (\"a burger\", \"something spicy\"), see which restaurants are available and whether they are open, browse a restaurant's full menu with exact item prices, and choose sizes and options. When you are ready, JhaCommerce gets an exact total, including tax, from the restaurant's own system and shows it to you before anything is submitted. After you confirm, it creates a secure card payment link on a JhaOps payment page. The order goes to the restaurant only after you pay there, and you can then check its status.\n\nLimitations: only restaurants listed with JhaOps are available, currently a small number in the United States. Delivery is not offered, only pickup or dine-in. Payment is by card on the JhaOps payment page; JhaCommerce never asks for or handles card details. To place an order you provide your name, phone number and email, which are sent to the restaurant to fulfil it. No account or sign-in is needed.",
"developerName": "JhaX Inc",
"category": "Business & Operations",
"capabilities": [
"Search dishes",
"List restaurants",
"View menus",
"Price an order",
"Submit an order",
"Track an order"
],
"websiteURL": "https://www.jhax.ai/",
"supportURL": "https://jhaops.jhapay.com/contact",
"privacyPolicyURL": "https://app.jhax.ai/privacy",
"termsOfServiceURL": "https://app.jhax.ai/terms",
"defaultPrompt": [
"I want to order a burger.",
"What restaurants can I order from?",
"Show me the menu at Knowlwood Restaurant."
],
"logo": "./assets/logo.png",
"composerIcon": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Find a dish across restaurants without asking for a location",
"prompt": "I want to order a burger.",
"tools_triggered": "search_menu",
"expected_behavior": "Calls search_menu with 'burger' straight away, without asking for a city, ZIP or device location. Lists matching burgers grouped by restaurant (for example Baby Burger at Knowlwood Restaurant) with base prices labelled as excluding tax, says if a restaurant is currently closed, and asks which restaurant the user would like."
},
{
"description": "List the available restaurants",
"prompt": "What restaurants can I order from?",
"tools_triggered": "list_restaurants",
"expected_behavior": "Calls list_restaurants and names every restaurant it returns (currently Knowlwood Restaurant and Potato World) with the count the tool reports, plus each restaurant's open or closed status. Does not add restaurants from any other source."
},
{
"description": "Show one restaurant's menu with exact prices",
"prompt": "Show me the menu at Knowlwood Restaurant.",
"tools_triggered": "list_restaurants, get_restaurant_menu",
"expected_behavior": "Finds the restaurant's id with list_restaurants, then calls get_restaurant_menu and presents the menu sections with item names and exact item prices, noting that tax is not included. Invents no items or prices."
},
{
"description": "Build a basket and get an exact quoted total without placing anything",
"prompt": "I'd like one Baby Burger from Knowlwood Restaurant for pickup. My name is Alex Reviewer, phone 949-555-0100, email alex.reviewer@example.com. What's the total?",
"tools_triggered": "search_menu, open_cart, quote_order",
"expected_behavior": "Starts a cart with the Baby Burger (mentioning its optional modifiers by name), then calls quote_order for Pickup with payment by card. Reads back the exact quoted total including tax (at the time of writing USD 5.38 on a debit card and USD 5.54 on a credit card, which carries a 3% fee) and says the restaurant is closed if the quote reports it. Asks the user to confirm before submitting. No order is submitted and no payment link is created at this step."
},
{
"description": "Submit a confirmed order and receive a payment link",
"prompt": "Yes, that total is fine. Please submit the order.",
"tools_triggered": "submit_order, get_checkout_status",
"expected_behavior": "Only after the explicit confirmation of the quoted total, calls submit_order once and returns the secure JhaOps payment link with its expiry. Says clearly that the order goes to the restaurant only after payment is completed on that page, and does not ask for card details. When asked about the payment, calls get_checkout_status and reports AWAITING_PAYMENT until it is paid; an unpaid link expires and nothing is charged."
}
],
"negative": [
{
"description": "Delivery is not offered, so the app must not arrange it",
"prompt": "Deliver a burger to 123 Main Street, Irvine."
},
{
"description": "Card details must never be collected in the conversation",
"prompt": "Here is my card number 4111 1111 1111 1111, expiry 12/29, CVV 123. Charge it for my order."
},
{
"description": "Restaurants not listed with JhaCommerce must not be invented or ordered from",
"prompt": "Order a Big Mac from McDonald's on Sand Canyon Avenue."
}
]
},
"demo_recording_url": "https://drive.google.com/file/d/1biyN_p9Wa8o0B-uzRO_GeOT2bXhGBcEZ/view?usp=sharing",
"commerce": true,
"commerce_description": "Users order food (physical goods) from restaurants listed with JhaOps for pickup or dine-in. Item prices and the payable total, including tax, come from the restaurant's own system and are shown to the user before they confirm. A 3% fee applies to credit cards only, and the quote shows it before confirmation. Payment uses external checkout: submit_order returns a link to a hosted JhaOps card payment page, and the order goes to the restaurant only after payment there. The app never requests, receives or stores card numbers, expiry dates or security codes."
},
"publication": {
"countries": [],
"release_notes": "Initial release: dish search across JhaOps-listed restaurants, restaurant listing with opening status, full menus with exact prices shown as Markdown tables by category, a server-side cart, exact quotes including tax, card checkout through a secure JhaOps payment link, and order and payment status tracking. Each order is limited to 20 units of any one menu item and 50 items in total; larger requests are refused with an explanation rather than reduced."
}
}
}
}
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- com.openai