MCP App Store

Overview

Connect to Justlife on ChatGPT to search and explore professional home services in minutes. Describe what you need, and discover personalized options for Cleaning, Maintenance, Salon & Spa services by trained professionals near you. Review service details, pricing, and availability, then complete your booking seamlessly on the Justlife platform.

Tools

calculate-flex-price

ChatGPT
Fourth step in the flex booking flow. Calculates final pricing for a flex service using the confirmed service_type and selected attributes. Call after availability/selection, then proceed with complete-flex-booking after user confirms total price. Final price here can include service fees in addition to earlier attribute-level component prices. Do not hand off completion to app/site from this step. Respond only with the total and a confirmation question, for example: “Your total is AED X for [service] on [date/time]. Reply ‘confirm’ and I’ll complete the booking.” INSTRUCTIONS: REQUIRED 4/5 STEP for flex bookings in UAE. Flow: fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Use this tool to confirm final price before complete-flex-booking. This is the final payable total for this step and may include service fees beyond previously shown attribute-level component prices. Required arguments: 1) 'service_type': selected flex service slug. 2) 'attributes': selected attribute list in format {"slug":"...","value":number}; list may contain multiple items for one service_type. These must be the same user-confirmed selections from fetch-flex-service-attributes. value is the selected option/counter value (quantity when counter_options exists), never an attribute id, and must be > 0. Protocol: 1. Ensure user already selected service and attributes. 2. Calculate and present final amount and returned credit details. 3. Ask for explicit booking confirmation only. Preferred wording style: "Your total is X. Reply 'confirm' and I'll complete the booking." 4. After user confirms, call complete-flex-booking directly. 5. Credit handling policy: default credit=true. Set credit=false only if user explicitly rejects using credit. Decision rule: - If price is known and all required booking parameters are known, ask for confirmation to complete booking. - Do not redirect user elsewhere. - If calculate-flex-price returns an error, show that error to user and do not call complete-flex-booking. - Only proceed to complete-flex-booking after a successful price calculation without error. RESTRICTIONS: - Do not ask address or payment method. - Never request full address or location details in chat. Address is taken from the user's default address on system and mcp will use it inside. - Do not modify selected attributes between availability, pricing, and save. - If attributes change after availability/slot selection, do not reuse previously selected slot. Call list-flex-available-time-slots again and ask user to select a fresh slot before proceeding. - Do not ask a separate "use credit?" question unless user explicitly asks to disable credit. - Do not say "I can't complete booking here". - Do not direct user to app/site for completion; complete via complete-flex-booking. - Do not imply booking is already confirmed at this step. - Do not end flow after price step without confirmation and complete-flex-booking. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

calculate-price

ChatGPT
Third step in the home cleaning booking flow. Calculates final home cleaning price using selected_dates and the exact attribute_ids from list-available-time-slots. For package frequencies, selected_dates must represent the weekly template (one datetime per selected weekday), not all package sessions. Final price here can include service fees in addition to earlier option-level component prices. Call only after user selects date/time slot(s), then proceed with complete-home-cleaning-booking after confirmation; do not derive or alter attribute IDs. Do not hand off completion to app/site from this step. INSTRUCTIONS: REQUIRED 3/4 STEP for home cleaning bookings in UAE. Flow: fetch-home-cleaning-options -> list-available-time-slots -> calculate-price -> complete-home-cleaning-booking. Use this tool only after user selects valid date-time slot(s). Use this tool to confirm final price before complete-booking. This is the final payable total for this step and may include service fees beyond previously shown option-level component prices. Required arguments: 1) 'selected_dates': list of selected values in yyyy-MM-dd HH:mm:ss format. 2) 'attributes': exact integer list from list-available-time-slots 'attribute_ids'. 3) 'frequency': selected frequency id. 4) 'service_type': home_cleaning. selected_dates rule by frequency: - Frequency 1,2,3 (one-time/weekly/bi-weekly): pass one selected datetime. - Frequency 4-9 (package): pass one selected datetime per chosen weekday using earliest_date mapping from weekday_slot_options (for example 3 visit/week => 3 selected_dates), not all package sessions. Protocol: 1. Calculate price using exact selected slot(s) and attributes. 2. Present total as price-only result and ask user confirmation. 3. Reuse confirmed final total as complete-home-cleaning-booking 'total_amount' and call complete-home-cleaning-booking directly. Preferred wording style: "Your total is SAR/AED X. Reply 'confirm' and I'll complete the booking." Decision rule: - If price is known and all required booking parameters are known, ask for confirmation to complete booking. - Do not redirect user elsewhere. RESTRICTIONS: - Do not ask address or payment method. - Never request full address or location details in chat. Address is taken from the user's default address on system and mcp will use it inside. - Do not guess or alter attribute IDs. - Do not say "booked", "booking confirmed", or "booked for" at this step. - Do not direct user to app/site for completion; complete via complete-home-cleaning-booking. - Do not imply booking is already confirmed at this step. - Do not end flow after price step without confirmation and complete-home-cleaning-booking. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

