PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.3
Yatra – Travel Booking & Tour Operator Software v3.0.3
3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 2.0.10 2.0.11 All 82 releases
yatra / routes / api.php

api.php in Yatra – Travel Booking & Tour Operator Software 3.0.3, at routes/api.php

119 lines 3.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 /**
6 * REST API Routes Registry
7 *
8 * All API routes are registered under the 'yatra/v1' namespace.
9 * Each controller defines its own routes in register_routes() method.
10 *
11 * This file provides a central registry of all API controllers.
12 *
13 * @package Yatra
14 */
15
16 // Ensure we're in WordPress context
17 if (!defined('ABSPATH')) {
18 exit;
19 }
20
21 /**
22 * API Controllers Registry
23 *
24 * Organized by domain/module for easy navigation.
25 * Comment out a controller to disable its endpoints.
26 */
27 $controllers = [
28
29 // =============================================
30 // CORE RESOURCES
31 // =============================================
32 \Yatra\Controllers\TripController::class,
33 \Yatra\Controllers\ActivityController::class,
34 \Yatra\Controllers\DestinationController::class,
35
36 // =============================================
37 // TAXONOMY & CLASSIFICATION
38 // =============================================
39 \Yatra\Controllers\TripCategoryController::class,
40 \Yatra\Controllers\DifficultyLevelController::class,
41 \Yatra\Controllers\TravelerCategoryController::class,
42
43 // =============================================
44 // ITEMS & INVENTORY
45 // =============================================
46 \Yatra\Controllers\ItemTypeController::class,
47 \Yatra\Controllers\ItemController::class,
48
49 // =============================================
50 // TRIP DETAILS
51 // =============================================
52 \Yatra\Controllers\AvailabilityController::class,
53 \Yatra\Controllers\RecurringAvailabilityController::class,
54 \Yatra\Controllers\TripAvailabilityController::class, // Departures System (FREE)
55 \Yatra\Controllers\TripDownloadController::class, // Downloads System (FREE)
56 \Yatra\Controllers\AttributeController::class, // Attributes System (FREE)
57 \Yatra\Controllers\ItineraryController::class,
58 \Yatra\Controllers\DiscountController::class,
59
60 // =============================================
61 // BOOKING & PAYMENTS
62 // =============================================
63 \Yatra\Controllers\BookingsController::class,
64 \Yatra\Controllers\PaymentController::class, // Payment records management
65 \Yatra\Controllers\BookingSessionController::class,
66 \Yatra\Controllers\PaymentGatewayController::class, // Payment gateway operations
67
68 // =============================================
69 // CUSTOMERS & CRM
70 // =============================================
71 \Yatra\Controllers\CustomerController::class,
72 \Yatra\Controllers\ReviewController::class,
73 \Yatra\Controllers\EnquiryController::class,
74 \Yatra\Controllers\SavedTripController::class,
75
76 // =============================================
77 // AUTHENTICATION
78 // =============================================
79 \Yatra\Controllers\AuthController::class,
80
81 // =============================================
82 // ADMIN & SETTINGS
83 // =============================================
84 \Yatra\Controllers\SettingsController::class,
85 \Yatra\Controllers\ModuleController::class,
86 \Yatra\Controllers\ReportsController::class,
87 \Yatra\Controllers\ToolsController::class,
88 \Yatra\Controllers\SampleDataController::class,
89 \Yatra\Controllers\UsageTrackingController::class,
90 \Yatra\Controllers\NoticeController::class,
91
92 ];
93
94 // Debug: Check if BookingsController is in the array
95 if (defined('WP_DEBUG') && WP_DEBUG) {
96 }
97
98 /**
99 * Register all controller routes
100 *
101 * Each controller's register_routes() method is called to register
102 * its endpoints with WordPress REST API.
103 */
104 foreach ($controllers as $controllerClass) {
105 if (!class_exists($controllerClass)) {
106 continue;
107 }
108
109 try {
110 $controller = new $controllerClass();
111
112 if (method_exists($controller, 'register_routes')) {
113 $controller->register_routes();
114 }
115 } catch (\Throwable $e) {
116 continue;
117 }
118 }
119