Zorya APIZorya API
  • Go to the Portal
  • Sign Up
  • Documentation
  • API Reference
  • Tables
  • Copyright © 2026 Zorya Telecom, S.A. de C.V.
USERS & SESSIONS
    Get a signed token for a userpostGet the current active usergetList all active sessions for the current usergetRevoke a session by SessionIdpost
LOOKUP
    Consult Msisdn informationpost
TOP-UP
    Send a regular Top Up to a userpostSend a direct Top Up to a user with specified ProductpostGet Statusget
SMS
    Send a Basic SMS to a userpostGet Sms Statusget
RCS
    Send an RCS MessagepostGet RCS Statusget
MESSAGING
    Send SMS or RCS MessagepostGet Message Statusget
WHATSAPP
    MESSAGES
      Text Messagepost
    STATUS
      Get WhatsApp Statusget
    MEDIA
      Get MediaIdgetGenerate Header HandlepostUpload Media Completepost
    TEMPLATES
      List WhatsApp TemplatesgetCreate a WhatsApp TemplatepostUpdate a WhatsApp TemplatepostDelete a WhatsApp Templatedelete
      Categories
    Flows
    Usernames
WEBHOOKS
    MO
    MT
    NOTIFICATIONS
Core API
Core API

WhatsApp Docs


APPOINTMENT_BOOKING Category

The APPOINTMENT_BOOKING category is designed for scheduling, booking, and reservation systems. Use this category when users need to select dates, times, or reserve services, appointments, or events.

Category Specification

Code
{ "flowCategories": ["APPOINTMENT_BOOKING"] }

Use Cases

Perfect for APPOINTMENT_BOOKING

  • Medical Appointments - Doctor visits, consultations, treatments
  • Service Bookings - Repair services, consultations, installations
  • Event Registration - Workshops, seminars, conferences
  • Reservation Systems - Restaurants, hotels, meeting rooms
  • Class Scheduling - Fitness classes, tutorials, training sessions

Not Suitable for APPOINTMENT_BOOKING

  • User registration - Use SIGN_UP instead
  • General inquiries - Use CONTACT_US instead
  • Feedback collection - Use SURVEY instead
  • Lead generation - Use LEAD_GENERATION instead

Recommended Components

Essential Components

  • DATE_PICKER - Single date selection for appointments
  • CALENDAR_PICKER - Advanced date selection with availability
  • DROPDOWN - Time slots, service types, duration options
  • RADIO_BUTTONS_GROUP - Service selection, appointment types
  • FOOTER - Booking confirmation and submission

Optional Components

  • TEXT_INPUT - Contact information, special requests
  • TEXT_AREA - Appointment notes, specific requirements
  • CHECKBOX_GROUP - Additional services, preferences
  • OPT_IN - Cancellation policies, reminders consent
  • PHOTO_PICKER - Reference images, condition documentation

Implementation Examples

Basic Medical Appointment

Code
{ "flowName": "medical_appointment_booking", "flowCategories": ["APPOINTMENT_BOOKING"], "flowJson": { "screens": [ { "id": "APPOINTMENT_BOOKING", "terminal": true, "success": true, "title": "Book Medical Appointment", "layout": { "children": [ { "type": "TEXT_HEADING", "text": "Schedule Your Appointment" }, { "type": "DROPDOWN", "label": "Appointment Type", "name": "appointment_type", "required": true, "dataSource": [ {"id": "consultation", "title": "General Consultation - 30 min"}, {"id": "followup", "title": "Follow-up Visit - 15 min"}, {"id": "checkup", "title": "Annual Check-up - 45 min"}, {"id": "specialist", "title": "Specialist Consultation - 60 min"} ] }, { "type": "DATE_PICKER", "label": "Preferred Date", "name": "appointment_date", "required": true, "minDate": "2024-04-01", "maxDate": "2024-08-31", "includeDays": [1, 2, 3, 4, 5], "helperText": "Available Monday through Friday" }, { "type": "DROPDOWN", "label": "Preferred Time", "name": "appointment_time", "required": true, "dataSource": [ {"id": "0900", "title": "9:00 AM"}, {"id": "1000", "title": "10:00 AM"}, {"id": "1100", "title": "11:00 AM"}, {"id": "1400", "title": "2:00 PM"}, {"id": "1500", "title": "3:00 PM"}, {"id": "1600", "title": "4:00 PM"} ] }, { "type": "TEXT_AREA", "label": "Reason for Visit (Optional)", "name": "visit_reason", "required": false, "maxLength": "300" }, { "type": "OPT_IN", "label": "Send me appointment reminders via WhatsApp", "name": "reminder_consent", "required": false }, { "type": "FOOTER", "label": "Book Appointment", "onClickAction": { "name": "COMPLETE" }, "centerCaption": "You'll receive confirmation within 2 hours" } ] } } ] } }

Multi-Step Service Booking