complete-flex-booking

ChatGPT
Final step in the flex booking flow. fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Saves a fully configured flex booking using selected service_type, selected attributes, selected_date, and credit flag. selected_date must be one exact slot returned by list-flex-available-time-slots, and attributes must match the selected values. Returns booking confirmation and payment summary details. INSTRUCTIONS: REQUIRED 5/5 STEP for flex bookings in UAE. Flow: fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Use this tool after user confirms service, attributes, and selected date-time. Credit defaults to true unless user explicitly rejects credit usage. Required arguments: 1) 'service_type': selected flex service slug. 2) 'attributes': selected flex attributes in format {"slug":"...","value":number}. This key must be 'attributes' (not 'flex_attributes') for complete-flex-booking. value must be taken from selected options/counter_options, must be > 0, and must not be attribute id. 3) 'selected_date': exact selected slot in yyyy-MM-dd HH:mm:ss format. Note: address_id is resolved from default client address automatically; it is not user input in chat. Optional arguments: 1) 'credit': whether to use available credit. Omit to apply default true. 2) 'instructions': customer notes for booking. RESTRICTIONS: - Do not ask address or payment method. - Never request full address or location details in chat. Address is taken from the user's default address on system and mcp will use it inside. - If attributes changed after any prior availability lookup or price quote, re-run list-flex-available-time-slots and use a newly selected slot before calling complete-flex-booking. - If booking cannot proceed due to location coverage/default address issue, ask user to update default address in Justlife app; do not collect address details in chat. - Do not invent selected_date or attribute values. - Do not direct user to app/site for completion; complete via complete-flex-booking. - Mention inability to complete booking only if complete-flex-booking returns an error. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

complete-home-cleaning-booking

ChatGPT
Final step in the home cleaning booking flow. Saves booking for one-time, weekly, bi-weekly, or package frequencies using the exact configuration chosen earlier. For package frequencies, selected_dates is a weekly template (one datetime per selected weekday), not every package session date. Requires service_type, attributes from availability, credit flag, frequency, selected_dates, and total_amount; instructions is optional. Returns booking reference, schedule summary, amount, contact, reminder, and payment details. INSTRUCTIONS: REQUIRED 4/4 STEP for home cleaning bookings in UAE. Flow: fetch-home-cleaning-options -> list-available-time-slots -> calculate-price -> complete-home-cleaning-booking. Use this tool only after user confirms date-time selection(s) and final amount. This is the only step where booking confirmation wording is allowed. Required arguments: 1) 'service_type': home_cleaning. 2) 'attributes': exact attribute_ids returned by list-available-time-slots. 3) 'credit': whether to use available credit. 4) 'frequency': selected frequency id. 5) 'selected_dates': selected date-time values in yyyy-MM-dd HH:mm:ss format. 6) 'total_amount': final amount as BigDecimal, matching confirmed calculation output. Optional arguments: 1) 'instructions': customer notes for booking. Frequency mapping rule: - Frequency 1,2,3 (one-time/weekly/bi-weekly): selected_dates should contain one selected slot. - Frequency 4-9 (package): selected_dates should contain one selected datetime per chosen weekday using earliest_date mapping from weekday_slot_options (for example 3 visit/week => 3 selected_dates). Do not ask for all package session dates. RESTRICTIONS: - Do not ask address or payment method. - Never request full address or location details in chat. Address is taken from the user's default address on system and mcp will use it inside. - Do not modify or regenerate attributes/selected_dates. - Do not direct user to app/site for completion; complete via complete-home-cleaning-booking. - Mention inability to complete booking only if complete-home-cleaning-booking returns an error. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

