mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-08-29 09:18:57 +00:00
ADD - introduce SkyRide taxi platform
This commit is contained in:
@@ -614,3 +614,60 @@ CREATE TABLE IF NOT EXISTS `sky_phone_picstagram_moderation_audit` (
|
||||
KEY `idx_sky_phone_picstagram_audit_target` (`target_type`,`target_id`,`created_at`),
|
||||
FOREIGN KEY (`report_id`) REFERENCES `sky_phone_picstagram_reports` (`id`) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `sky_phone_skyride_profiles` (
|
||||
`id` CHAR(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
|
||||
`owner_identifier` VARCHAR(80) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
|
||||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uniq_sky_phone_skyride_owner` (`owner_identifier`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `sky_phone_skyride_rides` (
|
||||
`id` CHAR(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
|
||||
`passenger_profile_id` CHAR(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
|
||||
`driver_profile_id` CHAR(36) CHARACTER SET ascii COLLATE ascii_bin NULL,
|
||||
`passenger_name` VARCHAR(80) NOT NULL,
|
||||
`driver_name` VARCHAR(80) NULL,
|
||||
`status` ENUM('payment_pending','searching','accepted','arrived','in_progress','completing','completed','cancelled') NOT NULL,
|
||||
`service_class` ENUM('taxi','comfort','xl','premium') NOT NULL,
|
||||
`pickup_label` VARCHAR(80) NOT NULL,
|
||||
`pickup_x` DECIMAL(10,3) NOT NULL,
|
||||
`pickup_y` DECIMAL(10,3) NOT NULL,
|
||||
`pickup_z` DECIMAL(10,3) NOT NULL,
|
||||
`destination_label` VARCHAR(80) NOT NULL,
|
||||
`destination_x` DECIMAL(10,3) NOT NULL,
|
||||
`destination_y` DECIMAL(10,3) NOT NULL,
|
||||
`destination_z` DECIMAL(10,3) NOT NULL,
|
||||
`distance_meters` INT UNSIGNED NOT NULL,
|
||||
`duration_seconds` INT UNSIGNED NOT NULL,
|
||||
`price` INT UNSIGNED NOT NULL,
|
||||
`payout_amount` INT UNSIGNED NOT NULL,
|
||||
`currency` VARCHAR(8) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
|
||||
`driver_vehicle_model` VARCHAR(64) NULL,
|
||||
`driver_vehicle_color` VARCHAR(64) NULL,
|
||||
`driver_vehicle_plate` VARCHAR(16) NULL,
|
||||
`cancelled_by` ENUM('passenger','driver','system') NULL,
|
||||
`cancel_reason` VARCHAR(32) NULL,
|
||||
`passenger_rating` TINYINT UNSIGNED NULL,
|
||||
`rating_comment` VARCHAR(300) NULL,
|
||||
`tip_amount` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`refund_status` ENUM('none','pending','processing','completed') NOT NULL DEFAULT 'none',
|
||||
`tip_status` ENUM('none','processing','completed','failed') NOT NULL DEFAULT 'none',
|
||||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`accepted_at` DATETIME NULL,
|
||||
`arrived_at` DATETIME NULL,
|
||||
`started_at` DATETIME NULL,
|
||||
`completed_at` DATETIME NULL,
|
||||
`cancelled_at` DATETIME NULL,
|
||||
`refunded_at` DATETIME NULL,
|
||||
`paid_out_at` DATETIME NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_sky_phone_skyride_passenger` (`passenger_profile_id`,`status`,`updated_at`),
|
||||
KEY `idx_sky_phone_skyride_driver` (`driver_profile_id`,`status`,`updated_at`),
|
||||
KEY `idx_sky_phone_skyride_requests` (`status`,`created_at`),
|
||||
KEY `idx_sky_phone_skyride_refunds` (`refund_status`,`status`,`updated_at`),
|
||||
FOREIGN KEY (`passenger_profile_id`) REFERENCES `sky_phone_skyride_profiles` (`id`) ON DELETE CASCADE,
|
||||
FOREIGN KEY (`driver_profile_id`) REFERENCES `sky_phone_skyride_profiles` (`id`) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
Reference in New Issue
Block a user