Code
{ "flowName": "home_service_booking", "flowCategories": ["APPOINTMENT_BOOKING"], "flowJson": { "screens": [ { "id": "SERVICE_SELECTION", "terminal": false, "success": false, "title": "Select Service", "layout": { "children": [ { "type": "TEXT_HEADING", "text": "What service do you need?" }, { "type": "RADIO_BUTTONS_GROUP", "name": "service_type", "label": "Service Type", "required": true, "dataSource": [ { "id": "plumbing", "title": "Plumbing Repair", "description": "Leaks, clogs, installations - 2-4 hours" }, { "id": "electrical", "title": "Electrical Work", "description": "Wiring, outlets, lighting - 1-3 hours" }, { "id": "hvac", "title": "HVAC Service", "description": "Heating, cooling, maintenance - 2-6 hours" }, { "id": "appliance", "title": "Appliance Repair", "description": "Washer, dryer, refrigerator - 1-2 hours" } ] }, { "type": "TEXT_AREA", "label": "Describe the Problem", "name": "problem_description", "required": true, "maxLength": "500", "helperText": "Please provide as much detail as possible" }, { "type": "FOOTER", "label": "Continue to Scheduling", "onClickAction": { "name": "NAVIGATE", "next": "SCHEDULING" } } ] } }, { "id": "SCHEDULING", "terminal": false, "success": false, "title": "Choose Date & Time", "layout": { "children": [ { "type": "TEXT_HEADING", "text": "When works best for you?" }, { "type": "CALENDAR_PICKER", "name": "service_dates", "label": "Available Dates", "description": "Select 2-3 dates you're available", "mode": "MULTIPLE", "required": true, "minDate": "2024-04-01", "maxDate": "2024-06-30", "minDays": 2, "maxDays": 3, "helperText": "More options = faster scheduling" }, { "type": "CHECKBOX_GROUP", "name": "time_preferences", "label": "Time Preferences", "required": true, "minSelectedItems": 1, "dataSource": [ {"id": "morning", "title": "Morning (8 AM - 12 PM)"}, {"id": "afternoon", "title": "Afternoon (12 PM - 5 PM)"}, {"id": "evening", "title": "Evening (5 PM - 8 PM)"} ] }, { "type": "FOOTER", "label": "Continue to Contact Info", "onClickAction": { "name": "NAVIGATE", "next": "CONTACT_INFO" } } ] } }, { "id": "CONTACT_INFO", "terminal": true, "success": true, "title": "Contact Information", "layout": { "children": [ { "type": "TEXT_HEADING", "text": "How can we reach you?" }, { "type": "TEXT_INPUT", "label": "Full Name", "name": "customer_name", "required": true }, { "type": "TEXT_INPUT", "label": "Phone Number", "name": "phone", "required": true, "inputType": "NUMBER" }, { "type": "TEXT_INPUT", "label": "Service Address", "name": "service_address", "required": true }, { "type": "DROPDOWN", "label": "Property Type", "name": "property_type", "required": true, "dataSource": [ {"id": "house", "title": "Single Family House"}, {"id": "apartment", "title": "Apartment/Condo"}, {"id": "commercial", "title": "Commercial Building"} ] }, { "type": "OPT_IN", "label": "I agree to the service terms and cancellation policy", "name": "terms_accepted", "required": true }, { "type": "FOOTER", "label": "Request Service Booking", "onClickAction": { "name": "COMPLETE" }, "centerCaption": "We'll call within 1 hour to confirm your appointment" } ] } } ] } }

Event Registration with Capacity