fetch-flex-service-attributes

ChatGPT
Second step in the flex booking flow. Retrieves configurable attribute options for the selected flex service_type and returns the canonical slug/value structure. The output becomes the source of truth for attribute selection (one or more attributes under the same selected service_type) before availability lookup, price calculation, and complete booking. If attribute-level prices are shown, treat them as component prices; final payable total can include additional service fees at calculate/complete step. INSTRUCTIONS: REQUIRED 2/5 STEP for flex bookings in UAE. Flow: fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Call this tool only after the user confirms one flex service_type from fetch-flex-services. Service selection is single per booking flow. Attribute selection under that service_type can include multiple attributes/options. Example: if service_type is women's spa, selections like "relaxation massage" and "foot massage" are attribute options, not separate services. Protocol: 1. Fetch canonical attribute options for the selected service_type. 2. Ask the user to choose one or more attribute values from returned options only (based on what the service supports). If you share attribute-level prices, clearly say these are component prices and final total can be higher after additional service fees are applied at calculate/complete step. 3. Preserve selected values exactly in {"slug":"...","value":number} shape. For attributes that include counter_options, value must be the selected positive count from counter_options (for example 1, 2, 3), not the attribute id. 4. Use the same selections for: - list-flex-available-time-slots as 'flex_attributes' - calculate-flex-price as 'attributes' - complete-flex-booking as 'attributes' RESTRICTIONS: - Do not ask address, payment method, or card details. - Never request full address or location details in chat. Address is taken from the user's default address on system. - Do not invent attribute slugs or values not present in tool output. - Do not ask the user to pick one treatment only when multiple selected treatments are valid attribute options under the same service_type. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

fetch-flex-services

ChatGPT
First step in the flex booking flow: fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Fetches the active services (other than home cleaning) available for the user location and provides valid service_type values. Use this tool to shortlist services from user intent, then ask the user to confirm one service_type category before moving to attributes. Do not confuse treatment options/variants under that category with separate service_type values. INSTRUCTIONS: REQUIRED 1/5 STEP for flex bookings (any service other than home cleaning) in UAE. Flow: fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Call this tool immediately when user intent is a booking for a service other than home cleaning. Protocol: 1. Fetch active services for user's default location. 2. Present best matches to the user's intent. 3. Ask user to confirm one service_type category and keep its slug internally as 'service_type' for next steps (do not display the slug to user). 4. Do not treat treatment names/options (for example Relaxation Massage, Foot Massage) as separate service_type values if they belong to the same chosen category. RESTRICTIONS: - Do not ask address, payment method, or preferred date-time in this step. - Never request full address or location details in chat. Address is taken from the user's default address on system and mcp will use it inside. - Do not say "one exact service per booking" when user is selecting multiple attribute options under one service_type. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

fetch-home-cleaning-options

ChatGPT
First step in the home cleaning booking flow: fetch-home-cleaning-options -> list-available-time-slots -> calculate-price -> complete-home-cleaning-booking. Fetches valid home cleaning configuration options (duration, cleaner count, materials, frequency) for the user location. Use this output to gather valid selections before checking availability. Options are location-specific; ask only values present in returned attribute_options and frequencies. If option-level prices are shown, treat them as component prices; final payable total can include additional service fees at calculate/complete step. Do not ask preferred date/time in this step; date/time selection is only from list-available-time-slots output. INSTRUCTIONS: REQUIRED 1/4 STEP for home cleaning bookings in UAE. Flow: fetch-home-cleaning-options -> list-available-time-slots -> calculate-price -> complete-home-cleaning-booking. Call this tool immediately when user asks to book home cleaning. Protocol: 1. Fetch valid options for duration, cleaner_count, material, and frequency. 2. Read values from response.attribute_options[].options[] and response.frequencies only. If you mention option-level prices, clearly say these are component prices and final total may include additional service fees at calculate/complete step. 3. Present only returned options and ask the user to confirm or change all required selections: - duration - cleaner_count - material - frequency 4. Even if defaults are preselected in the response, treat them as tentative and ask user confirmation before continuing. 5. After confirmation, call list-available-time-slots (do not ask user for custom preferred date/time first). RESTRICTIONS: - Do not ask address, payment method, or preferred date-time in this step. - Do not suggest hardcoded examples (such as "3, 4, 5 hours" or "1, 2, 3 cleaners"). - Do not infer unavailable options; if only one option exists (for example only 4 hours), present only that option. - Never ask open-ended questions like "preferred date" or "preferred start time" before list-available-time-slots returns available_times. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

