UChat Official

Introduction

In today's detailed guide, we explore how to seamlessly integrate the Airchatty appointment system directly into your SMS Chatbot.

This process enables users to book, reschedule, and manage appointments via SMS or web chat, streamlining scheduling workflows without leaving your messaging platform.

The tutorial emphasizes the core principles, backend setup, and practical implementation steps, ensuring you can deploy this system effectively.

Download Template

Template to be downloaded: https://www.uchat.com.au/templates/ijz0l1e02syd0txwsy8qipfabcbj0l06

How the AirChatty Appointment System Works Inside SMS Chatbot

The integration allows users to interact with an appointment mini app through SMS or web chat, providing a user-friendly, step-by-step booking experience.

The process involves profile setup, timezone detection, date and time selection, confirmation, and backend appointment creation. The system is designed to be flexible, supporting rescheduling and cancellation, with backend automation to sync appointments with external calendars like Google Calendar.

Step-by-Step Breakdown of the Appointment Booking Flow

1. User Profile Initialization

  • Prompt for First Name
    Example: "Mark"

  • Prompt for Last Name
    Example: "Anime"

  • Prompt for Email
    Example: "[email protected]"

This initial step ensures the system captures essential user details, which are stored for subsequent appointment management.

2. Timezone Detection and Selection

  • The system detects the user's timezone based on their phone number, e.g., Hungarian timezone.

  • Display of available time zones:

    • Users press a number (e.g., '0') to select their timezone.

    • This ensures appointment times are accurate relative to the user's location.

Example

Input

Description

1

0

Selects Budapest timezone (Hungary)

3. Date Selection

  • The system fetches upcoming available dates (default: 7 days).

  • Users select a date by pressing the corresponding number.

    • Example: '3' for July 11th.

  • The system retrieves available slots for that date.

Example

Input

Description

2

3

Selects July 11th

4. Time Slot Selection

  • Available time slots are fetched based on the selected date and timezone.

  • Users pick a preferred time by pressing a number.

    • Example: '7' for 5:00 AM, '12' for 9:00 AM.

  • The system confirms the selected slot and blocks it off to prevent double booking.

Example

Input

Description

3

12

Selects 9:00 AM slot

5. Confirmation and Rescheduling

  • Users confirm their appointment by pressing '0' to confirm or '1' to change.

  • If rescheduling, the system fetches available slots again, updating the calendar accordingly.

  • The system prevents booking past or already reserved slots by dynamically updating available options.

6. Backend Appointment Creation

  • Once confirmed, the system creates the appointment in the CRM via API.

  • Key data sent includes:

    • CRM contact ID

    • Calendar ID

    • User-selected date and time

    • Appointment title and status (must be 'confirmed')

    • Optional details: meeting link, address, etc.

Parameter

Description

Example

contact ID

User's CRM ID

'12345'

calendar ID

Specific calendar

'abcde-calendar-id'

date & time

Appointment slot

'2023-07-11 09:00'

status

Must be 'confirmed'

'confirmed'

  • The system returns an appointment ID, which is stored for future reference.

Backend Architecture and Data Flow

Step

Action

Data Input

Output/Response

Purpose

1

Get Time Zone

Phone number

Time zone code

Ensures correct scheduling

2

Fetch Available Dates

Time zone, current date

List of dates

Presents options to user

3

Fetch Time Slots

Selected date, time zone

Available slots

User picks preferred time

4

Convert Dates & Times

Raw date/time data

Readable formats

User-friendly display

5

Confirm Appointment

User confirmation

Appointment creation

Finalizes booking

6

Create Appointment

User data, calendar info

Appointment ID

Stores appointment in CRM

Backend Data Handling and JSON Mapping

  • Time zone detection relies on phone number parsing, mapping to a specific timezone code.

  • Available slots are fetched via API, returning JSON data with date/time options.

  • Readable formats are generated for user display, converting raw data into friendly strings.

  • Appointment creation involves sending structured data to CRM API, including status and optional details.

Practical Implementation Details

Fetching Calendar and User IDs

  • Use CRM V2 API actions to retrieve calendar IDs and user IDs.

  • Map these IDs within your flow to ensure correct appointment placement.

  • Example:

    • Get Calendars: Returns multiple calendar IDs.

    • Get Users: Retrieves user IDs for team scheduling.

API Action

Purpose

Sample Response

Get Calendars

Map calendar IDs

List of calendar IDs with names

Get Users

Map user IDs

List of users with IDs

Managing Multiple Users and Calendars

  • Store multiple user IDs and calendar IDs in bot fields for team scheduling.

  • Assign appointments to specific team members based on user input or predefined logic.

User Experience and Flexibility

  • The system supports rescheduling and cancellation via simple SMS commands.

  • Users can modify date/time or cancel appointments, with backend updates reflected immediately.

  • The flow ensures no double bookings by dynamically updating available slots after each selection.

Visual Summary of the Flow

User Profile Setup
        
Timezone Detection
        
Select Date
        
Select Time Slot
        
Confirm or Reschedule
        
Create Appointment in CRM
        
Send Confirmation Message

Additional Tips for Implementation

  • Ensure your CRM API credentials are correctly configured for smooth data exchange.

  • Map calendar and user IDs accurately to prevent mismatches.

  • Set appointment status to 'confirmed' to sync with external calendars like Google Calendar.

  • Customize appointment titles and details to match your branding or service specifics.

  • Test the flow thoroughly to handle edge cases like overlapping bookings or invalid inputs.

Final Thoughts and Best Practices

  • Automation reduces manual scheduling errors and improves client experience.

  • Backend flexibility allows for complex workflows, including team scheduling and multi-calendar management.

  • User-friendly prompts and real-time updates ensure clarity and ease of use.

  • Security considerations: Protect user data and API credentials during setup.

Conclusion

Integrating the Air Jelly appointment system within your SMS Vault transforms your messaging platform into a powerful, automated scheduling tool.

By following this comprehensive guide, you can enable your users to book, reschedule, and cancel appointments effortlessly, all while maintaining control over backend processes and calendar synchronization.

This setup not only enhances operational efficiency but also elevates customer experience through seamless communication.