Code
{ "flowName": "workshop_registration", "flowCategories": ["APPOINTMENT_BOOKING"], "flowJson": { "screens": [ { "id": "WORKSHOP_REGISTRATION", "terminal": true, "success": true, "title": "Workshop Registration", "layout": { "children": [ { "type": "TEXT_HEADING", "text": "Register for Workshop" }, { "type": "BODY", "text": "Join our hands-on digital marketing workshop. Limited to 20 participants for personalized attention." }, { "type": "IMAGE", "src": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/...", "width": 400, "height": 200, "scaleType": "FIT", "altText": "Digital marketing workshop classroom setup" }, { "type": "DROPDOWN", "label": "Workshop Date", "name": "workshop_date", "required": true, "dataSource": [ {"id": "apr15", "title": "April 15, 2024 - 9:00 AM (8 spots left)"}, {"id": "apr22", "title": "April 22, 2024 - 9:00 AM (12 spots left)"}, {"id": "apr29", "title": "April 29, 2024 - 2:00 PM (15 spots left)"}, {"id": "may06", "title": "May 6, 2024 - 9:00 AM (20 spots left)"} ] }, { "type": "TEXT_INPUT", "label": "Full Name", "name": "attendee_name", "required": true }, { "type": "TEXT_INPUT", "label": "Company (Optional)", "name": "company_name", "required": false }, { "type": "DROPDOWN", "label": "Experience Level", "name": "experience_level", "required": true, "dataSource": [ {"id": "beginner", "title": "Beginner - New to digital marketing"}, {"id": "intermediate", "title": "Intermediate - Some experience"}, {"id": "advanced", "title": "Advanced - Experienced marketer"} ] }, { "type": "CHIPS_SELECTOR", "name": "topics_interest", "label": "Topics of Interest", "required": false, "maxSelectedItems": 3, "description": "What aspects interest you most?", "dataSource": [ {"id": "social", "title": "Social Media"}, {"id": "seo", "title": "SEO"}, {"id": "ppc", "title": "Paid Advertising"}, {"id": "email", "title": "Email Marketing"}, {"id": "content", "title": "Content Marketing"}, {"id": "analytics", "title": "Analytics"} ] }, { "type": "OPT_IN", "label": "Send me information about future workshops", "name": "future_workshops", "required": false }, { "type": "FOOTER", "label": "Register for Workshop - $99", "onClickAction": { "name": "COMPLETE" }, "centerCaption": "Registration includes materials, lunch, and certificate" } ] } } ] } }

Scheduling Best Practices

Date and Time Management

  • Business hours - Use includeDays to limit to operating days
  • Advance booking - Set appropriate minDate for preparation time
  • Booking horizon - Set realistic maxDate based on planning capacity
  • Holiday blocking - Use unavailableDates for holidays and closures

Availability Optimization

Code
{ "type": "DATE_PICKER", "minDate": "2024-04-01", // Tomorrow or next business day "maxDate": "2024-07-31", // 3-month booking window "includeDays": [1, 2, 3, 4, 5], // Business days only "unavailableDates": [ // Block holidays and closures "2024-04-15", "2024-05-27", "2024-07-04" ] }

Time Slot Management

Offer realistic time windows:

Code
{ "type": "DROPDOWN", "label": "Preferred Time", "name": "time_slot", "dataSource": [ {"id": "0900", "title": "9:00 AM - 10:00 AM"}, {"id": "1030", "title": "10:30 AM - 11:30 AM"}, {"id": "1400", "title": "2:00 PM - 3:00 PM"} ] }

Confirmation and Communication

Booking Confirmation

Code
{ "type": "CAPTION", "text": "**Confirmation:** You'll receive booking details via email within 15 minutes" }

Reminder Consent

Code
{ "type": "OPT_IN", "label": "Send me appointment reminders 24 hours before", "name": "reminder_consent", "required": false }

Cancellation Policy

Code
{ "type": "CAPTION", "text": "**Cancellation Policy:** Free cancellation up to 24 hours before appointment. Late cancellations may incur fees." }

Common Booking Patterns

Flexible Scheduling

Allow multiple date options:

Code
{ "type": "CALENDAR_PICKER", "mode": "MULTIPLE", "minDays": 2, "maxDays": 3, "description": "Select 2-3 dates you're available for faster scheduling" }

Service Duration Display

Show time estimates:

Code
{ "dataSource": [ {"id": "basic", "title": "Basic Service - 1 hour"}, {"id": "standard", "title": "Standard Service - 2-3 hours"}, {"id": "comprehensive", "title": "Comprehensive Service - 4-6 hours"} ] }

Pricing Information

Include cost transparency:

Code
{ "type": "FOOTER", "label": "Book Consultation - $150", "centerCaption": "Final pricing discussed during consultation" }

Integration Considerations

Calendar Systems

  • Availability checking - Real-time slot availability
  • Conflict prevention - Avoid double booking
  • Buffer time - Account for setup/cleanup between appointments
  • Provider schedules - Consider staff availability

Notification Systems

  • Confirmation emails - Immediate booking confirmation
  • Reminder messages - 24-hour advance reminders
  • Cancellation handling - Automated cancellation processing
  • Rescheduling options - Allow easy date changes

Common Error Scenarios

Date Selection Errors

Code
{ "errorCode": "DATE_OUT_OF_RANGE", "message": "Selected date is outside available booking window" }

Time Slot Conflicts

Code
{ "errorCode": "TIME_SLOT_UNAVAILABLE", "message": "Selected time slot is no longer available. Please choose another time." }

Booking Limits

Code
{ "errorCode": "BOOKING_LIMIT_EXCEEDED", "message": "Maximum bookings per customer reached. Please contact support." }

Success Metrics

Booking Performance

  • Conversion Rate - Percentage completing booking
  • Abandonment Points - Where users drop off
  • Booking Lead Time - Average days between booking and appointment
  • No-show Rate - Percentage of missed appointments

Optimization Opportunities

  • Flexible scheduling - Multiple date options
  • Clear expectations - Duration, pricing, preparation
  • Easy rescheduling - Reduce no-shows with flexibility
  • Confirmation clarity - Clear next steps after booking

Related Categories

  • LEAD_GENERATION Category - For capturing interested prospects
  • CUSTOMER_SUPPORT Category - For service-related support
  • CONTACT_US Category - For general inquiries

APPOINTMENT_BOOKING flows should prioritize clear availability, flexible scheduling options, and transparent communication about next steps


categories-overview
TEMPLATES
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON
JSON