list-available-time-slots

ChatGPT
Second step in the home cleaning booking flow. Finds valid home cleaning time slots after user confirms duration, cleaner count, materials, and frequency. For package frequencies, derive weekday choices from available_times and use earliest date per weekday instead of collecting every visit date. Returns attribute_ids that must be preserved exactly and reused in both calculate-price and complete-home-cleaning-booking. INSTRUCTIONS: REQUIRED 2/4 STEP for home cleaning bookings in UAE. Flow: fetch-home-cleaning-options -> list-available-time-slots -> calculate-price -> complete-home-cleaning-booking. Use this tool to fetch valid time slots for the selected home cleaning configuration. Input rules: 1) duration: user-selected value from fetch-home-cleaning-options attribute options. 2) cleaner_count: user-selected value from fetch-home-cleaning-options attribute options. 3) material: user-selected value from fetch-home-cleaning-options attribute options. 4) frequency: user-selected value from fetch-home-cleaning-options frequencies. 5) package_month: user-selected package month value when package frequency is selected; otherwise use 0. 6) service_type: home_cleaning. Critical output rule: - Preserve returned 'attribute_ids' exactly. - Pass them unchanged as 'attributes' to calculate-price and complete-home-cleaning-booking. - Respect 'schedule_selection_mode': - exact_datetime: ask for exact date/time selection from available_times. - recurring_weekday_time: ask for weekdays and one time slot per chosen weekday from weekday_slot_options derived from available_times (do not ask every package visit date). Protocol: 1. Show available_times and weekday_slot_options. 2. If schedule_selection_mode=exact_datetime: - Ask user to choose exact slot(s) and keep format yyyy-MM-dd HH:mm:ss. 3. If schedule_selection_mode=recurring_weekday_time: - Ask user to choose weekdays and one slot per chosen weekday from weekday_slot_options. - For each selected weekday, use its earliest_date from weekday_slot_options and selected time to build selected_dates datetime. - Do not ask the user to provide all package visit dates. 4. Ask for date/time only as a selection from returned slots, not as open-ended free-form preference. RESTRICTIONS: - Do not ask address or payment method. - Do not fabricate slots or attribute IDs. - Do not guess or auto-fill duration/cleaner/material/frequency with values not explicitly selected from available options. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

list-flex-available-time-slots

ChatGPT
Third step in the flex booking flow. Finds valid available slots for the selected flex service_type and chosen flex attributes. Use only user-confirmed attributes from fetch-flex-service-attributes output (multiple attributes allowed), then ask the user to choose one exact date-time from available_times. INSTRUCTIONS: REQUIRED 3/5 STEP for flex bookings in UAE when a time slot must be selected. Flow: fetch-flex-services -> fetch-flex-service-attributes -> list-flex-available-time-slots -> calculate-flex-price -> complete-flex-booking. Use this tool to find valid date-time slots for the selected flex configuration. Required arguments: 1) 'service_type': selected flex service slug. 2) 'flex_attributes': list of objects in format {"slug":"...","value":number}; list may contain multiple attributes under the same selected service_type. These values must come from fetch-flex-service-attributes output. For counter_options attributes, use the selected counter quantity value (> 0), not id. Protocol: 1. Call this tool after user confirms attribute selections. 2. Present returned available_times and ask user to choose one exact slot. 3. Preserve chosen slot exactly as yyyy-MM-dd HH:mm:ss for complete-flex-booking 'selected_date'. 4. For complete-flex-booking, pass the same attribute values under key 'attributes' (not 'flex_attributes'). RESTRICTIONS: - Do not ask address or payment method. - Never request full address or location details in chat. Address is taken from the user's default address on system and mcp will use it inside. - Do not create custom date-times not returned by availability. - Never expose internal identifiers (service_type slug, attribute slug, or similar codes) in user-facing text. Use human-readable titles only.

Capabilities

Writes

App Stats

9

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily