-- phpMyAdmin SQL Dump
-- version 5.2.2
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Waktu pembuatan: 16 Sep 2026 pada 05.43
-- Versi server: 11.8.9-MariaDB-log
-- Versi PHP: 7.2.34

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `u237086604_meyahealth`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `articles`
--

CREATE TABLE `articles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `author_id` bigint(20) UNSIGNED NOT NULL,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `excerpt` text DEFAULT NULL,
  `content_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`content_json`)),
  `content_html` longtext DEFAULT NULL,
  `cover_image` varchar(255) DEFAULT NULL,
  `cover_alt` varchar(255) DEFAULT NULL,
  `status` varchar(20) NOT NULL DEFAULT 'draft',
  `published_at` timestamp NULL DEFAULT NULL,
  `reading_time` smallint(5) UNSIGNED NOT NULL DEFAULT 1,
  `meta_title` varchar(255) DEFAULT NULL,
  `meta_description` varchar(320) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) NOT NULL,
  `value` mediumtext NOT NULL,
  `expiration` bigint(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `cache`
--

INSERT INTO `cache` (`key`, `value`, `expiration`) VALUES
('ruang-medis-cache-0b3a962c0161c46cfb8dc079048219fb5d2bb4fe', 'i:1;', 1789485326),
('ruang-medis-cache-0b3a962c0161c46cfb8dc079048219fb5d2bb4fe:timer', 'i:1789485326;', 1789485326),
('ruang-medis-cache-13b6c8abdb5180b080f1f85347a0c3e3bb0a3123', 'i:1;', 1789434489),
('ruang-medis-cache-13b6c8abdb5180b080f1f85347a0c3e3bb0a3123:timer', 'i:1789434489;', 1789434489),
('ruang-medis-cache-1a995b7b14ae54545c6e0abd1c2837d16291617f', 'i:1;', 1789305783),
('ruang-medis-cache-1a995b7b14ae54545c6e0abd1c2837d16291617f:timer', 'i:1789305783;', 1789305783),
('ruang-medis-cache-22f955aa8f39d0494aefe1045a1a745ed07cc9d2', 'i:1;', 1789301283),
('ruang-medis-cache-22f955aa8f39d0494aefe1045a1a745ed07cc9d2:timer', 'i:1789301283;', 1789301283),
('ruang-medis-cache-2608143e023a704619d214e47c6502d2f0f748fc', 'i:1;', 1789416043),
('ruang-medis-cache-2608143e023a704619d214e47c6502d2f0f748fc:timer', 'i:1789416043;', 1789416043),
('ruang-medis-cache-43efd28c62c74e34e7a3e3f0f92eca4d3ac4100b', 'i:1;', 1789482051),
('ruang-medis-cache-43efd28c62c74e34e7a3e3f0f92eca4d3ac4100b:timer', 'i:1789482051;', 1789482051),
('ruang-medis-cache-4b98ae7d5ba430781dbe2a5bd50a32e25453dd2f', 'i:1;', 1789425716),
('ruang-medis-cache-4b98ae7d5ba430781dbe2a5bd50a32e25453dd2f:timer', 'i:1789425716;', 1789425716),
('ruang-medis-cache-59384f217312a6f45687b88e04fb7708321937d5', 'i:1;', 1789492853),
('ruang-medis-cache-59384f217312a6f45687b88e04fb7708321937d5:timer', 'i:1789492853;', 1789492853),
('ruang-medis-cache-5aa4643bbae9d613c6c000745aa0d4d15ae06b1c', 'i:1;', 1789424423),
('ruang-medis-cache-5aa4643bbae9d613c6c000745aa0d4d15ae06b1c:timer', 'i:1789424423;', 1789424423),
('ruang-medis-cache-662374b700e4528c8345f79857faa717de275e2a', 'i:1;', 1789501215),
('ruang-medis-cache-662374b700e4528c8345f79857faa717de275e2a:timer', 'i:1789501215;', 1789501215),
('ruang-medis-cache-849186d36cc9625ae5c28960fd7c4f950a755577', 'i:1;', 1789304981),
('ruang-medis-cache-849186d36cc9625ae5c28960fd7c4f950a755577:timer', 'i:1789304981;', 1789304981),
('ruang-medis-cache-8c3d791fb14248fd54d31b2d4316779211cee21e', 'i:1;', 1789440384),
('ruang-medis-cache-8c3d791fb14248fd54d31b2d4316779211cee21e:timer', 'i:1789440384;', 1789440384),
('ruang-medis-cache-987beedef27cdd0f617fef1de3af26d6c93d2550', 'i:1;', 1789396511),
('ruang-medis-cache-987beedef27cdd0f617fef1de3af26d6c93d2550:timer', 'i:1789396511;', 1789396511),
('ruang-medis-cache-ae29793b4092fed585ded2c903fe3783da78139e', 'i:1;', 1789321552),
('ruang-medis-cache-ae29793b4092fed585ded2c903fe3783da78139e:timer', 'i:1789321552;', 1789321552),
('ruang-medis-cache-b18ca80abdf5f42bf84398de02a9f4cbe1bdaf6b', 'i:1;', 1789481917),
('ruang-medis-cache-b18ca80abdf5f42bf84398de02a9f4cbe1bdaf6b:timer', 'i:1789481917;', 1789481917),
('ruang-medis-cache-b32d3627dcc41c7c0ddcf097c1665b878ad6f963', 'i:1;', 1789337655),
('ruang-medis-cache-b32d3627dcc41c7c0ddcf097c1665b878ad6f963:timer', 'i:1789337655;', 1789337655),
('ruang-medis-cache-b5b58ae2e06b2fd73b3995ded30f156b377e945c', 'i:2;', 1789300485),
('ruang-medis-cache-b5b58ae2e06b2fd73b3995ded30f156b377e945c:timer', 'i:1789300485;', 1789300485),
('ruang-medis-cache-c27e164fceb8fba086f7e507006722216f7d03a4', 'i:1;', 1789320959),
('ruang-medis-cache-c27e164fceb8fba086f7e507006722216f7d03a4:timer', 'i:1789320959;', 1789320959),
('ruang-medis-cache-c8c3a85064c2082bc19916dddfdfec6def3fd70f', 'i:1;', 1789475515),
('ruang-medis-cache-c8c3a85064c2082bc19916dddfdfec6def3fd70f:timer', 'i:1789475515;', 1789475515),
('ruang-medis-cache-ce6f316ae26c63336748c8f752696978d282c578', 'i:1;', 1789458714),
('ruang-medis-cache-ce6f316ae26c63336748c8f752696978d282c578:timer', 'i:1789458714;', 1789458714),
('ruang-medis-cache-d2cbbfa6e388177576afe335771ce37ca27f1871', 'i:1;', 1789515664),
('ruang-medis-cache-d2cbbfa6e388177576afe335771ce37ca27f1871:timer', 'i:1789515664;', 1789515664),
('ruang-medis-cache-d30ef136d7d990504ff97478ba05f12ed58fe457', 'i:1;', 1789300447),
('ruang-medis-cache-d30ef136d7d990504ff97478ba05f12ed58fe457:timer', 'i:1789300447;', 1789300447),
('ruang-medis-cache-d5e44e59e5d64da9359093e12554f44df636578e', 'i:1;', 1789317137),
('ruang-medis-cache-d5e44e59e5d64da9359093e12554f44df636578e:timer', 'i:1789317137;', 1789317137),
('ruang-medis-cache-e507780a0d46db07f85e6865bdef5e948b1b07f6', 'i:1;', 1789300205),
('ruang-medis-cache-e507780a0d46db07f85e6865bdef5e948b1b07f6:timer', 'i:1789300205;', 1789300205),
('ruang-medis-cache-f6fb8142a75ad323472685b85d2df1aa29f3ac54', 'i:1;', 1789300631),
('ruang-medis-cache-f6fb8142a75ad323472685b85d2df1aa29f3ac54:timer', 'i:1789300631;', 1789300631),
('ruang-medis-cache-fc44d7ac7cf0d15c4d2c43c2cf955713ec4cef44', 'i:1;', 1789471410),
('ruang-medis-cache-fc44d7ac7cf0d15c4d2c43c2cf955713ec4cef44:timer', 'i:1789471410;', 1789471410);

-- --------------------------------------------------------

--
-- Struktur dari tabel `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) NOT NULL,
  `owner` varchar(255) NOT NULL,
  `expiration` bigint(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `cache_locks`
--

INSERT INTO `cache_locks` (`key`, `owner`, `expiration`) VALUES
('laravel-cache-laravel_unique_job:App\\Jobs\\CreateShipmentJob:3', 'dxPxFBSu6cnf5JRy', 1788191282);

-- --------------------------------------------------------

--
-- Struktur dari tabel `chat_content_reports`
--

CREATE TABLE `chat_content_reports` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `reporter_user_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `pharmacy_conversation_id` bigint(20) UNSIGNED NOT NULL,
  `pharmacy_message_id` bigint(20) UNSIGNED DEFAULT NULL,
  `category` varchar(40) NOT NULL,
  `details` text DEFAULT NULL,
  `status` varchar(24) NOT NULL DEFAULT 'pending',
  `reviewed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `reviewed_at` timestamp NULL DEFAULT NULL,
  `resolution_notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `commission_rules`
--

CREATE TABLE `commission_rules` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `scope_type` varchar(255) NOT NULL,
  `tenant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `category` varchar(255) DEFAULT NULL,
  `product_id` bigint(20) UNSIGNED DEFAULT NULL,
  `percentage_rate` decimal(5,2) NOT NULL DEFAULT 0.00,
  `fixed_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `priority` smallint(5) UNSIGNED NOT NULL DEFAULT 0,
  `effective_from` timestamp NOT NULL,
  `effective_until` timestamp NULL DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `commission_rules`
--

INSERT INTO `commission_rules` (`id`, `name`, `scope_type`, `tenant_id`, `category`, `product_id`, `percentage_rate`, `fixed_fee`, `priority`, `effective_from`, `effective_until`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'Komisi marketplace global', 'global', NULL, NULL, NULL, 10.00, 0, 0, '2025-12-31 17:00:00', NULL, 1, '2026-08-30 11:17:40', '2026-08-30 11:17:40');

-- --------------------------------------------------------

--
-- Struktur dari tabel `consultations`
--

CREATE TABLE `consultations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `consultation_number` varchar(255) NOT NULL,
  `patient_user_id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'requested',
  `chief_complaint` text NOT NULL,
  `scheduled_at` timestamp NOT NULL,
  `consultation_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `payment_status` varchar(255) NOT NULL DEFAULT 'unpaid',
  `started_at` timestamp NULL DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `cancelled_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `consultation_messages`
--

CREATE TABLE `consultation_messages` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `consultation_id` bigint(20) UNSIGNED NOT NULL,
  `sender_user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `message` longtext NOT NULL,
  `message_type` varchar(255) NOT NULL DEFAULT 'text',
  `attachment_path` varchar(255) DEFAULT NULL,
  `read_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `coupons`
--

CREATE TABLE `coupons` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `issuer_type` varchar(255) NOT NULL,
  `tenant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `assigned_user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `code` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `banner_image_path` varchar(255) DEFAULT NULL,
  `banner_mobile_image_path` varchar(255) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `terms` text DEFAULT NULL,
  `merchant_scope` varchar(255) NOT NULL DEFAULT 'all',
  `exclude_prescription_products` tinyint(1) NOT NULL DEFAULT 0,
  `included_categories` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`included_categories`)),
  `excluded_categories` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`excluded_categories`)),
  `is_featured` tinyint(1) NOT NULL DEFAULT 0,
  `sort_order` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `discount_type` varchar(255) NOT NULL,
  `discount_value` int(10) UNSIGNED NOT NULL,
  `max_discount` bigint(20) UNSIGNED DEFAULT NULL,
  `min_purchase` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `usage_limit` int(10) UNSIGNED DEFAULT NULL,
  `usage_per_user` int(10) UNSIGNED NOT NULL DEFAULT 1,
  `funding_source` varchar(255) NOT NULL DEFAULT 'platform',
  `starts_at` timestamp NOT NULL,
  `expires_at` timestamp NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `coupons`
--

INSERT INTO `coupons` (`id`, `issuer_type`, `tenant_id`, `assigned_user_id`, `code`, `name`, `banner_image_path`, `banner_mobile_image_path`, `description`, `terms`, `merchant_scope`, `exclude_prescription_products`, `included_categories`, `excluded_categories`, `is_featured`, `sort_order`, `discount_type`, `discount_value`, `max_discount`, `min_purchase`, `usage_limit`, `usage_per_user`, `funding_source`, `starts_at`, `expires_at`, `status`, `created_at`, `updated_at`) VALUES
(1, 'platform', NULL, NULL, 'SEHAT20', 'Diskon Sehat 20%', 'promotions/6ZzQxNbnvxJWu2Ih8N2Ny4Kr0YqQ6PZ5Zade2t8P.png', NULL, 'Diskon kebutuhan kesehatan harian dari seluruh apotek terverifikasi.', 'Minimal belanja Rp50.000. Maksimal satu kali pemakaian per akun. Tidak berlaku untuk obat resep.', 'all', 1, NULL, NULL, 1, 1, 'percentage', 20, 25000, 50000, 1000, 1, 'platform', '2026-07-30 11:17:00', '2027-08-30 11:17:00', 'active', '2026-08-30 11:17:40', '2026-08-31 09:13:41'),
(2, 'platform', NULL, NULL, 'VITAMIN15', 'Vitamin Lebih Hemat', 'promotions/7EqhKHFD5lt17E1k3Iw5b6Jvuig9ND9E4C9ElubR.png', NULL, 'Diskon 15% untuk produk kategori vitamin.', 'Minimal belanja Rp75.000. Berlaku satu kali per akun.', 'all', 0, '[\"vitamin\"]', NULL, 1, 2, 'percentage', 15, 30000, 75000, 1000, 1, 'platform', '2026-08-29 11:17:00', '2026-11-30 11:17:00', 'active', '2026-08-30 11:17:40', '2026-08-31 11:09:07'),
(3, 'platform', NULL, NULL, 'ONGKIR10', 'Hemat Pengiriman', 'promotions/J0gotygOADbuKzbac2PbV1QTkbyhyo0HRajzbca4.png', NULL, 'Potongan belanja untuk pengiriman yang lebih hemat', 'Minimal belanja Rp100.000. Berlaku satu kali per akun.', 'all', 0, NULL, NULL, 1, 3, 'fixed', 10000, 10000, 100000, 1000, 1, 'platform', '2026-08-29 11:17:00', '2026-11-30 11:17:00', 'active', '2026-08-30 11:17:40', '2026-08-31 11:12:40');

-- --------------------------------------------------------

--
-- Struktur dari tabel `coupon_tenant`
--

CREATE TABLE `coupon_tenant` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `coupon_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `coupon_usages`
--

CREATE TABLE `coupon_usages` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `coupon_id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `platform_order_id` bigint(20) UNSIGNED NOT NULL,
  `discount_amount` bigint(20) UNSIGNED NOT NULL,
  `used_at` timestamp NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `customer_addresses`
--

CREATE TABLE `customer_addresses` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `label` varchar(50) NOT NULL,
  `recipient_name` varchar(255) NOT NULL,
  `recipient_phone` varchar(30) NOT NULL,
  `address_line` text NOT NULL,
  `district` varchar(255) DEFAULT NULL,
  `city` varchar(255) NOT NULL,
  `province` varchar(255) NOT NULL,
  `postal_code` varchar(10) DEFAULT NULL,
  `delivery_notes` text DEFAULT NULL,
  `latitude` decimal(10,7) DEFAULT NULL,
  `longitude` decimal(10,7) DEFAULT NULL,
  `is_default` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `customer_addresses`
--

INSERT INTO `customer_addresses` (`id`, `user_id`, `label`, `recipient_name`, `recipient_phone`, `address_line`, `district`, `city`, `province`, `postal_code`, `delivery_notes`, `latitude`, `longitude`, `is_default`, `created_at`, `updated_at`) VALUES
(1, 1, 'Rumah', 'Pelanggan MeyaHealth', '081200000001', 'Jl. Kemang Raya No. 24', 'Mampang Prapatan', 'Jakarta Selatan', 'DKI Jakarta', '12730', 'Hubungi penerima saat tiba.', NULL, NULL, 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(2, 13, 'BSD City', 'Muhamad Agel Rozali', '87774808471', 'Ruko Bidex Blok F3 & F5, Jl. Pahlawan Seribu, BSD City, Tangerang Selatan', 'BSD City', 'Tangerang Selatan', 'Banten', '15321', NULL, -6.2944506, 106.6678269, 1, '2026-09-04 08:07:06', '2026-09-04 08:07:06');

-- --------------------------------------------------------

--
-- Struktur dari tabel `delivery_shipments`
--

CREATE TABLE `delivery_shipments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `seller_order_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `shipping_quote_id` bigint(20) UNSIGNED DEFAULT NULL,
  `recipient_name` varchar(255) NOT NULL,
  `recipient_phone` varchar(30) NOT NULL,
  `delivery_address` text NOT NULL,
  `delivery_notes` text DEFAULT NULL,
  `provider` varchar(255) NOT NULL DEFAULT 'demo',
  `reference_id` varchar(255) DEFAULT NULL,
  `external_id` varchar(255) DEFAULT NULL,
  `provider_status` varchar(255) DEFAULT NULL,
  `provider_payload` longtext DEFAULT NULL,
  `failure_reason` text DEFAULT NULL,
  `last_event_at` timestamp NULL DEFAULT NULL,
  `booking_started_at` timestamp NULL DEFAULT NULL,
  `reconciliation_required_at` timestamp NULL DEFAULT NULL,
  `courier` varchar(255) NOT NULL DEFAULT 'MeyaExpress',
  `service_level` varchar(255) NOT NULL DEFAULT 'regular',
  `tracking_number` varchar(255) DEFAULT NULL,
  `shipping_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `quoted_service` varchar(255) DEFAULT NULL,
  `quoted_cost` bigint(20) UNSIGNED DEFAULT NULL,
  `quoted_eta` varchar(255) DEFAULT NULL,
  `quote_reference` varchar(255) DEFAULT NULL,
  `quoted_at` timestamp NULL DEFAULT NULL,
  `revalidated_at` timestamp NULL DEFAULT NULL,
  `selection_strategy_version` varchar(255) DEFAULT NULL,
  `candidate_count` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `selection_reason` text DEFAULT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'pending',
  `ready_at` timestamp NULL DEFAULT NULL,
  `picked_up_at` timestamp NULL DEFAULT NULL,
  `delivered_at` timestamp NULL DEFAULT NULL,
  `failed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `device_push_tokens`
--

CREATE TABLE `device_push_tokens` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `token` varchar(255) NOT NULL,
  `platform` varchar(20) NOT NULL,
  `device_name` varchar(255) DEFAULT NULL,
  `app_version` varchar(30) DEFAULT NULL,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `digital_prescriptions`
--

CREATE TABLE `digital_prescriptions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `prescription_number` varchar(255) NOT NULL,
  `consultation_id` bigint(20) UNSIGNED NOT NULL,
  `patient_user_id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `clinical_notes` text DEFAULT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'issued',
  `issued_at` timestamp NOT NULL,
  `fulfilled_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `digital_prescription_items`
--

CREATE TABLE `digital_prescription_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `digital_prescription_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED DEFAULT NULL,
  `medicine_name` varchar(255) NOT NULL,
  `strength` varchar(255) DEFAULT NULL,
  `dosage` varchar(255) NOT NULL,
  `frequency` varchar(255) NOT NULL,
  `duration` varchar(255) NOT NULL,
  `quantity` int(10) UNSIGNED NOT NULL,
  `instructions` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `doctor_bank_accounts`
--

CREATE TABLE `doctor_bank_accounts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `bank_name` varchar(255) NOT NULL,
  `account_number` varchar(255) NOT NULL,
  `account_holder_name` varchar(255) NOT NULL,
  `verification_status` varchar(255) NOT NULL DEFAULT 'pending',
  `verified_by` bigint(20) UNSIGNED DEFAULT NULL,
  `verified_at` timestamp NULL DEFAULT NULL,
  `rejection_reason` text DEFAULT NULL,
  `is_primary` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `doctor_earnings`
--

CREATE TABLE `doctor_earnings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `consultation_id` bigint(20) UNSIGNED NOT NULL,
  `gross_amount` bigint(20) UNSIGNED NOT NULL,
  `platform_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `net_amount` bigint(20) UNSIGNED NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'available',
  `doctor_withdrawal_request_id` bigint(20) UNSIGNED DEFAULT NULL,
  `available_at` timestamp NOT NULL,
  `withdrawn_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `doctor_profiles`
--

CREATE TABLE `doctor_profiles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `slug` varchar(255) NOT NULL,
  `registration_number` varchar(255) NOT NULL,
  `specialty` varchar(255) NOT NULL,
  `bio` text DEFAULT NULL,
  `experience_years` smallint(5) UNSIGNED NOT NULL DEFAULT 0,
  `consultation_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `photo_path` varchar(255) DEFAULT NULL,
  `rating` decimal(3,2) NOT NULL DEFAULT 0.00,
  `status` varchar(255) NOT NULL DEFAULT 'pending',
  `verified_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `doctor_profiles`
--

INSERT INTO `doctor_profiles` (`id`, `user_id`, `slug`, `registration_number`, `specialty`, `bio`, `experience_years`, `consultation_fee`, `photo_path`, `rating`, `status`, `verified_at`, `created_at`, `updated_at`) VALUES
(1, 8, 'dr-nadia-samudra-sp-pd', 'STR-3171-2026-0001', 'Penyakit Dalam', 'Dokter spesialis penyakit dalam dengan fokus pada penanganan keluhan metabolik, hipertensi, dan kesehatan dewasa.', 9, 75000, NULL, 4.90, 'verified', '2026-08-30 11:17:38', '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(2, 9, 'dr-raka-pratama-sp-a', 'STR-3171-2026-0002', 'Kesehatan Anak', 'Dokter Kesehatan Anak untuk layanan konsultasi online MeyaHealth.', 7, 69000, NULL, 4.82, 'verified', '2026-08-30 11:17:38', '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(3, 10, 'dr-maya-kirana-sp-dv', 'STR-3171-2026-0003', 'Kulit & Kecantikan', 'Dokter Kulit & Kecantikan untuk layanan konsultasi online MeyaHealth.', 11, 85000, NULL, 4.88, 'verified', '2026-08-30 11:17:39', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 11, 'dr-satria-wijaya-m-gizi', 'STR-3171-2026-0004', 'Diet & Gizi', 'Dokter Diet & Gizi untuk layanan konsultasi online MeyaHealth.', 6, 55000, NULL, 4.76, 'verified', '2026-08-30 11:17:39', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 12, 'dr-lestari-amalia', 'STR-3171-2026-0005', 'Dokter Umum', 'Dokter Dokter Umum untuk layanan konsultasi online MeyaHealth.', 5, 45000, NULL, 4.71, 'verified', '2026-08-30 11:17:39', '2026-08-30 11:17:39', '2026-08-30 11:17:39');

-- --------------------------------------------------------

--
-- Struktur dari tabel `doctor_schedules`
--

CREATE TABLE `doctor_schedules` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `day_of_week` tinyint(3) UNSIGNED NOT NULL,
  `starts_at` time NOT NULL,
  `ends_at` time NOT NULL,
  `timezone` varchar(255) NOT NULL DEFAULT 'Asia/Jakarta',
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `doctor_schedules`
--

INSERT INTO `doctor_schedules` (`id`, `doctor_profile_id`, `day_of_week`, `starts_at`, `ends_at`, `timezone`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 1, 1, '09:00:00', '17:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(2, 1, 2, '09:00:00', '17:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(3, 1, 3, '09:00:00', '17:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(4, 1, 4, '09:00:00', '17:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(5, 1, 5, '09:00:00', '17:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(6, 2, 1, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(7, 2, 2, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(8, 2, 3, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(9, 2, 4, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(10, 2, 5, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(11, 2, 6, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(12, 3, 1, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(13, 3, 2, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(14, 3, 3, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(15, 3, 4, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(16, 3, 5, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(17, 3, 6, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(18, 4, 1, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(19, 4, 2, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(20, 4, 3, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(21, 4, 4, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(22, 4, 5, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(23, 4, 6, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(24, 5, 1, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(25, 5, 2, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(26, 5, 3, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(27, 5, 4, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(28, 5, 5, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(29, 5, 6, '10:00:00', '18:00:00', 'Asia/Jakarta', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39');

-- --------------------------------------------------------

--
-- Struktur dari tabel `doctor_withdrawal_requests`
--

CREATE TABLE `doctor_withdrawal_requests` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `doctor_bank_account_id` bigint(20) UNSIGNED NOT NULL,
  `requested_by` bigint(20) UNSIGNED NOT NULL,
  `reviewed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `withdrawal_number` varchar(255) NOT NULL,
  `idempotency_key` varchar(255) NOT NULL,
  `amount` bigint(20) UNSIGNED NOT NULL,
  `currency` varchar(3) NOT NULL DEFAULT 'IDR',
  `status` varchar(255) NOT NULL DEFAULT 'pending',
  `payout_reference` varchar(255) DEFAULT NULL,
  `request_note` text DEFAULT NULL,
  `review_note` text DEFAULT NULL,
  `requested_at` timestamp NOT NULL,
  `reviewed_at` timestamp NULL DEFAULT NULL,
  `paid_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `uuid` varchar(255) NOT NULL,
  `connection` varchar(255) NOT NULL,
  `queue` varchar(255) NOT NULL,
  `payload` longtext NOT NULL,
  `exception` longtext NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `financial_ledger_entries`
--

CREATE TABLE `financial_ledger_entries` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `seller_order_id` bigint(20) UNSIGNED DEFAULT NULL,
  `platform_order_id` bigint(20) UNSIGNED DEFAULT NULL,
  `refund_id` bigint(20) UNSIGNED DEFAULT NULL,
  `withdrawal_request_id` bigint(20) UNSIGNED DEFAULT NULL,
  `idempotency_key` varchar(255) NOT NULL,
  `entry_type` varchar(255) NOT NULL,
  `account` varchar(255) NOT NULL,
  `direction` varchar(255) NOT NULL,
  `amount` bigint(20) UNSIGNED NOT NULL,
  `currency` varchar(3) NOT NULL DEFAULT 'IDR',
  `description` varchar(255) NOT NULL,
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)),
  `created_by` bigint(20) UNSIGNED DEFAULT NULL,
  `occurred_at` timestamp NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `financial_ledger_entries`
--

INSERT INTO `financial_ledger_entries` (`id`, `tenant_id`, `seller_order_id`, `platform_order_id`, `refund_id`, `withdrawal_request_id`, `idempotency_key`, `entry_type`, `account`, `direction`, `amount`, `currency`, `description`, `metadata`, `created_by`, `occurred_at`, `created_at`) VALUES
(1, 1, 3, 3, NULL, NULL, 'seller-payable-sale-3', 'sale_settled', 'seller_payable', 'credit', 10840, 'IDR', 'Hak bayar tenant dari SO-OMJMHLIG', NULL, NULL, '2026-08-30 15:48:02', '2026-08-30 15:48:02');

-- --------------------------------------------------------

--
-- Struktur dari tabel `inventory_batches`
--

CREATE TABLE `inventory_batches` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `batch_number` varchar(100) NOT NULL,
  `expired_at` date NOT NULL,
  `quantity` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `purchase_price` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `inventory_reservations`
--

CREATE TABLE `inventory_reservations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `seller_order_id` bigint(20) UNSIGNED NOT NULL,
  `order_item_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_inventory_id` bigint(20) UNSIGNED NOT NULL,
  `quantity` int(10) UNSIGNED NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'active',
  `reserved_at` timestamp NOT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `consumed_at` timestamp NULL DEFAULT NULL,
  `released_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `inventory_reservations`
--

INSERT INTO `inventory_reservations` (`id`, `seller_order_id`, `order_item_id`, `tenant_id`, `outlet_inventory_id`, `quantity`, `status`, `reserved_at`, `expires_at`, `consumed_at`, `released_at`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 1, 1, 'active', '2026-08-30 14:52:55', '2026-08-30 15:23:04', NULL, NULL, '2026-08-30 14:52:55', '2026-08-30 14:53:04'),
(2, 2, 2, 1, 1, 2, 'active', '2026-08-30 15:08:39', '2026-08-30 15:38:46', NULL, NULL, '2026-08-30 15:08:39', '2026-08-30 15:08:46'),
(3, 3, 3, 1, 1, 1, 'consumed', '2026-08-30 15:46:57', '2026-08-30 16:17:00', '2026-08-30 15:48:02', NULL, '2026-08-30 15:46:57', '2026-08-30 15:48:02'),
(4, 4, 4, 1, 28, 1, 'active', '2026-09-06 08:08:46', '2026-09-06 08:38:57', NULL, NULL, '2026-09-06 08:08:46', '2026-09-06 08:08:57');

-- --------------------------------------------------------

--
-- Struktur dari tabel `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `queue` varchar(255) NOT NULL,
  `payload` longtext NOT NULL,
  `attempts` smallint(5) UNSIGNED NOT NULL,
  `reserved_at` int(10) UNSIGNED DEFAULT NULL,
  `available_at` int(10) UNSIGNED NOT NULL,
  `created_at` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `jobs`
--

INSERT INTO `jobs` (`id`, `queue`, `payload`, `attempts`, `reserved_at`, `available_at`, `created_at`) VALUES
(1, 'default', '{\"uuid\":\"b9ebd53c-0160-45ae-a46a-b1dcd2649285\",\"displayName\":\"App\\\\Jobs\\\\CreateShipmentJob\",\"job\":\"Illuminate\\\\Queue\\\\CallQueuedHandler@call\",\"maxTries\":3,\"maxExceptions\":null,\"failOnTimeout\":false,\"backoff\":\"10,30,60\",\"timeout\":null,\"retryUntil\":null,\"deleteWhenMissingModels\":false,\"data\":{\"commandName\":\"App\\\\Jobs\\\\CreateShipmentJob\",\"command\":\"O:26:\\\"App\\\\Jobs\\\\CreateShipmentJob\\\":3:{s:13:\\\"sellerOrderId\\\";i:3;s:15:\\\"uniqueLockOwner\\\";s:16:\\\"dxPxFBSu6cnf5JRy\\\";s:11:\\\"afterCommit\\\";b:1;}\",\"batchId\":null},\"createdAt\":1788104882,\"illuminate:log:context\":{\"data\":[],\"hidden\":{\"laravel_unique_job_cache_store\":\"s:8:\\\"database\\\";\",\"laravel_unique_job_key\":\"s:47:\\\"laravel_unique_job:App\\\\Jobs\\\\CreateShipmentJob:3\\\";\",\"laravel_unique_job_lock_owner\":\"s:16:\\\"dxPxFBSu6cnf5JRy\\\";\"}},\"delay\":null}', 0, NULL, 1788104882, 1788104882),
(2, 'notifications', '{\"uuid\":\"4dd8e78b-7931-46d3-a021-44385804f57a\",\"displayName\":\"App\\\\Notifications\\\\WelcomeToMeyaHealth\",\"job\":\"Illuminate\\\\Queue\\\\CallQueuedHandler@call\",\"maxTries\":null,\"maxExceptions\":null,\"failOnTimeout\":false,\"backoff\":null,\"timeout\":null,\"retryUntil\":null,\"deleteWhenMissingModels\":false,\"data\":{\"commandName\":\"Illuminate\\\\Notifications\\\\SendQueuedNotifications\",\"command\":\"O:48:\\\"Illuminate\\\\Notifications\\\\SendQueuedNotifications\\\":5:{s:11:\\\"notifiables\\\";O:45:\\\"Illuminate\\\\Contracts\\\\Database\\\\ModelIdentifier\\\":5:{s:5:\\\"class\\\";s:15:\\\"App\\\\Models\\\\User\\\";s:2:\\\"id\\\";a:1:{i:0;i:13;}s:9:\\\"relations\\\";a:0:{}s:10:\\\"connection\\\";s:5:\\\"mysql\\\";s:15:\\\"collectionClass\\\";N;}s:12:\\\"notification\\\";O:37:\\\"App\\\\Notifications\\\\WelcomeToMeyaHealth\\\":3:{s:2:\\\"id\\\";s:36:\\\"c4240271-2c24-459a-b81c-5a8aec63d86a\\\";s:5:\\\"queue\\\";s:13:\\\"notifications\\\";s:11:\\\"afterCommit\\\";b:1;}s:8:\\\"channels\\\";a:1:{i:0;s:8:\\\"database\\\";}s:5:\\\"queue\\\";s:13:\\\"notifications\\\";s:11:\\\"afterCommit\\\";b:1;}\",\"batchId\":null},\"createdAt\":1788483630,\"delay\":null}', 0, NULL, 1788483630, 1788483630),
(3, 'notifications', '{\"uuid\":\"879a15f6-1db9-4705-90be-2c2f67ba5bfc\",\"displayName\":\"App\\\\Notifications\\\\WelcomeToMeyaHealth\",\"job\":\"Illuminate\\\\Queue\\\\CallQueuedHandler@call\",\"maxTries\":null,\"maxExceptions\":null,\"failOnTimeout\":false,\"backoff\":null,\"timeout\":null,\"retryUntil\":null,\"deleteWhenMissingModels\":false,\"data\":{\"commandName\":\"Illuminate\\\\Notifications\\\\SendQueuedNotifications\",\"command\":\"O:48:\\\"Illuminate\\\\Notifications\\\\SendQueuedNotifications\\\":5:{s:11:\\\"notifiables\\\";O:45:\\\"Illuminate\\\\Contracts\\\\Database\\\\ModelIdentifier\\\":5:{s:5:\\\"class\\\";s:15:\\\"App\\\\Models\\\\User\\\";s:2:\\\"id\\\";a:1:{i:0;i:13;}s:9:\\\"relations\\\";a:0:{}s:10:\\\"connection\\\";s:5:\\\"mysql\\\";s:15:\\\"collectionClass\\\";N;}s:12:\\\"notification\\\";O:37:\\\"App\\\\Notifications\\\\WelcomeToMeyaHealth\\\":3:{s:2:\\\"id\\\";s:36:\\\"c4240271-2c24-459a-b81c-5a8aec63d86a\\\";s:5:\\\"queue\\\";s:13:\\\"notifications\\\";s:11:\\\"afterCommit\\\";b:1;}s:8:\\\"channels\\\";a:1:{i:0;s:4:\\\"mail\\\";}s:5:\\\"queue\\\";s:13:\\\"notifications\\\";s:11:\\\"afterCommit\\\";b:1;}\",\"batchId\":null},\"createdAt\":1788483630,\"delay\":null}', 0, NULL, 1788483630, 1788483630);

-- --------------------------------------------------------

--
-- Struktur dari tabel `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `total_jobs` int(11) NOT NULL,
  `pending_jobs` int(11) NOT NULL,
  `failed_jobs` int(11) NOT NULL,
  `failed_job_ids` longtext NOT NULL,
  `options` mediumtext DEFAULT NULL,
  `cancelled_at` int(11) DEFAULT NULL,
  `created_at` int(11) NOT NULL,
  `finished_at` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `medical_device_profiles`
--

CREATE TABLE `medical_device_profiles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `risk_class` varchar(1) NOT NULL,
  `device_category` varchar(255) NOT NULL,
  `intended_use` text NOT NULL,
  `registration_number` varchar(255) NOT NULL,
  `professional_use_only` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `medical_device_profiles`
--

INSERT INTO `medical_device_profiles` (`id`, `product_id`, `risk_class`, `device_category`, `intended_use`, `registration_number`, `professional_use_only`, `created_at`, `updated_at`) VALUES
(1, 5, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-1-000005', 0, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(2, 22, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-1-000022', 0, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(3, 23, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-1-000023', 0, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 36, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-2-000005', 0, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 53, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-2-000022', 0, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(6, 54, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-2-000023', 0, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(7, 67, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-3-000005', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(8, 84, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-3-000022', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(9, 85, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-3-000023', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(10, 98, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-4-000005', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(11, 115, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-4-000022', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(12, 116, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-4-000023', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(13, 129, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-5-000005', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(14, 146, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-5-000022', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(15, 147, 'B', 'Diagnostic device', 'Penggunaan alat kesehatan rumah tangga.', 'BPOM-5-000023', 0, '2026-08-30 11:17:40', '2026-08-30 11:17:40');

-- --------------------------------------------------------

--
-- Struktur dari tabel `medical_records`
--

CREATE TABLE `medical_records` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `consultation_id` bigint(20) UNSIGNED NOT NULL,
  `patient_user_id` bigint(20) UNSIGNED NOT NULL,
  `doctor_profile_id` bigint(20) UNSIGNED NOT NULL,
  `diagnosis` longtext NOT NULL,
  `clinical_notes` longtext DEFAULT NULL,
  `advice` longtext DEFAULT NULL,
  `vitals` longtext DEFAULT NULL,
  `recorded_at` timestamp NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `medicine_profiles`
--

CREATE TABLE `medicine_profiles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `generic_name` varchar(255) NOT NULL,
  `medicine_class` varchar(255) NOT NULL,
  `strength` varchar(255) DEFAULT NULL,
  `dosage_form` varchar(255) NOT NULL,
  `package_size` varchar(255) NOT NULL,
  `warning_label` text DEFAULT NULL,
  `requires_prescription` tinyint(1) NOT NULL DEFAULT 0,
  `regulatory_status` varchar(255) NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `medicine_profiles`
--

INSERT INTO `medicine_profiles` (`id`, `product_id`, `generic_name`, `medicine_class`, `strength`, `dosage_form`, `package_size`, `warning_label`, `requires_prescription`, `regulatory_status`, `created_at`, `updated_at`) VALUES
(1, 1, 'Paracetamol', 'otc', '500 mg', 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(2, 2, 'Echinacea & Zinc', 'otc', NULL, 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(3, 3, 'Povidone Iodine', 'limited_otc', '10%', 'Cairan luar', '30 ml', 'Hanya untuk pemakaian luar. Baca aturan pakai sebelum digunakan.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 4, 'Amlodipine Besilate', 'hard_drug', '10 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 6, 'Diazepam', 'psychotropic', '5 mg', 'Tablet', '10 tablet', 'Tidak tersedia untuk transaksi marketplace online.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(6, 7, 'Paracetamol', 'otc', '120 mg/5 ml', 'Sirup', '60 ml', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(7, 8, 'Paracetamol', 'otc', '650 mg', 'Kaplet', '4 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(8, 9, 'Paracetamol + Caffeine', 'limited_otc', '500 mg', 'Tablet', '4 tablet', 'Perhatikan dosis maksimal harian.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(9, 10, 'Obat Batuk Hitam', 'limited_otc', '60 ml', 'Sirup', '60 ml', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(10, 11, 'Herbal', 'otc', NULL, 'Cair', '12 sachet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(11, 12, 'Ascorbic Acid', 'otc', '500 mg', 'Tablet', '60 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(12, 13, 'Multivitamin', 'otc', NULL, 'Tablet', '30 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(13, 14, 'Hydrotalcite + Mg Hydroxide', 'otc', NULL, 'Tablet kunyah', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(14, 15, 'Lansoprazole', 'hard_drug', '30 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(15, 16, 'Metformin HCl', 'hard_drug', '500 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(16, 17, 'Simvastatin', 'hard_drug', '20 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(17, 18, 'Cetirizine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(18, 19, 'Loratadine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(19, 20, 'Plester', 'otc', NULL, 'Plester', '1 roll', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(20, 21, 'Kasa Steril', 'otc', NULL, 'Kasa', '10 pcs', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(21, 24, 'Medical Device', 'otc', NULL, 'Alat kesehatan', '25 strip', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(22, 25, 'Skin Care', 'otc', NULL, 'Cleanser', '125 ml', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(23, 26, 'Acne Care', 'otc', NULL, 'Gel', '18 g', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(24, 27, 'Cajuput Oil', 'otc', NULL, 'Cairan luar', '60 ml', 'Hanya untuk pemakaian luar.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(25, 28, 'Oral Rehydration Salt', 'otc', NULL, 'Sachet', '10 sachet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(26, 29, 'Amoxicillin Trihydrate', 'hard_drug', '500 mg', 'Kapsul', '10 kapsul', 'Antibiotik harus dengan resep dokter dan dihabiskan sesuai aturan.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(27, 30, 'Cefixime', 'hard_drug', '100 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(28, 31, 'Salbutamol', 'hard_drug', '2 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(29, 32, 'Paracetamol', 'otc', '500 mg', 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(30, 33, 'Echinacea & Zinc', 'otc', NULL, 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(31, 34, 'Povidone Iodine', 'limited_otc', '10%', 'Cairan luar', '30 ml', 'Hanya untuk pemakaian luar. Baca aturan pakai sebelum digunakan.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(32, 35, 'Amlodipine Besilate', 'hard_drug', '10 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(33, 37, 'Diazepam', 'psychotropic', '5 mg', 'Tablet', '10 tablet', 'Tidak tersedia untuk transaksi marketplace online.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(34, 38, 'Paracetamol', 'otc', '120 mg/5 ml', 'Sirup', '60 ml', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(35, 39, 'Paracetamol', 'otc', '650 mg', 'Kaplet', '4 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(36, 40, 'Paracetamol + Caffeine', 'limited_otc', '500 mg', 'Tablet', '4 tablet', 'Perhatikan dosis maksimal harian.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(37, 41, 'Obat Batuk Hitam', 'limited_otc', '60 ml', 'Sirup', '60 ml', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(38, 42, 'Herbal', 'otc', NULL, 'Cair', '12 sachet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(39, 43, 'Ascorbic Acid', 'otc', '500 mg', 'Tablet', '60 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(40, 44, 'Multivitamin', 'otc', NULL, 'Tablet', '30 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(41, 45, 'Hydrotalcite + Mg Hydroxide', 'otc', NULL, 'Tablet kunyah', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(42, 46, 'Lansoprazole', 'hard_drug', '30 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(43, 47, 'Metformin HCl', 'hard_drug', '500 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(44, 48, 'Simvastatin', 'hard_drug', '20 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(45, 49, 'Cetirizine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(46, 50, 'Loratadine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(47, 51, 'Plester', 'otc', NULL, 'Plester', '1 roll', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(48, 52, 'Kasa Steril', 'otc', NULL, 'Kasa', '10 pcs', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(49, 55, 'Medical Device', 'otc', NULL, 'Alat kesehatan', '25 strip', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(50, 56, 'Skin Care', 'otc', NULL, 'Cleanser', '125 ml', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(51, 57, 'Acne Care', 'otc', NULL, 'Gel', '18 g', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(52, 58, 'Cajuput Oil', 'otc', NULL, 'Cairan luar', '60 ml', 'Hanya untuk pemakaian luar.', 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(53, 59, 'Oral Rehydration Salt', 'otc', NULL, 'Sachet', '10 sachet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(54, 60, 'Amoxicillin Trihydrate', 'hard_drug', '500 mg', 'Kapsul', '10 kapsul', 'Antibiotik harus dengan resep dokter dan dihabiskan sesuai aturan.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(55, 61, 'Cefixime', 'hard_drug', '100 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(56, 62, 'Salbutamol', 'hard_drug', '2 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(57, 63, 'Paracetamol', 'otc', '500 mg', 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(58, 64, 'Echinacea & Zinc', 'otc', NULL, 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(59, 65, 'Povidone Iodine', 'limited_otc', '10%', 'Cairan luar', '30 ml', 'Hanya untuk pemakaian luar. Baca aturan pakai sebelum digunakan.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(60, 66, 'Amlodipine Besilate', 'hard_drug', '10 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(61, 68, 'Diazepam', 'psychotropic', '5 mg', 'Tablet', '10 tablet', 'Tidak tersedia untuk transaksi marketplace online.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(62, 69, 'Paracetamol', 'otc', '120 mg/5 ml', 'Sirup', '60 ml', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(63, 70, 'Paracetamol', 'otc', '650 mg', 'Kaplet', '4 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(64, 71, 'Paracetamol + Caffeine', 'limited_otc', '500 mg', 'Tablet', '4 tablet', 'Perhatikan dosis maksimal harian.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(65, 72, 'Obat Batuk Hitam', 'limited_otc', '60 ml', 'Sirup', '60 ml', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(66, 73, 'Herbal', 'otc', NULL, 'Cair', '12 sachet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(67, 74, 'Ascorbic Acid', 'otc', '500 mg', 'Tablet', '60 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(68, 75, 'Multivitamin', 'otc', NULL, 'Tablet', '30 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(69, 76, 'Hydrotalcite + Mg Hydroxide', 'otc', NULL, 'Tablet kunyah', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(70, 77, 'Lansoprazole', 'hard_drug', '30 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(71, 78, 'Metformin HCl', 'hard_drug', '500 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(72, 79, 'Simvastatin', 'hard_drug', '20 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(73, 80, 'Cetirizine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(74, 81, 'Loratadine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(75, 82, 'Plester', 'otc', NULL, 'Plester', '1 roll', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(76, 83, 'Kasa Steril', 'otc', NULL, 'Kasa', '10 pcs', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(77, 86, 'Medical Device', 'otc', NULL, 'Alat kesehatan', '25 strip', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(78, 87, 'Skin Care', 'otc', NULL, 'Cleanser', '125 ml', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(79, 88, 'Acne Care', 'otc', NULL, 'Gel', '18 g', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(80, 89, 'Cajuput Oil', 'otc', NULL, 'Cairan luar', '60 ml', 'Hanya untuk pemakaian luar.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(81, 90, 'Oral Rehydration Salt', 'otc', NULL, 'Sachet', '10 sachet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(82, 91, 'Amoxicillin Trihydrate', 'hard_drug', '500 mg', 'Kapsul', '10 kapsul', 'Antibiotik harus dengan resep dokter dan dihabiskan sesuai aturan.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(83, 92, 'Cefixime', 'hard_drug', '100 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(84, 93, 'Salbutamol', 'hard_drug', '2 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(85, 94, 'Paracetamol', 'otc', '500 mg', 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(86, 95, 'Echinacea & Zinc', 'otc', NULL, 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(87, 96, 'Povidone Iodine', 'limited_otc', '10%', 'Cairan luar', '30 ml', 'Hanya untuk pemakaian luar. Baca aturan pakai sebelum digunakan.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(88, 97, 'Amlodipine Besilate', 'hard_drug', '10 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(89, 99, 'Diazepam', 'psychotropic', '5 mg', 'Tablet', '10 tablet', 'Tidak tersedia untuk transaksi marketplace online.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(90, 100, 'Paracetamol', 'otc', '120 mg/5 ml', 'Sirup', '60 ml', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(91, 101, 'Paracetamol', 'otc', '650 mg', 'Kaplet', '4 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(92, 102, 'Paracetamol + Caffeine', 'limited_otc', '500 mg', 'Tablet', '4 tablet', 'Perhatikan dosis maksimal harian.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(93, 103, 'Obat Batuk Hitam', 'limited_otc', '60 ml', 'Sirup', '60 ml', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(94, 104, 'Herbal', 'otc', NULL, 'Cair', '12 sachet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(95, 105, 'Ascorbic Acid', 'otc', '500 mg', 'Tablet', '60 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(96, 106, 'Multivitamin', 'otc', NULL, 'Tablet', '30 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(97, 107, 'Hydrotalcite + Mg Hydroxide', 'otc', NULL, 'Tablet kunyah', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(98, 108, 'Lansoprazole', 'hard_drug', '30 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(99, 109, 'Metformin HCl', 'hard_drug', '500 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(100, 110, 'Simvastatin', 'hard_drug', '20 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(101, 111, 'Cetirizine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(102, 112, 'Loratadine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(103, 113, 'Plester', 'otc', NULL, 'Plester', '1 roll', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(104, 114, 'Kasa Steril', 'otc', NULL, 'Kasa', '10 pcs', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(105, 117, 'Medical Device', 'otc', NULL, 'Alat kesehatan', '25 strip', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(106, 118, 'Skin Care', 'otc', NULL, 'Cleanser', '125 ml', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(107, 119, 'Acne Care', 'otc', NULL, 'Gel', '18 g', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(108, 120, 'Cajuput Oil', 'otc', NULL, 'Cairan luar', '60 ml', 'Hanya untuk pemakaian luar.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(109, 121, 'Oral Rehydration Salt', 'otc', NULL, 'Sachet', '10 sachet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(110, 122, 'Amoxicillin Trihydrate', 'hard_drug', '500 mg', 'Kapsul', '10 kapsul', 'Antibiotik harus dengan resep dokter dan dihabiskan sesuai aturan.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(111, 123, 'Cefixime', 'hard_drug', '100 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(112, 124, 'Salbutamol', 'hard_drug', '2 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(113, 125, 'Paracetamol', 'otc', '500 mg', 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(114, 126, 'Echinacea & Zinc', 'otc', NULL, 'Kaplet', '10 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(115, 127, 'Povidone Iodine', 'limited_otc', '10%', 'Cairan luar', '30 ml', 'Hanya untuk pemakaian luar. Baca aturan pakai sebelum digunakan.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(116, 128, 'Amlodipine Besilate', 'hard_drug', '10 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(117, 130, 'Diazepam', 'psychotropic', '5 mg', 'Tablet', '10 tablet', 'Tidak tersedia untuk transaksi marketplace online.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(118, 131, 'Paracetamol', 'otc', '120 mg/5 ml', 'Sirup', '60 ml', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(119, 132, 'Paracetamol', 'otc', '650 mg', 'Kaplet', '4 kaplet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(120, 133, 'Paracetamol + Caffeine', 'limited_otc', '500 mg', 'Tablet', '4 tablet', 'Perhatikan dosis maksimal harian.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(121, 134, 'Obat Batuk Hitam', 'limited_otc', '60 ml', 'Sirup', '60 ml', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(122, 135, 'Herbal', 'otc', NULL, 'Cair', '12 sachet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(123, 136, 'Ascorbic Acid', 'otc', '500 mg', 'Tablet', '60 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(124, 137, 'Multivitamin', 'otc', NULL, 'Tablet', '30 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(125, 138, 'Hydrotalcite + Mg Hydroxide', 'otc', NULL, 'Tablet kunyah', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(126, 139, 'Lansoprazole', 'hard_drug', '30 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(127, 140, 'Metformin HCl', 'hard_drug', '500 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(128, 141, 'Simvastatin', 'hard_drug', '20 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(129, 142, 'Cetirizine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', 'Dapat menyebabkan kantuk.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(130, 143, 'Loratadine', 'limited_otc', '10 mg', 'Tablet', '10 tablet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(131, 144, 'Plester', 'otc', NULL, 'Plester', '1 roll', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(132, 145, 'Kasa Steril', 'otc', NULL, 'Kasa', '10 pcs', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(133, 148, 'Medical Device', 'otc', NULL, 'Alat kesehatan', '25 strip', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(134, 149, 'Skin Care', 'otc', NULL, 'Cleanser', '125 ml', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(135, 150, 'Acne Care', 'otc', NULL, 'Gel', '18 g', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(136, 151, 'Cajuput Oil', 'otc', NULL, 'Cairan luar', '60 ml', 'Hanya untuk pemakaian luar.', 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(137, 152, 'Oral Rehydration Salt', 'otc', NULL, 'Sachet', '10 sachet', NULL, 0, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(138, 153, 'Amoxicillin Trihydrate', 'hard_drug', '500 mg', 'Kapsul', '10 kapsul', 'Antibiotik harus dengan resep dokter dan dihabiskan sesuai aturan.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(139, 154, 'Cefixime', 'hard_drug', '100 mg', 'Kapsul', '10 kapsul', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(140, 155, 'Salbutamol', 'hard_drug', '2 mg', 'Tablet', '10 tablet', 'Harus dengan resep dokter.', 1, 'active', '2026-08-30 11:17:40', '2026-08-30 11:17:40');

-- --------------------------------------------------------

--
-- Struktur dari tabel `migrations`
--

CREATE TABLE `migrations` (
  `id` int(10) UNSIGNED NOT NULL,
  `migration` varchar(255) NOT NULL,
  `batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '0001_01_01_000000_create_users_table', 1),
(2, '0001_01_01_000001_create_cache_table', 1),
(3, '0001_01_01_000002_create_jobs_table', 1),
(4, '2026_08_27_122827_create_tenants_table', 1),
(5, '2026_08_27_122828_create_pharmacy_outlets_table', 1),
(6, '2026_08_27_122829_create_products_table', 1),
(7, '2026_08_27_122830_create_medicine_profiles_table', 1),
(8, '2026_08_27_122831_create_tenant_product_listings_table', 1),
(9, '2026_08_27_122832_create_outlet_inventories_table', 1),
(10, '2026_08_27_122833_create_regulatory_rules_table', 1),
(11, '2026_08_27_122834_create_prescriptions_table', 1),
(12, '2026_08_27_122835_create_prescription_review_requests_table', 1),
(13, '2026_08_27_122836_create_prescription_review_logs_table', 1),
(14, '2026_08_27_122837_create_platform_orders_table', 1),
(15, '2026_08_27_122838_create_seller_orders_table', 1),
(16, '2026_08_27_122839_create_order_items_table', 1),
(17, '2026_08_27_122840_create_coupons_table', 1),
(18, '2026_08_27_125456_add_platform_role_to_users_table', 1),
(19, '2026_08_27_125457_create_tenant_users_table', 1),
(20, '2026_08_27_131414_create_notifications_table', 1),
(21, '2026_08_27_203432_add_referral_fields_to_users_and_coupons_tables', 1),
(22, '2026_08_27_203433_create_referral_attributions_table', 1),
(23, '2026_08_27_203434_create_referral_rewards_table', 1),
(24, '2026_08_27_205420_create_customer_addresses_table', 1),
(25, '2026_08_27_205421_create_inventory_reservations_table', 1),
(26, '2026_08_27_205422_create_delivery_shipments_table', 1),
(27, '2026_08_27_205423_create_commission_rules_table', 1),
(28, '2026_08_27_205424_create_settlements_table', 1),
(29, '2026_08_27_205425_create_settlement_items_table', 1),
(30, '2026_08_27_205426_add_phase_six_fields_to_orders_tables', 1),
(31, '2026_08_27_211040_create_patient_profiles_table', 1),
(32, '2026_08_27_211041_create_doctor_profiles_table', 1),
(33, '2026_08_27_211042_create_doctor_schedules_table', 1),
(34, '2026_08_27_211043_create_consultations_table', 1),
(35, '2026_08_27_211044_create_consultation_messages_table', 1),
(36, '2026_08_27_211045_create_medical_records_table', 1),
(37, '2026_08_27_211046_create_digital_prescriptions_table', 1),
(38, '2026_08_27_211047_create_digital_prescription_items_table', 1),
(39, '2026_08_27_211048_add_digital_prescription_fields_to_prescriptions_table', 1),
(40, '2026_08_27_212154_create_tenant_licenses_table', 1),
(41, '2026_08_27_212155_create_pharmacists_table', 1),
(42, '2026_08_27_212156_create_medical_device_profiles_table', 1),
(43, '2026_08_27_212157_create_product_submissions_table', 1),
(44, '2026_08_27_212158_add_governance_fields_to_products_table', 1),
(45, '2026_08_27_213045_create_coupon_usages_table', 1),
(46, '2026_08_27_213423_create_payments_table', 1),
(47, '2026_08_28_085907_add_unique_consultation_to_digital_prescriptions_table', 1),
(48, '2026_08_28_090536_create_product_regulatory_histories_table', 1),
(49, '2026_08_28_091140_add_provider_fields_to_delivery_shipments_table', 1),
(50, '2026_08_28_091141_add_shipping_fields_to_products_and_outlets_tables', 1),
(51, '2026_08_28_091727_create_refunds_table', 1),
(52, '2026_08_28_091728_create_financial_ledger_entries_table', 1),
(53, '2026_08_28_161920_create_inventory_batches_table', 1),
(54, '2026_08_28_162545_add_recovery_fields_to_refunds_and_delivery_shipments_tables', 1),
(55, '2026_08_28_162846_create_settlement_ledger_allocations_table', 1),
(56, '2026_08_28_222005_create_shipping_quotes_table', 1),
(57, '2026_08_28_222006_create_tenant_bank_accounts_table', 1),
(58, '2026_08_28_222007_create_withdrawal_requests_table', 1),
(59, '2026_08_28_222008_add_shipping_quote_snapshot_to_orders_and_shipments_table', 1),
(60, '2026_08_28_222009_add_withdrawal_reference_to_financial_ledger_entries_table', 1),
(61, '2026_08_28_222010_add_upload_first_checkout_fields_to_prescription_review_requests_table', 1),
(62, '2026_08_29_000001_add_province_and_district_to_pharmacy_outlets_table', 1),
(63, '2026_08_29_042033_extend_coupons_for_promotions', 1),
(64, '2026_08_29_042034_create_coupon_tenant_table', 1),
(65, '2026_08_29_042035_add_tenant_id_to_products_table', 1),
(66, '2026_08_29_042036_create_point_wallets_table', 1),
(67, '2026_08_29_042037_create_point_transactions_table', 1),
(68, '2026_08_29_042038_create_pharmacy_conversations_table', 1),
(69, '2026_08_29_042039_create_pharmacy_messages_table', 1),
(70, '2026_08_29_042040_create_doctor_bank_accounts_table', 1),
(71, '2026_08_29_042041_create_doctor_earnings_table', 1),
(72, '2026_08_29_042042_create_doctor_withdrawal_requests_table', 1),
(73, '2026_08_29_103304_add_customer_preferences_to_users_table', 1),
(74, '2026_08_29_154916_change_shipping_quotes_provider_payload_to_long_text', 1),
(75, '2026_08_30_110343_refactor_products_to_tenant_owned_commercial_catalog', 1),
(76, '2026_08_30_120154_consolidate_pharmacy_accounts_and_remove_product_listings', 1),
(77, '2026_08_30_204121_create_personal_access_tokens_table', 2),
(78, '2026_08_30_214610_create_mobile_cart_items_table', 3),
(79, '2026_08_31_010000_create_chat_moderation_tables', 4),
(80, '2026_08_31_020000_add_account_deleted_at_to_users', 4),
(81, '2026_08_31_211215_add_public_operational_details_to_pharmacy_outlets_table', 4),
(82, '2026_08_31_211216_add_practice_schedule_to_pharmacists_table', 4),
(83, '2026_09_01_055924_create_device_push_tokens_table', 4),
(84, '2026_09_01_055925_add_mobile_banner_to_coupons_table', 4),
(85, '2026_09_13_175250_create_articles_table', 5),
(86, '2026_09_13_175251_add_password_configured_at_to_users_table', 5);

-- --------------------------------------------------------

--
-- Struktur dari tabel `mobile_cart_items`
--

CREATE TABLE `mobile_cart_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `quantity` int(10) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `notifications`
--

CREATE TABLE `notifications` (
  `id` char(36) NOT NULL,
  `type` varchar(255) NOT NULL,
  `notifiable_type` varchar(255) NOT NULL,
  `notifiable_id` bigint(20) UNSIGNED NOT NULL,
  `data` text NOT NULL,
  `read_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `order_items`
--

CREATE TABLE `order_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `seller_order_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `product_name_snapshot` varchar(255) NOT NULL,
  `sku_snapshot` varchar(255) NOT NULL,
  `classification_snapshot` varchar(255) DEFAULT NULL,
  `price` bigint(20) UNSIGNED NOT NULL,
  `quantity` int(10) UNSIGNED NOT NULL,
  `subtotal` bigint(20) UNSIGNED NOT NULL,
  `requires_prescription` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `order_items`
--

INSERT INTO `order_items` (`id`, `seller_order_id`, `tenant_id`, `product_id`, `product_name_snapshot`, `sku_snapshot`, `classification_snapshot`, `price`, `quantity`, `subtotal`, `requires_prescription`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 'Panadol 500 mg', 'SKU-1-0001', 'otc', 12500, 1, 12500, 0, '2026-08-30 14:52:55', '2026-08-30 14:52:55'),
(2, 2, 1, 1, 'Panadol 500 mg', 'SKU-1-0001', 'otc', 12500, 2, 25000, 0, '2026-08-30 15:08:39', '2026-08-30 15:08:39'),
(3, 3, 1, 1, 'Panadol 500 mg', 'SKU-1-0001', 'otc', 12500, 1, 12500, 0, '2026-08-30 15:46:57', '2026-08-30 15:46:57'),
(4, 4, 1, 28, 'Oralit Sachet', 'SKU-1-0028', 'otc', 8200, 1, 8200, 0, '2026-09-06 08:08:46', '2026-09-06 08:08:46');

-- --------------------------------------------------------

--
-- Struktur dari tabel `outlet_inventories`
--

CREATE TABLE `outlet_inventories` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED DEFAULT NULL,
  `quantity_available` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `quantity_reserved` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `reorder_level` int(10) UNSIGNED NOT NULL DEFAULT 10,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `outlet_inventories`
--

INSERT INTO `outlet_inventories` (`id`, `tenant_id`, `outlet_id`, `product_id`, `quantity_available`, `quantity_reserved`, `reorder_level`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 23, 3, 10, '2026-08-30 11:17:39', '2026-08-30 15:48:02'),
(2, 1, 1, 2, 25, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(3, 1, 1, 3, 26, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 1, 1, 4, 27, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 1, 1, 5, 28, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(6, 1, 1, 6, 29, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(7, 1, 1, 7, 30, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(8, 1, 1, 8, 31, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(9, 1, 1, 9, 32, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(10, 1, 1, 10, 33, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(11, 1, 1, 11, 34, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(12, 1, 1, 12, 35, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(13, 1, 1, 13, 36, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(14, 1, 1, 14, 37, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(15, 1, 1, 15, 38, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(16, 1, 1, 16, 39, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(17, 1, 1, 17, 40, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(18, 1, 1, 18, 41, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(19, 1, 1, 19, 42, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(20, 1, 1, 20, 43, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(21, 1, 1, 21, 44, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(22, 1, 1, 22, 45, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(23, 1, 1, 23, 46, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(24, 1, 1, 24, 47, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(25, 1, 1, 25, 48, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(26, 1, 1, 26, 49, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(27, 1, 1, 27, 50, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(28, 1, 1, 28, 51, 1, 10, '2026-08-30 11:17:39', '2026-09-06 08:08:46'),
(29, 1, 1, 29, 52, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(30, 1, 1, 30, 53, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(31, 1, 1, 31, 54, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(32, 2, 2, 32, 24, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(33, 2, 2, 33, 25, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(34, 2, 2, 34, 26, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(35, 2, 2, 35, 27, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(36, 2, 2, 36, 28, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(37, 2, 2, 37, 29, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(38, 2, 2, 38, 30, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(39, 2, 2, 39, 31, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(40, 2, 2, 40, 32, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(41, 2, 2, 41, 33, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(42, 2, 2, 42, 34, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(43, 2, 2, 43, 35, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(44, 2, 2, 44, 36, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(45, 2, 2, 45, 37, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(46, 2, 2, 46, 38, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(47, 2, 2, 47, 39, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(48, 2, 2, 48, 40, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(49, 2, 2, 49, 41, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(50, 2, 2, 50, 42, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(51, 2, 2, 51, 43, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(52, 2, 2, 52, 44, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(53, 2, 2, 53, 45, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(54, 2, 2, 54, 46, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(55, 2, 2, 55, 47, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(56, 2, 2, 56, 48, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(57, 2, 2, 57, 49, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(58, 2, 2, 58, 50, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(59, 2, 2, 59, 51, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(60, 2, 2, 60, 52, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(61, 2, 2, 61, 53, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(62, 2, 2, 62, 54, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(63, 3, 3, 63, 24, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(64, 3, 3, 64, 25, 0, 10, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(65, 3, 3, 65, 26, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(66, 3, 3, 66, 27, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(67, 3, 3, 67, 28, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(68, 3, 3, 68, 29, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(69, 3, 3, 69, 30, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(70, 3, 3, 70, 31, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(71, 3, 3, 71, 32, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(72, 3, 3, 72, 33, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(73, 3, 3, 73, 34, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(74, 3, 3, 74, 35, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(75, 3, 3, 75, 36, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(76, 3, 3, 76, 37, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(77, 3, 3, 77, 38, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(78, 3, 3, 78, 39, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(79, 3, 3, 79, 40, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(80, 3, 3, 80, 41, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(81, 3, 3, 81, 42, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(82, 3, 3, 82, 43, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(83, 3, 3, 83, 44, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(84, 3, 3, 84, 45, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(85, 3, 3, 85, 46, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(86, 3, 3, 86, 47, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(87, 3, 3, 87, 48, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(88, 3, 3, 88, 49, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(89, 3, 3, 89, 50, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(90, 3, 3, 90, 51, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(91, 3, 3, 91, 52, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(92, 3, 3, 92, 53, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(93, 3, 3, 93, 54, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(94, 4, 4, 94, 24, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(95, 4, 4, 95, 25, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(96, 4, 4, 96, 26, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(97, 4, 4, 97, 27, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(98, 4, 4, 98, 28, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(99, 4, 4, 99, 29, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(100, 4, 4, 100, 30, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(101, 4, 4, 101, 31, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(102, 4, 4, 102, 32, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(103, 4, 4, 103, 33, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(104, 4, 4, 104, 34, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(105, 4, 4, 105, 35, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(106, 4, 4, 106, 36, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(107, 4, 4, 107, 37, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(108, 4, 4, 108, 38, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(109, 4, 4, 109, 39, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(110, 4, 4, 110, 40, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(111, 4, 4, 111, 41, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(112, 4, 4, 112, 42, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(113, 4, 4, 113, 43, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(114, 4, 4, 114, 44, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(115, 4, 4, 115, 45, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(116, 4, 4, 116, 46, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(117, 4, 4, 117, 47, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(118, 4, 4, 118, 48, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(119, 4, 4, 119, 49, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(120, 4, 4, 120, 50, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(121, 4, 4, 121, 51, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(122, 4, 4, 122, 52, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(123, 4, 4, 123, 53, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(124, 4, 4, 124, 54, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(125, 5, 5, 125, 24, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(126, 5, 5, 126, 25, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(127, 5, 5, 127, 26, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(128, 5, 5, 128, 27, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(129, 5, 5, 129, 28, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(130, 5, 5, 130, 29, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(131, 5, 5, 131, 30, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(132, 5, 5, 132, 31, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(133, 5, 5, 133, 32, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(134, 5, 5, 134, 33, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(135, 5, 5, 135, 34, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(136, 5, 5, 136, 35, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(137, 5, 5, 137, 36, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(138, 5, 5, 138, 37, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(139, 5, 5, 139, 38, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(140, 5, 5, 140, 39, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(141, 5, 5, 141, 40, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(142, 5, 5, 142, 41, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(143, 5, 5, 143, 42, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(144, 5, 5, 144, 43, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(145, 5, 5, 145, 44, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(146, 5, 5, 146, 45, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(147, 5, 5, 147, 46, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(148, 5, 5, 148, 47, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(149, 5, 5, 149, 48, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(150, 5, 5, 150, 49, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(151, 5, 5, 151, 50, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(152, 5, 5, 152, 51, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(153, 5, 5, 153, 52, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(154, 5, 5, 154, 53, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40'),
(155, 5, 5, 155, 54, 0, 10, '2026-08-30 11:17:40', '2026-08-30 11:17:40');

-- --------------------------------------------------------

--
-- Struktur dari tabel `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) NOT NULL,
  `token` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `patient_profiles`
--

CREATE TABLE `patient_profiles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `date_of_birth` date DEFAULT NULL,
  `gender` varchar(255) DEFAULT NULL,
  `blood_type` varchar(5) DEFAULT NULL,
  `allergies` text DEFAULT NULL,
  `emergency_contact_name` varchar(255) DEFAULT NULL,
  `emergency_contact_phone` varchar(30) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `patient_profiles`
--

INSERT INTO `patient_profiles` (`id`, `user_id`, `date_of_birth`, `gender`, `blood_type`, `allergies`, `emergency_contact_name`, `emergency_contact_phone`, `created_at`, `updated_at`) VALUES
(1, 1, '1994-05-17', 'male', 'O+', 'eyJpdiI6InN2RGtXN2ZZNkhkSG9SVFR5TE4xR0E9PSIsInZhbHVlIjoiQTY5VXlxWFByd3dNaWlUajVscUJxTWpKRzR3R1N5YUp3bU9NNXlWNVFlQ0RsY2lBNXhFQjhRRnhZYTN6TkpZQSIsIm1hYyI6ImZjOGJlYzY5NDc2MzU2OTZhNjQ5OGNlYmQ1ODM1OTk3MThkZWE2MWI1MzJhMzgzMTg1NzRjNDY4NDc5YTNkZTMiLCJ0YWciOiIifQ==', 'Keluarga Pelanggan', '081200000099', '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(2, 13, '2000-04-27', 'Laki Laki', 'B', NULL, NULL, NULL, '2026-09-04 08:01:21', '2026-09-04 08:01:49');

-- --------------------------------------------------------

--
-- Struktur dari tabel `payments`
--

CREATE TABLE `payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `platform_order_id` bigint(20) UNSIGNED NOT NULL,
  `seller_order_id` bigint(20) UNSIGNED NOT NULL,
  `provider` varchar(255) NOT NULL,
  `external_id` varchar(255) DEFAULT NULL,
  `amount` bigint(20) UNSIGNED NOT NULL,
  `currency` varchar(3) NOT NULL DEFAULT 'IDR',
  `status` varchar(255) NOT NULL DEFAULT 'pending',
  `provider_response` longtext DEFAULT NULL,
  `paid_at` timestamp NULL DEFAULT NULL,
  `failed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `payments`
--

INSERT INTO `payments` (`id`, `platform_order_id`, `seller_order_id`, `provider`, `external_id`, `amount`, `currency`, `status`, `provider_response`, `paid_at`, `failed_at`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'midtrans', 'PAY-XDQZ9C5M38EISTMEOFLE', 20500, 'IDR', 'pending', 'eyJpdiI6ImhlMlNJMllST1g3ekdrYTBsMDRFbFE9PSIsInZhbHVlIjoiOVIveVVndzUzVlc1NituWGNpZVVRK0cyWjUwaWpTVE1TM0JqSnlUYW53a0duQnVmVFpyNlRmaUs1S3RKbEpQaXd1WFVpYXBvakcxR1JWaU9TalVZcGJPcDNVRDBWWlExUzg0NC9jSnhza2crUVJjK0c2amdlbmZia2pQcDlhS2FYVTdsMW1IN0U4cDdPUlV4dklxa3hkell6dnF2T2FDakJnTTk0VWhUYXB5ZlFuWFJsZitxMDVFK2hJRWVpSllWdExVeUhta3FLcWlraUpMZXpERUZXNHBGWndOeVpTRnB3OWNEUVl0RW9uYz0iLCJtYWMiOiI4ZTI5NmE2MDUzMGY0M2U2OWFhNzEwMDM2NWFmN2ZkMTNjZGUxMzM1YzJkNWM0Mjk3ZGEwYmQ2NDc5NTE3NjJjIiwidGFnIjoiIn0=', NULL, NULL, '2026-08-30 14:53:04', '2026-08-30 14:53:04'),
(2, 2, 2, 'midtrans', 'PAY-W1OWHPDFPVGKTTUAG3ZX', 35000, 'IDR', 'pending', 'eyJpdiI6IjExUTNGd1RsUklKcVZyT0tRWnZCbnc9PSIsInZhbHVlIjoiZ0xyVVhSTHRZNXdWcnB2dmJ1SHp0U0RZLzNHSDZjWVVaTDRPYzhHMmVKcXczdENMd2Joa1BrSHdvaTlrZkhJajJjNHE1b3ByNyszd1Q2TERoNStGb1NxK0dackxya281VXlXWVNCSlBwZHY5QTVzQi9nMURuRmFhL2ZjeUhlWVpFMks4WXdUV2JMYjNJRFRuSUJlMTJFbmN2blFwNUVVY2xrSlBKUmhCNHRMbS92RjNqSlR3SUlQaUM4UkNLeEdPL1RMTXhOU2RNVzNLZTZkZDV4REcxL3BibGZ6QVptTFc3Wnk0UVRSZTJIRT0iLCJtYWMiOiJjMGRhMGU0OGIwZmQxNTc1NTlhOWRiMmIyNzMwYTg5MWM0OTc4Nzc0MmRhMTEzZDZlYjA4YzEwZThhNjc4ZjIzIiwidGFnIjoiIn0=', NULL, NULL, '2026-08-30 15:08:46', '2026-08-30 15:08:46'),
(3, 3, 3, 'midtrans', 'PAY-FC69UKAR6SQSKJWRS3VF', 20500, 'IDR', 'paid', 'eyJpdiI6ImJBMHRmejR1bW1rSjg4WG9FNUdVK2c9PSIsInZhbHVlIjoicDhrcURoZlcvTExIeGZVMUNuN3dnczdSdmloZkpTMVZEUm15cFhobWp1WVpSQmh0ZGRlNHFTNUFaYThQY1Z0eEdSVFRxM1B0S2cyRmNwNmRLQlgrSzUwalJPY3JpWElOMDkvbStBWEp4NmRBZ2F2dXRNRGpwUHgxTlhZZWNwMjNWT011Qkp4Rm1tUFFYV1pwNWFzL1QzVEg3NHNUSE5CRnVEMGFGY1lPbDFKM3VaMVBCV0RvNHJXSHE5OUJFa2VPN3VDU1BpM0Y5OVlYS2Jwc2RRVzUrL1FlT05vV2JVdHhEN2ZXdWU0VDJsaz0iLCJtYWMiOiJiYzVhYjBiMDEwMjRhNmViODhkNDkzM2YxZDU1NjY2MDFmM2YxNTQ2OGZjN2U1MzBhNGE2MzU0MjExMjljYTU5IiwidGFnIjoiIn0=', '2026-08-30 15:48:02', NULL, '2026-08-30 15:47:00', '2026-08-30 15:48:02'),
(4, 4, 4, 'midtrans', 'PAY-MBMOGY5K7OLDPTI5VWF9', 39200, 'IDR', 'pending', 'eyJpdiI6IkJ0MXdtSnlpRkVCbFhVMEVBV0ZwSlE9PSIsInZhbHVlIjoiWmNMVTN6akdZSEw3RFFGZXFtS0xpUm1IczdZNHJ1N0VyT2pnSXVXYjFRRTg1MTZCUjd2dUVvWEhSMCtOcW14M1VoNTJibW42Rm93dXlLdFVtMVJ5SzVTOGpwK0FUdzkyQTBKQzlXSjcrdkkzNEJJZkFuUkJCQytlYXk0MHR5Vlh1cTNZSDZlVDVoRmhsaVRNQlpiTG1XdWJtYlRZR3NQR1gzbHJHOEtYdVJQZlpKM3c3OThvSm04YVc0dE93V3NJTDBpZ2VRakJlTjAzTDB4ckZGejlvRktDK3B3MUdyRVBlQkJqT3pMalhxST0iLCJtYWMiOiJkNjk0NmRhYzZlYTY0MDhhZTNhNzEwNzM3NGZmYjEyZTg2MjBkOWNiYzJiZTVhYjUwNjY5NDZhMGY2N2MyMDE4IiwidGFnIjoiIn0=', NULL, NULL, '2026-09-06 08:08:57', '2026-09-06 08:08:57');

-- --------------------------------------------------------

--
-- Struktur dari tabel `personal_access_tokens`
--

CREATE TABLE `personal_access_tokens` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tokenable_type` varchar(255) NOT NULL,
  `tokenable_id` bigint(20) UNSIGNED NOT NULL,
  `name` text NOT NULL,
  `token` varchar(64) NOT NULL,
  `abilities` text DEFAULT NULL,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `personal_access_tokens`
--

INSERT INTO `personal_access_tokens` (`id`, `tokenable_type`, `tokenable_id`, `name`, `token`, `abilities`, `last_used_at`, `expires_at`, `created_at`, `updated_at`) VALUES
(1, 'App\\Models\\User', 1, 'iOS simulator recovery check', '491a4ee57ecf6c330ecb37885e1d85aaf462eb9c6c63162054eba31e2120d324', '[\"customer\"]', NULL, NULL, '2026-08-30 14:35:36', '2026-08-30 14:35:36'),
(2, 'App\\Models\\User', 1, 'MeyaHealth iOS', 'd0dc4720a6147257bd38f04a94f72da413792c49dd985af63e00af63cdd46b53', '[\"customer\"]', '2026-08-30 16:03:00', NULL, '2026-08-30 14:37:38', '2026-08-30 16:03:00'),
(3, 'App\\Models\\User', 1, 'API checkout verification', 'de723a66e289dea273142291af230140c99b2f7653f61bba4d87f092054fe39c', '[\"customer\"]', '2026-08-30 14:52:55', NULL, '2026-08-30 14:52:52', '2026-08-30 14:52:55'),
(4, 'App\\Models\\User', 1, 'API payment verification', 'b2e6c23cb9bcaf2836b0e7e5c4ddef062272738548b820e281a96feab4e95c2b', '[\"customer\"]', '2026-08-30 14:53:04', NULL, '2026-08-30 14:53:03', '2026-08-30 14:53:04');

-- --------------------------------------------------------

--
-- Struktur dari tabel `pharmacists`
--

CREATE TABLE `pharmacists` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `professional_registration_number` varchar(255) NOT NULL,
  `practice_license_number` varchar(255) NOT NULL,
  `practice_schedule` varchar(255) DEFAULT NULL,
  `license_expired_at` date NOT NULL,
  `document_path` varchar(255) DEFAULT NULL,
  `verification_status` varchar(255) NOT NULL DEFAULT 'pending',
  `is_active` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `pharmacists`
--

INSERT INTO `pharmacists` (`id`, `user_id`, `tenant_id`, `outlet_id`, `name`, `professional_registration_number`, `practice_license_number`, `practice_schedule`, `license_expired_at`, `document_path`, `verification_status`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 3, 1, 1, 'Owner Laut Sehat', 'STRA-DEMO-0001', 'SIPA-DEMO-0001', NULL, '2031-01-01', NULL, 'approved', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(2, 4, 2, 2, 'Owner Bumi Medika', 'STRA-DEMO-0002', 'SIPA-DEMO-0002', NULL, '2031-01-01', NULL, 'approved', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(3, 5, 3, 3, 'Owner Nusantara Farma', 'STRA-DEMO-0003', 'SIPA-DEMO-0003', NULL, '2031-01-01', NULL, 'approved', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 6, 4, 4, 'Owner Klinik Farma', 'STRA-DEMO-0004', 'SIPA-DEMO-0004', NULL, '2031-01-01', NULL, 'approved', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 7, 5, 5, 'Owner Srikandi Care', 'STRA-DEMO-0005', 'SIPA-DEMO-0005', NULL, '2031-01-01', NULL, 'approved', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39');

-- --------------------------------------------------------

--
-- Struktur dari tabel `pharmacy_chat_blocks`
--

CREATE TABLE `pharmacy_chat_blocks` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `customer_user_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `reason` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `pharmacy_conversations`
--

CREATE TABLE `pharmacy_conversations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `customer_user_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED DEFAULT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'open',
  `last_message_at` timestamp NULL DEFAULT NULL,
  `closed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `pharmacy_conversations`
--

INSERT INTO `pharmacy_conversations` (`id`, `tenant_id`, `customer_user_id`, `product_id`, `status`, `last_message_at`, `closed_at`, `created_at`, `updated_at`) VALUES
(1, 1, 1, NULL, 'open', NULL, NULL, '2026-08-31 23:46:58', '2026-08-31 23:46:58');

-- --------------------------------------------------------

--
-- Struktur dari tabel `pharmacy_messages`
--

CREATE TABLE `pharmacy_messages` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `pharmacy_conversation_id` bigint(20) UNSIGNED NOT NULL,
  `sender_user_id` bigint(20) UNSIGNED NOT NULL,
  `message` text NOT NULL,
  `read_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `pharmacy_outlets`
--

CREATE TABLE `pharmacy_outlets` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `code` varchar(255) NOT NULL,
  `address` text NOT NULL,
  `province` varchar(255) DEFAULT NULL,
  `city` varchar(255) NOT NULL,
  `district` varchar(255) DEFAULT NULL,
  `postal_code` varchar(10) DEFAULT NULL,
  `latitude` decimal(10,7) DEFAULT NULL,
  `longitude` decimal(10,7) DEFAULT NULL,
  `phone` varchar(255) NOT NULL,
  `opens_at` time DEFAULT NULL,
  `closes_at` time DEFAULT NULL,
  `operational_days` varchar(255) DEFAULT NULL,
  `operational_status` varchar(255) NOT NULL DEFAULT 'open',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `pharmacy_outlets`
--

INSERT INTO `pharmacy_outlets` (`id`, `tenant_id`, `name`, `code`, `address`, `province`, `city`, `district`, `postal_code`, `latitude`, `longitude`, `phone`, `opens_at`, `closes_at`, `operational_days`, `operational_status`, `created_at`, `updated_at`) VALUES
(1, 1, 'Apotek Ruang Medis', 'JKT-01', 'Jl. Batuceper No. 18, Tangerang, Banten', 'Banten', 'Tangerang', 'Batuceper', '12730', -6.2607000, 106.8106000, '021-555-0188', NULL, NULL, NULL, 'open', '2026-08-30 11:17:36', '2026-08-31 11:22:24'),
(2, 2, 'Apotek Bumi Medika Pusat', 'JKT-01', 'Jl. Kemang Raya No. 18, Jakarta Selatan', 'DKI Jakarta', 'Jakarta Selatan', 'Kemang', '12730', -6.2607000, 106.8106000, '021-555-0271', NULL, NULL, NULL, 'closed', '2026-08-30 11:17:36', '2026-08-31 11:13:11'),
(3, 3, 'Apotek Nusantara Farma Pusat', 'JKT-01', 'Jl. Kemang Raya No. 18, Jakarta Selatan', 'DKI Jakarta', 'Jakarta Selatan', 'Kemang', '12730', -6.2607000, 106.8106000, '021-555-0391', NULL, NULL, NULL, 'closed', '2026-08-30 11:17:36', '2026-08-31 11:13:15'),
(4, 4, 'Klinik Farma Medika Pusat', 'JKT-01', 'Jl. Kemang Raya No. 18, Jakarta Selatan', 'DKI Jakarta', 'Jakarta Selatan', 'Kemang', '12730', -6.2607000, 106.8106000, '022-555-0410', NULL, NULL, NULL, 'closed', '2026-08-30 11:17:36', '2026-08-31 11:13:19'),
(5, 5, 'Apotek Srikandi Care Pusat', 'JKT-01', 'Jl. Kemang Raya No. 18, Jakarta Selatan', 'DKI Jakarta', 'Jakarta Selatan', 'Kemang', '12730', -6.2607000, 106.8106000, '031-555-0505', NULL, NULL, NULL, 'closed', '2026-08-30 11:17:36', '2026-08-31 11:13:24');

-- --------------------------------------------------------

--
-- Struktur dari tabel `platform_orders`
--

CREATE TABLE `platform_orders` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `order_number` varchar(255) NOT NULL,
  `user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `coupon_id` bigint(20) UNSIGNED DEFAULT NULL,
  `customer_address_id` bigint(20) UNSIGNED DEFAULT NULL,
  `recipient_name` varchar(255) DEFAULT NULL,
  `recipient_phone` varchar(30) DEFAULT NULL,
  `delivery_address` text DEFAULT NULL,
  `delivery_notes` text DEFAULT NULL,
  `subtotal` bigint(20) UNSIGNED NOT NULL,
  `discount_total` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `shipping_total` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `grand_total` bigint(20) UNSIGNED NOT NULL,
  `payment_status` varchar(255) NOT NULL DEFAULT 'unpaid',
  `paid_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `platform_orders`
--

INSERT INTO `platform_orders` (`id`, `order_number`, `user_id`, `coupon_id`, `customer_address_id`, `recipient_name`, `recipient_phone`, `delivery_address`, `delivery_notes`, `subtotal`, `discount_total`, `shipping_total`, `grand_total`, `payment_status`, `paid_at`, `created_at`, `updated_at`) VALUES
(1, 'MY-260830-XH3FK4', 1, NULL, 1, 'Pelanggan MeyaHealth', '081200000001', 'Jl. Kemang Raya No. 24, Mampang Prapatan, Jakarta Selatan, DKI Jakarta, 12730', 'Hubungi penerima saat tiba.', 12500, 0, 8000, 20500, 'unpaid', NULL, '2026-08-30 14:52:55', '2026-08-30 14:52:55'),
(2, 'MY-260830-YY2O2Q', 1, NULL, 1, 'Pelanggan MeyaHealth', '081200000001', 'Jl. Kemang Raya No. 24, Mampang Prapatan, Jakarta Selatan, DKI Jakarta, 12730', 'Hubungi penerima saat tiba.', 25000, 0, 10000, 35000, 'unpaid', NULL, '2026-08-30 15:08:39', '2026-08-30 15:08:39'),
(3, 'MY-260830-000JQG', 1, NULL, 1, 'Pelanggan MeyaHealth', '081200000001', 'Jl. Kemang Raya No. 24, Mampang Prapatan, Jakarta Selatan, DKI Jakarta, 12730', 'Hubungi penerima saat tiba.', 12500, 0, 8000, 20500, 'paid', '2026-08-30 15:48:02', '2026-08-30 15:46:57', '2026-08-30 15:48:02'),
(4, 'MY-260906-RG3TSG', 13, NULL, 2, 'Muhamad Agel Rozali', '87774808471', 'Ruko Bidex Blok F3 & F5, Jl. Pahlawan Seribu, BSD City, Tangerang Selatan, BSD City, Tangerang Selatan, Banten, 15321', NULL, 8200, 0, 31000, 39200, 'unpaid', NULL, '2026-09-06 08:08:46', '2026-09-06 08:08:46');

-- --------------------------------------------------------

--
-- Struktur dari tabel `point_transactions`
--

CREATE TABLE `point_transactions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `point_wallet_id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `idempotency_key` varchar(255) NOT NULL,
  `type` varchar(255) NOT NULL,
  `direction` varchar(255) NOT NULL,
  `points` bigint(20) UNSIGNED NOT NULL,
  `balance_after` bigint(20) UNSIGNED NOT NULL,
  `source_type` varchar(255) DEFAULT NULL,
  `source_id` bigint(20) UNSIGNED DEFAULT NULL,
  `description` varchar(255) NOT NULL,
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)),
  `occurred_at` timestamp NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `point_transactions`
--

INSERT INTO `point_transactions` (`id`, `point_wallet_id`, `user_id`, `idempotency_key`, `type`, `direction`, `points`, `balance_after`, `source_type`, `source_id`, `description`, `metadata`, `occurred_at`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'purchase:3', 'purchase_reward', 'credit', 12, 12, 'App\\Models\\PlatformOrder', 3, 'Poin dari pembelian MY-260830-000JQG', NULL, '2026-08-30 15:48:02', '2026-08-30 15:48:02', '2026-08-30 15:48:02');

-- --------------------------------------------------------

--
-- Struktur dari tabel `point_wallets`
--

CREATE TABLE `point_wallets` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `balance` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `lifetime_earned` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `lifetime_redeemed` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `point_wallets`
--

INSERT INTO `point_wallets` (`id`, `user_id`, `balance`, `lifetime_earned`, `lifetime_redeemed`, `created_at`, `updated_at`) VALUES
(1, 1, 12, 12, 0, '2026-08-30 15:48:02', '2026-08-30 15:48:02');

-- --------------------------------------------------------

--
-- Struktur dari tabel `prescriptions`
--

CREATE TABLE `prescriptions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `ulid` char(26) NOT NULL,
  `user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `digital_prescription_id` bigint(20) UNSIGNED DEFAULT NULL,
  `patient_name` varchar(255) NOT NULL,
  `patient_age` tinyint(3) UNSIGNED NOT NULL,
  `source` varchar(255) NOT NULL DEFAULT 'external_upload',
  `file_path` varchar(255) DEFAULT NULL,
  `version` int(10) UNSIGNED NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `prescription_review_logs`
--

CREATE TABLE `prescription_review_logs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `prescription_review_request_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `reviewer_id` bigint(20) UNSIGNED DEFAULT NULL,
  `previous_status` varchar(255) NOT NULL,
  `new_status` varchar(255) NOT NULL,
  `reason` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `prescription_review_requests`
--

CREATE TABLE `prescription_review_requests` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `prescription_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `customer_address_id` bigint(20) UNSIGNED DEFAULT NULL,
  `seller_order_id` bigint(20) UNSIGNED DEFAULT NULL,
  `matched_items` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`matched_items`)),
  `status` varchar(255) NOT NULL DEFAULT 'submitted',
  `submitted_at` timestamp NOT NULL,
  `review_started_at` timestamp NULL DEFAULT NULL,
  `reviewed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `reviewed_at` timestamp NULL DEFAULT NULL,
  `rejection_reason` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `products`
--

CREATE TABLE `products` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `ulid` char(26) NOT NULL,
  `product_type` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `sku` varchar(80) DEFAULT NULL,
  `brand` varchar(255) NOT NULL,
  `manufacturer` varchar(255) NOT NULL,
  `dosage` varchar(255) DEFAULT NULL,
  `unit` varchar(80) DEFAULT NULL,
  `registration_number` varchar(255) DEFAULT NULL,
  `description` text NOT NULL,
  `image_path` varchar(255) DEFAULT NULL,
  `category` varchar(255) NOT NULL,
  `shipping_weight_grams` int(10) UNSIGNED NOT NULL DEFAULT 200,
  `price` bigint(20) UNSIGNED DEFAULT NULL,
  `compare_price` bigint(20) UNSIGNED DEFAULT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'active',
  `marketplace_visible` tinyint(1) NOT NULL DEFAULT 1,
  `platform_visibility_status` varchar(255) NOT NULL DEFAULT 'visible',
  `platform_visibility_reason` text DEFAULT NULL,
  `platform_disabled_at` timestamp NULL DEFAULT NULL,
  `platform_disabled_by` bigint(20) UNSIGNED DEFAULT NULL,
  `created_by` bigint(20) UNSIGNED DEFAULT NULL,
  `approved_by` bigint(20) UNSIGNED DEFAULT NULL,
  `approved_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `products`
--

INSERT INTO `products` (`id`, `tenant_id`, `ulid`, `product_type`, `name`, `slug`, `sku`, `brand`, `manufacturer`, `dosage`, `unit`, `registration_number`, `description`, `image_path`, `category`, `shipping_weight_grams`, `price`, `compare_price`, `status`, `marketplace_visible`, `platform_visibility_status`, `platform_visibility_reason`, `platform_disabled_at`, `platform_disabled_by`, `created_by`, `approved_by`, `approved_at`, `created_at`, `updated_at`, `deleted_at`) VALUES
(1, 1, '01M1967BNRW3DZ8XVTCKVA85NH', 'medicine', 'Panadol 500 mg', 'panadol-500-mg', 'SKU-1-0001', 'Panadol', 'Haleon', '500 mg', '10 kaplet', 'BPOM-1-000001', 'Membantu meredakan demam, sakit kepala, dan nyeri ringan hingga sedang.', 'products/crqmC6B9zoMkr9noVs0Bzw2t0hMUWy9tOccsZKtp.jpg', 'obat', 200, 12500, 14800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 05:06:08', NULL),
(2, 1, '01M1967BP5PYK5SXN786KWQ6CS', 'medicine', 'Imboost Force Ultimate', 'imboost-force-ultimate', 'SKU-1-0002', 'Imboost', 'Soho', NULL, '10 kaplet', 'BPOM-1-000002', 'Suplemen untuk membantu memelihara daya tahan tubuh setiap hari.', '/images/products/imboost.svg', 'vitamin', 200, 44700, 52900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(3, 1, '01M1967BPBSJV4A54MSZCKFGHW', 'medicine', 'Betadine Solution 30 ml', 'betadine-solution-30ml', 'SKU-1-0003', 'Betadine', 'Mundipharma', '10%', '30 ml', 'BPOM-1-000003', 'Antiseptik untuk pertolongan pertama pada luka ringan.', 'products/JgSQG83G603qjNtaGuKRC1if1hqynoe8vREkP4ua.webp', 'obat', 200, 19800, 23000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 05:07:48', NULL),
(4, 1, '01M1967BPH81DM4TTCNC9XEN01', 'medicine', 'Amlodipine 10 mg', 'amlodipine-10-mg', 'SKU-1-0004', 'Generik', 'Kimia Farma', '10 mg', '10 tablet', 'BPOM-1-000004', 'Obat antihipertensi yang hanya dapat dibeli dengan resep dan persetujuan apoteker.', '/images/products/amlodipine.svg', 'obat', 200, 18400, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(5, 1, '01M1967BPPE4C2P4PMHW3G8K7P', 'medical_device', 'Omron Digital Thermometer', 'omron-digital-thermometer', 'SKU-1-0005', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-1-000005', 'Termometer digital cepat dan nyaman untuk seluruh keluarga.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 89900, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(6, 1, '01M1967BPXE1Y2N27W1Z6KMB0H', 'medicine', 'Diazepam 5 mg', 'diazepam-5-mg', 'SKU-1-0006', 'Generik', 'Indofarma', '5 mg', '10 tablet', 'BPOM-1-000006', 'Tersimpan di master produk untuk klasifikasi, tetapi tidak diperjualbelikan secara online.', '/images/products/restricted.svg', 'obat', 200, 22000, NULL, 'active', 0, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(7, 1, '01M1967BQ2X0HJS5EHGCJF1YHT', 'medicine', 'Paracetamol Sirup 60 ml', 'paracetamol-sirup-60ml', 'SKU-1-0007', 'Generik', 'Kimia Farma', '120 mg/5 ml', '60 ml', 'BPOM-1-000007', 'Sirup penurun demam untuk anak sesuai aturan pakai.', '/images/products/panadol.svg', 'ibu-anak', 200, 18500, 21000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(8, 1, '01M1967BQ8AGNDABXZZ62AXD0B', 'medicine', 'Sanmol Forte 650 mg', 'sanmol-forte-650-mg', 'SKU-1-0008', 'Sanmol', 'Sanbe Farma', '650 mg', '4 kaplet', 'BPOM-1-000008', 'Pereda demam dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 9200, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(9, 1, '01M1967BQETCGY6P49D7H5MWDK', 'medicine', 'Bodrex Extra', 'bodrex-extra', 'SKU-1-0009', 'Bodrex', 'Tempo Scan', '500 mg', '4 tablet', 'BPOM-1-000009', 'Membantu meredakan sakit kepala dan gejala flu ringan.', '/images/products/imboost.svg', 'flu-batuk', 200, 7800, 9800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(10, 1, '01M1967BQM4WRYQC2XR4V2ERHG', 'medicine', 'OBH Combi Batuk Flu 60 ml', 'obh-combi-batuk-flu-60ml', 'SKU-1-0010', 'OBH Combi', 'Combiphar', '60 ml', '60 ml', 'BPOM-1-000010', 'Sirup untuk membantu meredakan batuk dan gejala flu.', '/images/products/betadine.svg', 'flu-batuk', 200, 17600, 21900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(11, 1, '01M1967BQSTS62QSZ3EHWY9FM9', 'medicine', 'Tolak Angin Cair 12 Sachet', 'tolak-angin-cair-12-sachet', 'SKU-1-0011', 'Tolak Angin', 'Sido Muncul', NULL, '12 sachet', 'BPOM-1-000011', 'Herbal untuk membantu menjaga kondisi tubuh saat masuk angin.', '/images/products/imboost.svg', 'herbal', 200, 39500, 45000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(12, 1, '01M1967BQYFVXDMTF835W84ADH', 'medicine', 'Blackmores Vitamin C 500 mg', 'blackmores-vitamin-c-500-mg', 'SKU-1-0012', 'Blackmores', 'Blackmores', '500 mg', '60 tablet', 'BPOM-1-000012', 'Vitamin C untuk membantu memenuhi kebutuhan harian.', '/images/products/imboost.svg', 'vitamin', 200, 129000, 155000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(13, 1, '01M1967BR37AQH3V02V2XFB3C0', 'medicine', 'Enervon-C Multivitamin', 'enervon-c-multivitamin', 'SKU-1-0013', 'Enervon-C', 'Darya-Varia', NULL, '30 tablet', 'BPOM-1-000013', 'Multivitamin untuk membantu menjaga stamina.', '/images/products/imboost.svg', 'vitamin', 200, 36800, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(14, 1, '01M1967BR77JEWX6G314MY3FC2', 'medicine', 'Promag Tablet', 'promag-tablet', 'SKU-1-0014', 'Promag', 'Kalbe', NULL, '10 tablet', 'BPOM-1-000014', 'Antasida untuk membantu meredakan gejala maag.', '/images/products/betadine.svg', 'pencernaan', 200, 9800, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(15, 1, '01M1967BRCDF6QZ40VJPXCP6Z4', 'medicine', 'Lansoprazole 30 mg', 'lansoprazole-30-mg', 'SKU-1-0015', 'Generik', 'Hexpharm', '30 mg', '10 kapsul', 'BPOM-1-000015', 'Obat lambung yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'pencernaan', 200, 22000, 50000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(16, 1, '01M1967BRG7ACSGXVEK2KKJBFN', 'medicine', 'Metformin 500 mg', 'metformin-500-mg', 'SKU-1-0016', 'Generik', 'Dexa Medica', '500 mg', '10 tablet', 'BPOM-1-000016', 'Obat diabetes oral yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'diabetes', 200, 15500, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(17, 1, '01M1967BRP41R23FYRFSRN3FVB', 'medicine', 'Simvastatin 20 mg', 'simvastatin-20-mg', 'SKU-1-0017', 'Generik', 'Indofarma', '20 mg', '10 tablet', 'BPOM-1-000017', 'Obat penurun kolesterol yang memerlukan resep dokter.', 'products/JCM9iGwIvLpOibK9azdjBi0oqDHmTY5mAm3axMvT.jpg', 'kolesterol', 200, 17200, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:27:54', NULL),
(18, 1, '01M1967BRVGSF65DVC18Z3TFC0', 'medicine', 'Cetirizine HCI 10 mg', 'cetirizine-10-mg', 'SKU-1-0018', 'Generik', 'Bernofarm', '10 mg', '10 tablet', 'BPOM-1-000018', 'Antihistamin untuk gejala alergi, gunakan sesuai aturan pakai.', 'products/KpTbKfBjLAobHCMHIdeKkwOqnoMW4VkuRVRioEAH.jpg', 'alergi', 200, 13500, 16000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:25:31', NULL),
(19, 1, '01M1967BS04PRMCNQWRG598BQ8', 'medicine', 'Loratadine 10 mg', 'loratadine-10-mg', 'SKU-1-0019', 'Generik', 'Novell', '10 mg', '10 tablet', 'BPOM-1-000019', 'Antihistamin non-sedatif untuk membantu mengurangi alergi.', 'products/i9qZjiUe9K0tWxJ0hPIEQOUt0eeSn1bx76GqImZX.jpg', 'alergi', 200, 14600, 17500, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:25:55', NULL),
(20, 1, '01M1967BS6WPDB25ADB5SAHWJS', 'medicine', 'Hansaplast Roll Kain', 'hansaplast-roll-kain', 'SKU-1-0020', 'Hansaplast', 'Beiersdorf', NULL, '1 roll', 'BPOM-1-000020', 'Plester roll kain untuk kebutuhan pertolongan pertama.', 'products/9WOMNCwDdM9dJmIEtJfRwEwH1vkzF8qoD0AALe8A.jpg', 'first-aid', 200, 14800, 18000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:28:21', NULL),
(21, 1, '01M1967BSDY0P8Q5HSPECSTG92', 'medicine', 'Kasa Steril 16x16', 'kasa-steril-16x16', 'SKU-1-0021', 'OneMed', 'OneMed', NULL, '10 pcs', 'BPOM-1-000021', 'Kasa steril untuk perawatan luka.', 'products/vLi6F1ngKswBKjdiD6aRxcYh4gmWS0N148BXSlFu.jpg', 'first-aid', 200, 12500, 15000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:23:22', NULL),
(22, 1, '01M1967BSPAC3QKMDPGVGYMYH7', 'medical_device', 'Masker Medis 3 Ply 50pcs', 'masker-medis-3-ply', 'SKU-1-0022', 'Sensi', 'Arista Latindo', NULL, '50 pcs', 'BPOM-1-000022', 'Masker medis 3 ply untuk perlindungan harian.', 'products/ousbHdgRA06te6lxi9p7UHhoafcHukBCqcgdOtus.jpg', 'alat-kesehatan', 200, 20000, 23000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:22:25', NULL),
(23, 1, '01M1967BSX6DSRP6RDSNWX5JSZ', 'medical_device', 'Blood Pressure Monitor Digital', 'blood-pressure-monitor-digital', 'SKU-1-0023', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-1-000023', 'Tensimeter digital untuk pemantauan tekanan darah di rumah.', 'products/6UymNnwYFlUpHWA07i0DTunEnqM7sKNmTN41Gx4S.jpg', 'alat-kesehatan', 200, 489000, 565000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:20:51', NULL),
(24, 1, '01M1967BT4BZ1FWY1YAYTMN725', 'medicine', 'Accu-Chek Strip 25 Instant', 'accu-chek-strip-25', 'SKU-1-0024', 'Accu-Chek', 'Roche', NULL, '25 strip', 'BPOM-1-000024', 'Strip cek gula darah untuk perangkat kompatibel.', 'products/3BhXHVnCt0s6TezdECDBP8RsW5kLmEa9ax8jQ3zU.jpg', 'diabetes', 200, 126000, 145000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:19:57', NULL),
(25, 1, '01M1967BT9ZVTPGR8ZYVWBREQK', 'medicine', 'Cetaphil Gentle Skin Cleanser', 'cetaphil-gentle-skin-cleanser', 'SKU-1-0025', 'Cetaphil', 'Galderma', NULL, '125 ml', 'BPOM-1-000025', 'Pembersih wajah lembut untuk kulit sensitif.', 'products/bytVUpcGUMDfJ93EJghtNzb9HGNYD4g1o5pjL0Dh.jpg', 'skincare', 200, 93500, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:17:55', NULL),
(26, 1, '01M1967BTDGSQPPKS4CZ6SDDTX', 'medicine', 'Acnes Sealing Jell', 'acnes-sealing-jell', 'SKU-1-0026', 'Acnes', 'Rohto', NULL, '18 g', 'BPOM-1-000026', 'Gel perawatan kulit berjerawat.', 'products/UrU9gZixglESguQYb941spV2BgGxo9irFYDIuOE9.jpg', 'skincare', 200, 28500, 35000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:18:10', NULL),
(27, 1, '01M1967BTJNBKJ0QDQ1VT40STT', 'medicine', 'Minyak Kayu Putih 60 ml', 'minyak-kayu-putih-60ml', 'SKU-1-0027', 'Cap Lang', 'Eagle Indo Pharma', NULL, '60 ml', 'BPOM-1-000027', 'Minyak kayu putih untuk membantu menghangatkan tubuh.', 'products/gKqwChg2eMlbOmz9LIF5qb0UzYFSn2te4mNFR2hl.jpg', 'ibu-anak', 200, 24800, 29000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:18:25', NULL),
(28, 1, '01M1967BTR7K9MXBD7SNGJCS9H', 'medicine', 'Oralit Sachet', 'oralit-sachet', 'SKU-1-0028', 'Generik', 'Kimia Farma', NULL, '10 sachet', 'BPOM-1-000028', 'Larutan rehidrasi oral untuk membantu mengganti cairan tubuh.', 'products/i6nF4TD0HkmvZ33wt1tNco5z1l1smmobf8BZPsGQ.jpg', 'pencernaan', 200, 8200, 10000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:15:39', NULL),
(29, 1, '01M1967BTWRA07WH2EAGX8Q2JH', 'medicine', 'Amoxicillin 500 mg', 'amoxicillin-500-mg', 'SKU-1-0029', 'Generik', 'Phapros', '500 mg', '10 kapsul', 'BPOM-1-000029', 'Antibiotik yang hanya dapat ditebus dengan resep dokter.', 'products/JgQIkewHwXwwcbbUIGh20DhymHwtke4aMe5uGu3u.jpg', 'antibiotik', 200, 25500, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:15:10', NULL),
(30, 1, '01M1967BV29C02EJ63QT1RCJE5', 'medicine', 'Cefixime 100 mg', 'cefixime-100-mg', 'SKU-1-0030', 'Generik', 'Dexa Medica', '100 mg', '10 kapsul', 'BPOM-1-000030', 'Antibiotik yang membutuhkan resep dokter.', 'products/Fq1VJzi35G4yMmKtcS0V75qRntLfK7zrLlHtGJi4.jpg', 'antibiotik', 200, 46500, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:11:05', NULL),
(31, 1, '01M1967BV72MWNBQNKY61RS9DM', 'medicine', 'Salbutamol 2 mg', 'salbutamol-2-mg', 'SKU-1-0031', 'Generik', 'Kimia Farma', '2 mg', '10 tablet', 'BPOM-1-000031', 'Obat bronkodilator yang membutuhkan resep dokter.', 'products/a0uOCyocPDei8IxoXLgV4h8C6gP5ec3Fhl4BiJZT.jpg', 'pernapasan', 200, 12000, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-31 12:10:33', NULL),
(32, 2, '01M1967BVCMX5W8117N41HRYVZ', 'medicine', 'Panadol 500 mg', 'panadol-500-mg-apotek-bumi-medika', 'SKU-2-0001', 'Panadol', 'Haleon', '500 mg', '10 kaplet', 'BPOM-2-000001', 'Membantu meredakan demam, sakit kepala, dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 13700, 14800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(33, 2, '01M1967BVJKXP78C5GX0F0WWAM', 'medicine', 'Imboost Force Ultimate', 'imboost-force-ultimate-apotek-bumi-medika', 'SKU-2-0002', 'Imboost', 'Soho', NULL, '10 kaplet', 'BPOM-2-000002', 'Suplemen untuk membantu memelihara daya tahan tubuh setiap hari.', '/images/products/imboost.svg', 'vitamin', 200, 45900, 52900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(34, 2, '01M1967BVPS7V6J072NH7JRXXV', 'medicine', 'Betadine Solution 30 ml', 'betadine-solution-30ml-apotek-bumi-medika', 'SKU-2-0003', 'Betadine', 'Mundipharma', '10%', '30 ml', 'BPOM-2-000003', 'Antiseptik untuk pertolongan pertama pada luka ringan.', '/images/products/betadine.svg', 'obat', 200, 21000, 23000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(35, 2, '01M1967BVVESD0H5XTE8NXYXBW', 'medicine', 'Amlodipine 10 mg', 'amlodipine-10-mg-apotek-bumi-medika', 'SKU-2-0004', 'Generik', 'Kimia Farma', '10 mg', '10 tablet', 'BPOM-2-000004', 'Obat antihipertensi yang hanya dapat dibeli dengan resep dan persetujuan apoteker.', '/images/products/amlodipine.svg', 'obat', 200, 19600, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(36, 2, '01M1967BW299ZN19PZ3X901CZ8', 'medical_device', 'Omron Digital Thermometer', 'omron-digital-thermometer-apotek-bumi-medika', 'SKU-2-0005', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-2-000005', 'Termometer digital cepat dan nyaman untuk seluruh keluarga.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 91100, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(37, 2, '01M1967BW8CEKRJ5HTWER93ZDW', 'medicine', 'Diazepam 5 mg', 'diazepam-5-mg-apotek-bumi-medika', 'SKU-2-0006', 'Generik', 'Indofarma', '5 mg', '10 tablet', 'BPOM-2-000006', 'Tersimpan di master produk untuk klasifikasi, tetapi tidak diperjualbelikan secara online.', '/images/products/restricted.svg', 'obat', 200, 23200, NULL, 'active', 0, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(38, 2, '01M1967BWC85XMEN4WEETCP86Q', 'medicine', 'Paracetamol Sirup 60 ml', 'paracetamol-sirup-60ml-apotek-bumi-medika', 'SKU-2-0007', 'Generik', 'Kimia Farma', '120 mg/5 ml', '60 ml', 'BPOM-2-000007', 'Sirup penurun demam untuk anak sesuai aturan pakai.', '/images/products/panadol.svg', 'ibu-anak', 200, 19700, 21000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(39, 2, '01M1967BWHXC0T4MRAXH5YK0FK', 'medicine', 'Sanmol Forte 650 mg', 'sanmol-forte-650-mg-apotek-bumi-medika', 'SKU-2-0008', 'Sanmol', 'Sanbe Farma', '650 mg', '4 kaplet', 'BPOM-2-000008', 'Pereda demam dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 10400, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(40, 2, '01M1967BWRZH49NFK87KF60B2T', 'medicine', 'Bodrex Extra', 'bodrex-extra-apotek-bumi-medika', 'SKU-2-0009', 'Bodrex', 'Tempo Scan', '500 mg', '4 tablet', 'BPOM-2-000009', 'Membantu meredakan sakit kepala dan gejala flu ringan.', '/images/products/imboost.svg', 'flu-batuk', 200, 9000, 9800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(41, 2, '01M1967BWX606J99TCR45Z98JF', 'medicine', 'OBH Combi Batuk Flu 60 ml', 'obh-combi-batuk-flu-60ml-apotek-bumi-medika', 'SKU-2-0010', 'OBH Combi', 'Combiphar', '60 ml', '60 ml', 'BPOM-2-000010', 'Sirup untuk membantu meredakan batuk dan gejala flu.', '/images/products/betadine.svg', 'flu-batuk', 200, 18800, 21900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(42, 2, '01M1967BX3SF336SYN57HV0GD9', 'medicine', 'Tolak Angin Cair 12 Sachet', 'tolak-angin-cair-12-sachet-apotek-bumi-medika', 'SKU-2-0011', 'Tolak Angin', 'Sido Muncul', NULL, '12 sachet', 'BPOM-2-000011', 'Herbal untuk membantu menjaga kondisi tubuh saat masuk angin.', '/images/products/imboost.svg', 'herbal', 200, 40700, 45000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(43, 2, '01M1967BX8HM04NHNBN126QYJC', 'medicine', 'Blackmores Vitamin C 500 mg', 'blackmores-vitamin-c-500-mg-apotek-bumi-medika', 'SKU-2-0012', 'Blackmores', 'Blackmores', '500 mg', '60 tablet', 'BPOM-2-000012', 'Vitamin C untuk membantu memenuhi kebutuhan harian.', '/images/products/imboost.svg', 'vitamin', 200, 130200, 155000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(44, 2, '01M1967BXDBCB1KPCE2GV1Z4Y1', 'medicine', 'Enervon-C Multivitamin', 'enervon-c-multivitamin-apotek-bumi-medika', 'SKU-2-0013', 'Enervon-C', 'Darya-Varia', NULL, '30 tablet', 'BPOM-2-000013', 'Multivitamin untuk membantu menjaga stamina.', '/images/products/imboost.svg', 'vitamin', 200, 38000, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(45, 2, '01M1967BXJ697DC24B2K41KANF', 'medicine', 'Promag Tablet', 'promag-tablet-apotek-bumi-medika', 'SKU-2-0014', 'Promag', 'Kalbe', NULL, '10 tablet', 'BPOM-2-000014', 'Antasida untuk membantu meredakan gejala maag.', '/images/products/betadine.svg', 'pencernaan', 200, 11000, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(46, 2, '01M1967BXR2HKRPZMQGN53DA4V', 'medicine', 'Lansoprazole 30 mg', 'lansoprazole-30-mg-apotek-bumi-medika', 'SKU-2-0015', 'Generik', 'Hexpharm', '30 mg', '10 kapsul', 'BPOM-2-000015', 'Obat lambung yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'pencernaan', 200, 23200, 50000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(47, 2, '01M1967BXZ8ZSQ7WBDGWJ46BG8', 'medicine', 'Metformin 500 mg', 'metformin-500-mg-apotek-bumi-medika', 'SKU-2-0016', 'Generik', 'Dexa Medica', '500 mg', '10 tablet', 'BPOM-2-000016', 'Obat diabetes oral yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'diabetes', 200, 16700, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(48, 2, '01M1967BY5Z63K0052FH9ZN62W', 'medicine', 'Simvastatin 20 mg', 'simvastatin-20-mg-apotek-bumi-medika', 'SKU-2-0017', 'Generik', 'Indofarma', '20 mg', '10 tablet', 'BPOM-2-000017', 'Obat penurun kolesterol yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'kolesterol', 200, 18400, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(49, 2, '01M1967BYA5ZEN4Y5QD7C5FVWX', 'medicine', 'Cetirizine 10 mg', 'cetirizine-10-mg-apotek-bumi-medika', 'SKU-2-0018', 'Generik', 'Bernofarm', '10 mg', '10 tablet', 'BPOM-2-000018', 'Antihistamin untuk gejala alergi, gunakan sesuai aturan pakai.', '/images/products/amlodipine.svg', 'alergi', 200, 14700, 16000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(50, 2, '01M1967BYGZ7TKP8ANK5MSVNYK', 'medicine', 'Loratadine 10 mg', 'loratadine-10-mg-apotek-bumi-medika', 'SKU-2-0019', 'Generik', 'Novell', '10 mg', '10 tablet', 'BPOM-2-000019', 'Antihistamin non-sedatif untuk membantu mengurangi alergi.', '/images/products/amlodipine.svg', 'alergi', 200, 15800, 17500, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(51, 2, '01M1967BYRMWGFPJ6PM70751S0', 'medicine', 'Hansaplast Roll Kain', 'hansaplast-roll-kain-apotek-bumi-medika', 'SKU-2-0020', 'Hansaplast', 'Beiersdorf', NULL, '1 roll', 'BPOM-2-000020', 'Plester roll kain untuk kebutuhan pertolongan pertama.', '/images/products/betadine.svg', 'first-aid', 200, 16000, 18000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(52, 2, '01M1967BYXC6E2FWPD12XDXN2A', 'medicine', 'Kasa Steril 16x16', 'kasa-steril-16x16-apotek-bumi-medika', 'SKU-2-0021', 'OneMed', 'OneMed', NULL, '10 pcs', 'BPOM-2-000021', 'Kasa steril untuk perawatan luka.', '/images/products/betadine.svg', 'first-aid', 200, 13700, 15000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(53, 2, '01M1967BZ266SFPE7D9YEXVE7B', 'medical_device', 'Masker Medis 3 Ply', 'masker-medis-3-ply-apotek-bumi-medika', 'SKU-2-0022', 'Sensi', 'Arista Latindo', NULL, '50 pcs', 'BPOM-2-000022', 'Masker medis 3 ply untuk perlindungan harian.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 33200, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(54, 2, '01M1967BZ7JFD4SWWSYCHXV9WM', 'medical_device', 'Blood Pressure Monitor Digital', 'blood-pressure-monitor-digital-apotek-bumi-medika', 'SKU-2-0023', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-2-000023', 'Tensimeter digital untuk pemantauan tekanan darah di rumah.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 490200, 565000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(55, 2, '01M1967BZCRMSDJ7ZGFVNSQKAD', 'medicine', 'Accu-Chek Strip 25', 'accu-chek-strip-25-apotek-bumi-medika', 'SKU-2-0024', 'Accu-Chek', 'Roche', NULL, '25 strip', 'BPOM-2-000024', 'Strip cek gula darah untuk perangkat kompatibel.', '/images/products/thermometer.svg', 'diabetes', 200, 127200, 145000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(56, 2, '01M1967BZGME3M592MJ0Y2EDD2', 'medicine', 'Cetaphil Gentle Skin Cleanser', 'cetaphil-gentle-skin-cleanser-apotek-bumi-medika', 'SKU-2-0025', 'Cetaphil', 'Galderma', NULL, '125 ml', 'BPOM-2-000025', 'Pembersih wajah lembut untuk kulit sensitif.', '/images/products/imboost.svg', 'skincare', 200, 94700, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(57, 2, '01M1967BZP9D187HJN3EKZBDDP', 'medicine', 'Acnes Sealing Jell', 'acnes-sealing-jell-apotek-bumi-medika', 'SKU-2-0026', 'Acnes', 'Rohto', NULL, '18 g', 'BPOM-2-000026', 'Gel perawatan kulit berjerawat.', '/images/products/betadine.svg', 'skincare', 200, 29700, 35000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(58, 2, '01M1967BZVVH9F3BJA25V0E138', 'medicine', 'Minyak Kayu Putih 60 ml', 'minyak-kayu-putih-60ml-apotek-bumi-medika', 'SKU-2-0027', 'Cap Lang', 'Eagle Indo Pharma', NULL, '60 ml', 'BPOM-2-000027', 'Minyak kayu putih untuk membantu menghangatkan tubuh.', '/images/products/betadine.svg', 'ibu-anak', 200, 26000, 29000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(59, 2, '01M1967C008N57D8ZARR89QKMD', 'medicine', 'Oralit Sachet', 'oralit-sachet-apotek-bumi-medika', 'SKU-2-0028', 'Generik', 'Kimia Farma', NULL, '10 sachet', 'BPOM-2-000028', 'Larutan rehidrasi oral untuk membantu mengganti cairan tubuh.', '/images/products/imboost.svg', 'pencernaan', 200, 9400, 10000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(60, 2, '01M1967C04P3FT7TBTDNW2KGEP', 'medicine', 'Amoxicillin 500 mg', 'amoxicillin-500-mg-apotek-bumi-medika', 'SKU-2-0029', 'Generik', 'Phapros', '500 mg', '10 kapsul', 'BPOM-2-000029', 'Antibiotik yang hanya dapat ditebus dengan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 26700, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(61, 2, '01M1967C09PFY42MJ887G1Z4PG', 'medicine', 'Cefixime 100 mg', 'cefixime-100-mg-apotek-bumi-medika', 'SKU-2-0030', 'Generik', 'Dexa Medica', '100 mg', '10 kapsul', 'BPOM-2-000030', 'Antibiotik yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 47700, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(62, 2, '01M1967C0EZCRS0TTCNGY0T0TP', 'medicine', 'Salbutamol 2 mg', 'salbutamol-2-mg-apotek-bumi-medika', 'SKU-2-0031', 'Generik', 'Kimia Farma', '2 mg', '10 tablet', 'BPOM-2-000031', 'Obat bronkodilator yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'pernapasan', 200, 13200, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(63, 3, '01M1967C0M2D1YFCJ7N5033AZA', 'medicine', 'Panadol 500 mg', 'panadol-500-mg-apotek-nusantara-farma', 'SKU-3-0001', 'Panadol', 'Haleon', '500 mg', '10 kaplet', 'BPOM-3-000001', 'Membantu meredakan demam, sakit kepala, dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 14900, 14800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(64, 3, '01M1967C0S7315BC6R9TPD00XK', 'medicine', 'Imboost Force Ultimate', 'imboost-force-ultimate-apotek-nusantara-farma', 'SKU-3-0002', 'Imboost', 'Soho', NULL, '10 kaplet', 'BPOM-3-000002', 'Suplemen untuk membantu memelihara daya tahan tubuh setiap hari.', '/images/products/imboost.svg', 'vitamin', 200, 47100, 52900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(65, 3, '01M1967C0XBJ82GF4RCRM0K7TK', 'medicine', 'Betadine Solution 30 ml', 'betadine-solution-30ml-apotek-nusantara-farma', 'SKU-3-0003', 'Betadine', 'Mundipharma', '10%', '30 ml', 'BPOM-3-000003', 'Antiseptik untuk pertolongan pertama pada luka ringan.', '/images/products/betadine.svg', 'obat', 200, 22200, 23000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(66, 3, '01M1967C136J89KEEY5AGAZMZG', 'medicine', 'Amlodipine 10 mg', 'amlodipine-10-mg-apotek-nusantara-farma', 'SKU-3-0004', 'Generik', 'Kimia Farma', '10 mg', '10 tablet', 'BPOM-3-000004', 'Obat antihipertensi yang hanya dapat dibeli dengan resep dan persetujuan apoteker.', '/images/products/amlodipine.svg', 'obat', 200, 20800, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(67, 3, '01M1967C1CFNHHNSCHG1Y08KKC', 'medical_device', 'Omron Digital Thermometer', 'omron-digital-thermometer-apotek-nusantara-farma', 'SKU-3-0005', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-3-000005', 'Termometer digital cepat dan nyaman untuk seluruh keluarga.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 92300, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(68, 3, '01M1967C1HZ636J76K9S5HM5GM', 'medicine', 'Diazepam 5 mg', 'diazepam-5-mg-apotek-nusantara-farma', 'SKU-3-0006', 'Generik', 'Indofarma', '5 mg', '10 tablet', 'BPOM-3-000006', 'Tersimpan di master produk untuk klasifikasi, tetapi tidak diperjualbelikan secara online.', '/images/products/restricted.svg', 'obat', 200, 24400, NULL, 'active', 0, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(69, 3, '01M1967C1P2VHTX649CGGNXC4A', 'medicine', 'Paracetamol Sirup 60 ml', 'paracetamol-sirup-60ml-apotek-nusantara-farma', 'SKU-3-0007', 'Generik', 'Kimia Farma', '120 mg/5 ml', '60 ml', 'BPOM-3-000007', 'Sirup penurun demam untuk anak sesuai aturan pakai.', '/images/products/panadol.svg', 'ibu-anak', 200, 20900, 21000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(70, 3, '01M1967C1VGBNHJ8AXK930XFY5', 'medicine', 'Sanmol Forte 650 mg', 'sanmol-forte-650-mg-apotek-nusantara-farma', 'SKU-3-0008', 'Sanmol', 'Sanbe Farma', '650 mg', '4 kaplet', 'BPOM-3-000008', 'Pereda demam dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 11600, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(71, 3, '01M1967C1ZWHC5B96DRFYZ3M84', 'medicine', 'Bodrex Extra', 'bodrex-extra-apotek-nusantara-farma', 'SKU-3-0009', 'Bodrex', 'Tempo Scan', '500 mg', '4 tablet', 'BPOM-3-000009', 'Membantu meredakan sakit kepala dan gejala flu ringan.', '/images/products/imboost.svg', 'flu-batuk', 200, 10200, 9800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(72, 3, '01M1967C249DMN4PYGKGJT5Q1H', 'medicine', 'OBH Combi Batuk Flu 60 ml', 'obh-combi-batuk-flu-60ml-apotek-nusantara-farma', 'SKU-3-0010', 'OBH Combi', 'Combiphar', '60 ml', '60 ml', 'BPOM-3-000010', 'Sirup untuk membantu meredakan batuk dan gejala flu.', '/images/products/betadine.svg', 'flu-batuk', 200, 20000, 21900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(73, 3, '01M1967C28ATWJJSJRK04RAVZT', 'medicine', 'Tolak Angin Cair 12 Sachet', 'tolak-angin-cair-12-sachet-apotek-nusantara-farma', 'SKU-3-0011', 'Tolak Angin', 'Sido Muncul', NULL, '12 sachet', 'BPOM-3-000011', 'Herbal untuk membantu menjaga kondisi tubuh saat masuk angin.', '/images/products/imboost.svg', 'herbal', 200, 41900, 45000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(74, 3, '01M1967C2DSYYDMGC3V14W8MHY', 'medicine', 'Blackmores Vitamin C 500 mg', 'blackmores-vitamin-c-500-mg-apotek-nusantara-farma', 'SKU-3-0012', 'Blackmores', 'Blackmores', '500 mg', '60 tablet', 'BPOM-3-000012', 'Vitamin C untuk membantu memenuhi kebutuhan harian.', '/images/products/imboost.svg', 'vitamin', 200, 131400, 155000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(75, 3, '01M1967C2JP0TYPVRDMGWR7J2K', 'medicine', 'Enervon-C Multivitamin', 'enervon-c-multivitamin-apotek-nusantara-farma', 'SKU-3-0013', 'Enervon-C', 'Darya-Varia', NULL, '30 tablet', 'BPOM-3-000013', 'Multivitamin untuk membantu menjaga stamina.', '/images/products/imboost.svg', 'vitamin', 200, 39200, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(76, 3, '01M1967C2PDNHZTFM3G9ZD2XK0', 'medicine', 'Promag Tablet', 'promag-tablet-apotek-nusantara-farma', 'SKU-3-0014', 'Promag', 'Kalbe', NULL, '10 tablet', 'BPOM-3-000014', 'Antasida untuk membantu meredakan gejala maag.', '/images/products/betadine.svg', 'pencernaan', 200, 12200, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(77, 3, '01M1967C2VMCGTA0QYMYVWCD4Z', 'medicine', 'Lansoprazole 30 mg', 'lansoprazole-30-mg-apotek-nusantara-farma', 'SKU-3-0015', 'Generik', 'Hexpharm', '30 mg', '10 kapsul', 'BPOM-3-000015', 'Obat lambung yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'pencernaan', 200, 24400, 50000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(78, 3, '01M1967C2ZST7GG3BYRJ6SFH5J', 'medicine', 'Metformin 500 mg', 'metformin-500-mg-apotek-nusantara-farma', 'SKU-3-0016', 'Generik', 'Dexa Medica', '500 mg', '10 tablet', 'BPOM-3-000016', 'Obat diabetes oral yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'diabetes', 200, 17900, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(79, 3, '01M1967C344TYP2ZKQZTYMAHSJ', 'medicine', 'Simvastatin 20 mg', 'simvastatin-20-mg-apotek-nusantara-farma', 'SKU-3-0017', 'Generik', 'Indofarma', '20 mg', '10 tablet', 'BPOM-3-000017', 'Obat penurun kolesterol yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'kolesterol', 200, 19600, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(80, 3, '01M1967C392EDEPWQ9EPR98FBY', 'medicine', 'Cetirizine 10 mg', 'cetirizine-10-mg-apotek-nusantara-farma', 'SKU-3-0018', 'Generik', 'Bernofarm', '10 mg', '10 tablet', 'BPOM-3-000018', 'Antihistamin untuk gejala alergi, gunakan sesuai aturan pakai.', '/images/products/amlodipine.svg', 'alergi', 200, 15900, 16000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(81, 3, '01M1967C3DT2DRAVFM52EE76H1', 'medicine', 'Loratadine 10 mg', 'loratadine-10-mg-apotek-nusantara-farma', 'SKU-3-0019', 'Generik', 'Novell', '10 mg', '10 tablet', 'BPOM-3-000019', 'Antihistamin non-sedatif untuk membantu mengurangi alergi.', '/images/products/amlodipine.svg', 'alergi', 200, 17000, 17500, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(82, 3, '01M1967C3JM7KTD849ZZD86CAB', 'medicine', 'Hansaplast Roll Kain', 'hansaplast-roll-kain-apotek-nusantara-farma', 'SKU-3-0020', 'Hansaplast', 'Beiersdorf', NULL, '1 roll', 'BPOM-3-000020', 'Plester roll kain untuk kebutuhan pertolongan pertama.', '/images/products/betadine.svg', 'first-aid', 200, 17200, 18000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(83, 3, '01M1967C3Q8EA9HK5GRXSJMDQY', 'medicine', 'Kasa Steril 16x16', 'kasa-steril-16x16-apotek-nusantara-farma', 'SKU-3-0021', 'OneMed', 'OneMed', NULL, '10 pcs', 'BPOM-3-000021', 'Kasa steril untuk perawatan luka.', '/images/products/betadine.svg', 'first-aid', 200, 14900, 15000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(84, 3, '01M1967C3VKMK0NM8XTWDH3TZM', 'medical_device', 'Masker Medis 3 Ply', 'masker-medis-3-ply-apotek-nusantara-farma', 'SKU-3-0022', 'Sensi', 'Arista Latindo', NULL, '50 pcs', 'BPOM-3-000022', 'Masker medis 3 ply untuk perlindungan harian.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 34400, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(85, 3, '01M1967C3Z4HATVEE6HW65FP3D', 'medical_device', 'Blood Pressure Monitor Digital', 'blood-pressure-monitor-digital-apotek-nusantara-farma', 'SKU-3-0023', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-3-000023', 'Tensimeter digital untuk pemantauan tekanan darah di rumah.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 491400, 565000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(86, 3, '01M1967C44XRRCTSZ7S20ZA76D', 'medicine', 'Accu-Chek Strip 25', 'accu-chek-strip-25-apotek-nusantara-farma', 'SKU-3-0024', 'Accu-Chek', 'Roche', NULL, '25 strip', 'BPOM-3-000024', 'Strip cek gula darah untuk perangkat kompatibel.', '/images/products/thermometer.svg', 'diabetes', 200, 128400, 145000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(87, 3, '01M1967C48JWZ5B4NBSBY03A1A', 'medicine', 'Cetaphil Gentle Skin Cleanser', 'cetaphil-gentle-skin-cleanser-apotek-nusantara-farma', 'SKU-3-0025', 'Cetaphil', 'Galderma', NULL, '125 ml', 'BPOM-3-000025', 'Pembersih wajah lembut untuk kulit sensitif.', '/images/products/imboost.svg', 'skincare', 200, 95900, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(88, 3, '01M1967C4D2VGA76MZCSHXYB6K', 'medicine', 'Acnes Sealing Jell', 'acnes-sealing-jell-apotek-nusantara-farma', 'SKU-3-0026', 'Acnes', 'Rohto', NULL, '18 g', 'BPOM-3-000026', 'Gel perawatan kulit berjerawat.', '/images/products/betadine.svg', 'skincare', 200, 30900, 35000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(89, 3, '01M1967C4JRP8Y7J6RFDFCMGG6', 'medicine', 'Minyak Kayu Putih 60 ml', 'minyak-kayu-putih-60ml-apotek-nusantara-farma', 'SKU-3-0027', 'Cap Lang', 'Eagle Indo Pharma', NULL, '60 ml', 'BPOM-3-000027', 'Minyak kayu putih untuk membantu menghangatkan tubuh.', '/images/products/betadine.svg', 'ibu-anak', 200, 27200, 29000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(90, 3, '01M1967C4PE4W79C5XAE9X38E7', 'medicine', 'Oralit Sachet', 'oralit-sachet-apotek-nusantara-farma', 'SKU-3-0028', 'Generik', 'Kimia Farma', NULL, '10 sachet', 'BPOM-3-000028', 'Larutan rehidrasi oral untuk membantu mengganti cairan tubuh.', '/images/products/imboost.svg', 'pencernaan', 200, 10600, 10000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(91, 3, '01M1967C4VZ0NG2RTZZ8084EK8', 'medicine', 'Amoxicillin 500 mg', 'amoxicillin-500-mg-apotek-nusantara-farma', 'SKU-3-0029', 'Generik', 'Phapros', '500 mg', '10 kapsul', 'BPOM-3-000029', 'Antibiotik yang hanya dapat ditebus dengan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 27900, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(92, 3, '01M1967C4Z3ZJD5S3C8R7CG5RA', 'medicine', 'Cefixime 100 mg', 'cefixime-100-mg-apotek-nusantara-farma', 'SKU-3-0030', 'Generik', 'Dexa Medica', '100 mg', '10 kapsul', 'BPOM-3-000030', 'Antibiotik yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 48900, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(93, 3, '01M1967C545DH62922TTFG58R5', 'medicine', 'Salbutamol 2 mg', 'salbutamol-2-mg-apotek-nusantara-farma', 'SKU-3-0031', 'Generik', 'Kimia Farma', '2 mg', '10 tablet', 'BPOM-3-000031', 'Obat bronkodilator yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'pernapasan', 200, 14400, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(94, 4, '01M1967C58VRM9HP54X0VPFCXB', 'medicine', 'Panadol 500 mg', 'panadol-500-mg-klinik-farma-medika', 'SKU-4-0001', 'Panadol', 'Haleon', '500 mg', '10 kaplet', 'BPOM-4-000001', 'Membantu meredakan demam, sakit kepala, dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 16100, 14800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(95, 4, '01M1967C5D4R16X29Z9MXV4YA2', 'medicine', 'Imboost Force Ultimate', 'imboost-force-ultimate-klinik-farma-medika', 'SKU-4-0002', 'Imboost', 'Soho', NULL, '10 kaplet', 'BPOM-4-000002', 'Suplemen untuk membantu memelihara daya tahan tubuh setiap hari.', '/images/products/imboost.svg', 'vitamin', 200, 48300, 52900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(96, 4, '01M1967C5H1TSZ3VQ3MA76THRZ', 'medicine', 'Betadine Solution 30 ml', 'betadine-solution-30ml-klinik-farma-medika', 'SKU-4-0003', 'Betadine', 'Mundipharma', '10%', '30 ml', 'BPOM-4-000003', 'Antiseptik untuk pertolongan pertama pada luka ringan.', '/images/products/betadine.svg', 'obat', 200, 23400, 23000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(97, 4, '01M1967C5PS8EMQEF8VDMJWF49', 'medicine', 'Amlodipine 10 mg', 'amlodipine-10-mg-klinik-farma-medika', 'SKU-4-0004', 'Generik', 'Kimia Farma', '10 mg', '10 tablet', 'BPOM-4-000004', 'Obat antihipertensi yang hanya dapat dibeli dengan resep dan persetujuan apoteker.', '/images/products/amlodipine.svg', 'obat', 200, 22000, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(98, 4, '01M1967C5T6D2QSRJ12C8S20VM', 'medical_device', 'Omron Digital Thermometer', 'omron-digital-thermometer-klinik-farma-medika', 'SKU-4-0005', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-4-000005', 'Termometer digital cepat dan nyaman untuk seluruh keluarga.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 93500, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(99, 4, '01M1967C5ZM7MR8G59PSZ7Q268', 'medicine', 'Diazepam 5 mg', 'diazepam-5-mg-klinik-farma-medika', 'SKU-4-0006', 'Generik', 'Indofarma', '5 mg', '10 tablet', 'BPOM-4-000006', 'Tersimpan di master produk untuk klasifikasi, tetapi tidak diperjualbelikan secara online.', '/images/products/restricted.svg', 'obat', 200, 25600, NULL, 'active', 0, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(100, 4, '01M1967C65RXH48V2R010M355R', 'medicine', 'Paracetamol Sirup 60 ml', 'paracetamol-sirup-60ml-klinik-farma-medika', 'SKU-4-0007', 'Generik', 'Kimia Farma', '120 mg/5 ml', '60 ml', 'BPOM-4-000007', 'Sirup penurun demam untuk anak sesuai aturan pakai.', '/images/products/panadol.svg', 'ibu-anak', 200, 22100, 21000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(101, 4, '01M1967C69SMR0BDWHGCMBJGH3', 'medicine', 'Sanmol Forte 650 mg', 'sanmol-forte-650-mg-klinik-farma-medika', 'SKU-4-0008', 'Sanmol', 'Sanbe Farma', '650 mg', '4 kaplet', 'BPOM-4-000008', 'Pereda demam dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 12800, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(102, 4, '01M1967C6E46WNFE0C1C5WWD10', 'medicine', 'Bodrex Extra', 'bodrex-extra-klinik-farma-medika', 'SKU-4-0009', 'Bodrex', 'Tempo Scan', '500 mg', '4 tablet', 'BPOM-4-000009', 'Membantu meredakan sakit kepala dan gejala flu ringan.', '/images/products/imboost.svg', 'flu-batuk', 200, 11400, 9800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(103, 4, '01M1967C6K2ZZQB2GBMBY78XGQ', 'medicine', 'OBH Combi Batuk Flu 60 ml', 'obh-combi-batuk-flu-60ml-klinik-farma-medika', 'SKU-4-0010', 'OBH Combi', 'Combiphar', '60 ml', '60 ml', 'BPOM-4-000010', 'Sirup untuk membantu meredakan batuk dan gejala flu.', '/images/products/betadine.svg', 'flu-batuk', 200, 21200, 21900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(104, 4, '01M1967C6RNZ036QQF9EF4EHRA', 'medicine', 'Tolak Angin Cair 12 Sachet', 'tolak-angin-cair-12-sachet-klinik-farma-medika', 'SKU-4-0011', 'Tolak Angin', 'Sido Muncul', NULL, '12 sachet', 'BPOM-4-000011', 'Herbal untuk membantu menjaga kondisi tubuh saat masuk angin.', '/images/products/imboost.svg', 'herbal', 200, 43100, 45000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(105, 4, '01M1967C6WQWC4XZ3YRYE6437F', 'medicine', 'Blackmores Vitamin C 500 mg', 'blackmores-vitamin-c-500-mg-klinik-farma-medika', 'SKU-4-0012', 'Blackmores', 'Blackmores', '500 mg', '60 tablet', 'BPOM-4-000012', 'Vitamin C untuk membantu memenuhi kebutuhan harian.', '/images/products/imboost.svg', 'vitamin', 200, 132600, 155000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(106, 4, '01M1967C713ZK9TA6T6EK9C9B1', 'medicine', 'Enervon-C Multivitamin', 'enervon-c-multivitamin-klinik-farma-medika', 'SKU-4-0013', 'Enervon-C', 'Darya-Varia', NULL, '30 tablet', 'BPOM-4-000013', 'Multivitamin untuk membantu menjaga stamina.', '/images/products/imboost.svg', 'vitamin', 200, 40400, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(107, 4, '01M1967C76J6KZF1ZETPY38CN2', 'medicine', 'Promag Tablet', 'promag-tablet-klinik-farma-medika', 'SKU-4-0014', 'Promag', 'Kalbe', NULL, '10 tablet', 'BPOM-4-000014', 'Antasida untuk membantu meredakan gejala maag.', '/images/products/betadine.svg', 'pencernaan', 200, 13400, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(108, 4, '01M1967C7APYHXYD731B9HVD8R', 'medicine', 'Lansoprazole 30 mg', 'lansoprazole-30-mg-klinik-farma-medika', 'SKU-4-0015', 'Generik', 'Hexpharm', '30 mg', '10 kapsul', 'BPOM-4-000015', 'Obat lambung yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'pencernaan', 200, 25600, 50000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(109, 4, '01M1967C7F7F5ARGW259V55XD2', 'medicine', 'Metformin 500 mg', 'metformin-500-mg-klinik-farma-medika', 'SKU-4-0016', 'Generik', 'Dexa Medica', '500 mg', '10 tablet', 'BPOM-4-000016', 'Obat diabetes oral yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'diabetes', 200, 19100, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(110, 4, '01M1967C7K73B2PPNZWSQKN8M7', 'medicine', 'Simvastatin 20 mg', 'simvastatin-20-mg-klinik-farma-medika', 'SKU-4-0017', 'Generik', 'Indofarma', '20 mg', '10 tablet', 'BPOM-4-000017', 'Obat penurun kolesterol yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'kolesterol', 200, 20800, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(111, 4, '01M1967C7RBB36TQVFD1MMN980', 'medicine', 'Cetirizine 10 mg', 'cetirizine-10-mg-klinik-farma-medika', 'SKU-4-0018', 'Generik', 'Bernofarm', '10 mg', '10 tablet', 'BPOM-4-000018', 'Antihistamin untuk gejala alergi, gunakan sesuai aturan pakai.', '/images/products/amlodipine.svg', 'alergi', 200, 17100, 16000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(112, 4, '01M1967C7W1B93H5W0EQYEXQ8F', 'medicine', 'Loratadine 10 mg', 'loratadine-10-mg-klinik-farma-medika', 'SKU-4-0019', 'Generik', 'Novell', '10 mg', '10 tablet', 'BPOM-4-000019', 'Antihistamin non-sedatif untuk membantu mengurangi alergi.', '/images/products/amlodipine.svg', 'alergi', 200, 18200, 17500, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(113, 4, '01M1967C81B67NFT2WCFSQQC32', 'medicine', 'Hansaplast Roll Kain', 'hansaplast-roll-kain-klinik-farma-medika', 'SKU-4-0020', 'Hansaplast', 'Beiersdorf', NULL, '1 roll', 'BPOM-4-000020', 'Plester roll kain untuk kebutuhan pertolongan pertama.', '/images/products/betadine.svg', 'first-aid', 200, 18400, 18000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(114, 4, '01M1967C852SBYCGFVSE9ZQFWX', 'medicine', 'Kasa Steril 16x16', 'kasa-steril-16x16-klinik-farma-medika', 'SKU-4-0021', 'OneMed', 'OneMed', NULL, '10 pcs', 'BPOM-4-000021', 'Kasa steril untuk perawatan luka.', '/images/products/betadine.svg', 'first-aid', 200, 16100, 15000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(115, 4, '01M1967C8A5A5EN3K57V2504ME', 'medical_device', 'Masker Medis 3 Ply', 'masker-medis-3-ply-klinik-farma-medika', 'SKU-4-0022', 'Sensi', 'Arista Latindo', NULL, '50 pcs', 'BPOM-4-000022', 'Masker medis 3 ply untuk perlindungan harian.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 35600, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(116, 4, '01M1967C8ESF9DGYM6VTF87TPK', 'medical_device', 'Blood Pressure Monitor Digital', 'blood-pressure-monitor-digital-klinik-farma-medika', 'SKU-4-0023', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-4-000023', 'Tensimeter digital untuk pemantauan tekanan darah di rumah.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 492600, 565000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL);
INSERT INTO `products` (`id`, `tenant_id`, `ulid`, `product_type`, `name`, `slug`, `sku`, `brand`, `manufacturer`, `dosage`, `unit`, `registration_number`, `description`, `image_path`, `category`, `shipping_weight_grams`, `price`, `compare_price`, `status`, `marketplace_visible`, `platform_visibility_status`, `platform_visibility_reason`, `platform_disabled_at`, `platform_disabled_by`, `created_by`, `approved_by`, `approved_at`, `created_at`, `updated_at`, `deleted_at`) VALUES
(117, 4, '01M1967C8KWYPJVB54TD9ARDVK', 'medicine', 'Accu-Chek Strip 25', 'accu-chek-strip-25-klinik-farma-medika', 'SKU-4-0024', 'Accu-Chek', 'Roche', NULL, '25 strip', 'BPOM-4-000024', 'Strip cek gula darah untuk perangkat kompatibel.', '/images/products/thermometer.svg', 'diabetes', 200, 129600, 145000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(118, 4, '01M1967C8QQ5ZYQQW9SPEVPC6K', 'medicine', 'Cetaphil Gentle Skin Cleanser', 'cetaphil-gentle-skin-cleanser-klinik-farma-medika', 'SKU-4-0025', 'Cetaphil', 'Galderma', NULL, '125 ml', 'BPOM-4-000025', 'Pembersih wajah lembut untuk kulit sensitif.', '/images/products/imboost.svg', 'skincare', 200, 97100, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(119, 4, '01M1967C8WQE8SHCRH31CWG4X7', 'medicine', 'Acnes Sealing Jell', 'acnes-sealing-jell-klinik-farma-medika', 'SKU-4-0026', 'Acnes', 'Rohto', NULL, '18 g', 'BPOM-4-000026', 'Gel perawatan kulit berjerawat.', '/images/products/betadine.svg', 'skincare', 200, 32100, 35000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(120, 4, '01M1967C909RMTHSVER8K5Q1C5', 'medicine', 'Minyak Kayu Putih 60 ml', 'minyak-kayu-putih-60ml-klinik-farma-medika', 'SKU-4-0027', 'Cap Lang', 'Eagle Indo Pharma', NULL, '60 ml', 'BPOM-4-000027', 'Minyak kayu putih untuk membantu menghangatkan tubuh.', '/images/products/betadine.svg', 'ibu-anak', 200, 28400, 29000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(121, 4, '01M1967C95JZ2JVHVQWQMHS28P', 'medicine', 'Oralit Sachet', 'oralit-sachet-klinik-farma-medika', 'SKU-4-0028', 'Generik', 'Kimia Farma', NULL, '10 sachet', 'BPOM-4-000028', 'Larutan rehidrasi oral untuk membantu mengganti cairan tubuh.', '/images/products/imboost.svg', 'pencernaan', 200, 11800, 10000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(122, 4, '01M1967C9AKG0XSK518JQKN2FH', 'medicine', 'Amoxicillin 500 mg', 'amoxicillin-500-mg-klinik-farma-medika', 'SKU-4-0029', 'Generik', 'Phapros', '500 mg', '10 kapsul', 'BPOM-4-000029', 'Antibiotik yang hanya dapat ditebus dengan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 29100, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(123, 4, '01M1967C9ECTHQBHTG5KQPM77Z', 'medicine', 'Cefixime 100 mg', 'cefixime-100-mg-klinik-farma-medika', 'SKU-4-0030', 'Generik', 'Dexa Medica', '100 mg', '10 kapsul', 'BPOM-4-000030', 'Antibiotik yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 50100, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(124, 4, '01M1967C9KF27Y96YTNZ0MNQ3M', 'medicine', 'Salbutamol 2 mg', 'salbutamol-2-mg-klinik-farma-medika', 'SKU-4-0031', 'Generik', 'Kimia Farma', '2 mg', '10 tablet', 'BPOM-4-000031', 'Obat bronkodilator yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'pernapasan', 200, 15600, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(125, 5, '01M1967C9Q6PDXK29SXV7TCRZK', 'medicine', 'Panadol 500 mg', 'panadol-500-mg-apotek-srikandi-care', 'SKU-5-0001', 'Panadol', 'Haleon', '500 mg', '10 kaplet', 'BPOM-5-000001', 'Membantu meredakan demam, sakit kepala, dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 17300, 14800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(126, 5, '01M1967C9WQANB9Y7Z06SE4V4S', 'medicine', 'Imboost Force Ultimate', 'imboost-force-ultimate-apotek-srikandi-care', 'SKU-5-0002', 'Imboost', 'Soho', NULL, '10 kaplet', 'BPOM-5-000002', 'Suplemen untuk membantu memelihara daya tahan tubuh setiap hari.', '/images/products/imboost.svg', 'vitamin', 200, 49500, 52900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(127, 5, '01M1967CA0SZ4TPSX7GJ6WSBH7', 'medicine', 'Betadine Solution 30 ml', 'betadine-solution-30ml-apotek-srikandi-care', 'SKU-5-0003', 'Betadine', 'Mundipharma', '10%', '30 ml', 'BPOM-5-000003', 'Antiseptik untuk pertolongan pertama pada luka ringan.', '/images/products/betadine.svg', 'obat', 200, 24600, 23000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(128, 5, '01M1967CA5SBT7FDYA53AR0Q81', 'medicine', 'Amlodipine 10 mg', 'amlodipine-10-mg-apotek-srikandi-care', 'SKU-5-0004', 'Generik', 'Kimia Farma', '10 mg', '10 tablet', 'BPOM-5-000004', 'Obat antihipertensi yang hanya dapat dibeli dengan resep dan persetujuan apoteker.', '/images/products/amlodipine.svg', 'obat', 200, 23200, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(129, 5, '01M1967CAA547WMWF27TWSGKQY', 'medical_device', 'Omron Digital Thermometer', 'omron-digital-thermometer-apotek-srikandi-care', 'SKU-5-0005', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-5-000005', 'Termometer digital cepat dan nyaman untuk seluruh keluarga.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 94700, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(130, 5, '01M1967CAFRHE8KSKCG36FWCHM', 'medicine', 'Diazepam 5 mg', 'diazepam-5-mg-apotek-srikandi-care', 'SKU-5-0006', 'Generik', 'Indofarma', '5 mg', '10 tablet', 'BPOM-5-000006', 'Tersimpan di master produk untuk klasifikasi, tetapi tidak diperjualbelikan secara online.', '/images/products/restricted.svg', 'obat', 200, 26800, NULL, 'active', 0, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(131, 5, '01M1967CANAW64GYN1WV9NHWSW', 'medicine', 'Paracetamol Sirup 60 ml', 'paracetamol-sirup-60ml-apotek-srikandi-care', 'SKU-5-0007', 'Generik', 'Kimia Farma', '120 mg/5 ml', '60 ml', 'BPOM-5-000007', 'Sirup penurun demam untuk anak sesuai aturan pakai.', '/images/products/panadol.svg', 'ibu-anak', 200, 23300, 21000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(132, 5, '01M1967CB06XWDQF46CF99YMWA', 'medicine', 'Sanmol Forte 650 mg', 'sanmol-forte-650-mg-apotek-srikandi-care', 'SKU-5-0008', 'Sanmol', 'Sanbe Farma', '650 mg', '4 kaplet', 'BPOM-5-000008', 'Pereda demam dan nyeri ringan hingga sedang.', '/images/products/panadol.svg', 'obat', 200, 14000, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(133, 5, '01M1967CBBRZEJ23JGT6SSM4P0', 'medicine', 'Bodrex Extra', 'bodrex-extra-apotek-srikandi-care', 'SKU-5-0009', 'Bodrex', 'Tempo Scan', '500 mg', '4 tablet', 'BPOM-5-000009', 'Membantu meredakan sakit kepala dan gejala flu ringan.', '/images/products/imboost.svg', 'flu-batuk', 200, 12600, 9800, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(134, 5, '01M1967CBHA707RZC2CRHHX281', 'medicine', 'OBH Combi Batuk Flu 60 ml', 'obh-combi-batuk-flu-60ml-apotek-srikandi-care', 'SKU-5-0010', 'OBH Combi', 'Combiphar', '60 ml', '60 ml', 'BPOM-5-000010', 'Sirup untuk membantu meredakan batuk dan gejala flu.', '/images/products/betadine.svg', 'flu-batuk', 200, 22400, 21900, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(135, 5, '01M1967CBN797WY310VQVXHPYD', 'medicine', 'Tolak Angin Cair 12 Sachet', 'tolak-angin-cair-12-sachet-apotek-srikandi-care', 'SKU-5-0011', 'Tolak Angin', 'Sido Muncul', NULL, '12 sachet', 'BPOM-5-000011', 'Herbal untuk membantu menjaga kondisi tubuh saat masuk angin.', '/images/products/imboost.svg', 'herbal', 200, 44300, 45000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(136, 5, '01M1967CBT9QTE2QJYXYBE0V4H', 'medicine', 'Blackmores Vitamin C 500 mg', 'blackmores-vitamin-c-500-mg-apotek-srikandi-care', 'SKU-5-0012', 'Blackmores', 'Blackmores', '500 mg', '60 tablet', 'BPOM-5-000012', 'Vitamin C untuk membantu memenuhi kebutuhan harian.', '/images/products/imboost.svg', 'vitamin', 200, 133800, 155000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(137, 5, '01M1967CC0VYFXESQ2WHRVT3Y8', 'medicine', 'Enervon-C Multivitamin', 'enervon-c-multivitamin-apotek-srikandi-care', 'SKU-5-0013', 'Enervon-C', 'Darya-Varia', NULL, '30 tablet', 'BPOM-5-000013', 'Multivitamin untuk membantu menjaga stamina.', '/images/products/imboost.svg', 'vitamin', 200, 41600, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(138, 5, '01M1967CC4QSF6WR6XNVSZS7X7', 'medicine', 'Promag Tablet', 'promag-tablet-apotek-srikandi-care', 'SKU-5-0014', 'Promag', 'Kalbe', NULL, '10 tablet', 'BPOM-5-000014', 'Antasida untuk membantu meredakan gejala maag.', '/images/products/betadine.svg', 'pencernaan', 200, 14600, 12000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(139, 5, '01M1967CC9W1S4PX0M570M07K9', 'medicine', 'Lansoprazole 30 mg', 'lansoprazole-30-mg-apotek-srikandi-care', 'SKU-5-0015', 'Generik', 'Hexpharm', '30 mg', '10 kapsul', 'BPOM-5-000015', 'Obat lambung yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'pencernaan', 200, 26800, 50000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(140, 5, '01M1967CCDY8E43XA62VYV2Y00', 'medicine', 'Metformin 500 mg', 'metformin-500-mg-apotek-srikandi-care', 'SKU-5-0016', 'Generik', 'Dexa Medica', '500 mg', '10 tablet', 'BPOM-5-000016', 'Obat diabetes oral yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'diabetes', 200, 20300, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(141, 5, '01M1967CCKRNY0EAFPEHCFYNHV', 'medicine', 'Simvastatin 20 mg', 'simvastatin-20-mg-apotek-srikandi-care', 'SKU-5-0017', 'Generik', 'Indofarma', '20 mg', '10 tablet', 'BPOM-5-000017', 'Obat penurun kolesterol yang memerlukan resep dokter.', '/images/products/amlodipine.svg', 'kolesterol', 200, 22000, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(142, 5, '01M1967CCS2E9KSAGAJ3CE7W11', 'medicine', 'Cetirizine 10 mg', 'cetirizine-10-mg-apotek-srikandi-care', 'SKU-5-0018', 'Generik', 'Bernofarm', '10 mg', '10 tablet', 'BPOM-5-000018', 'Antihistamin untuk gejala alergi, gunakan sesuai aturan pakai.', '/images/products/amlodipine.svg', 'alergi', 200, 18300, 16000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(143, 5, '01M1967CCYHVHNZ4CBW5A6P500', 'medicine', 'Loratadine 10 mg', 'loratadine-10-mg-apotek-srikandi-care', 'SKU-5-0019', 'Generik', 'Novell', '10 mg', '10 tablet', 'BPOM-5-000019', 'Antihistamin non-sedatif untuk membantu mengurangi alergi.', '/images/products/amlodipine.svg', 'alergi', 200, 19400, 17500, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(144, 5, '01M1967CD3D3TPQX2HSYJDMEAR', 'medicine', 'Hansaplast Roll Kain', 'hansaplast-roll-kain-apotek-srikandi-care', 'SKU-5-0020', 'Hansaplast', 'Beiersdorf', NULL, '1 roll', 'BPOM-5-000020', 'Plester roll kain untuk kebutuhan pertolongan pertama.', '/images/products/betadine.svg', 'first-aid', 200, 19600, 18000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(145, 5, '01M1967CD7Y633HYXYAJ177CKD', 'medicine', 'Kasa Steril 16x16', 'kasa-steril-16x16-apotek-srikandi-care', 'SKU-5-0021', 'OneMed', 'OneMed', NULL, '10 pcs', 'BPOM-5-000021', 'Kasa steril untuk perawatan luka.', '/images/products/betadine.svg', 'first-aid', 200, 17300, 15000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(146, 5, '01M1967CDCYJ19EV8JVW5VAQJM', 'medical_device', 'Masker Medis 3 Ply', 'masker-medis-3-ply-apotek-srikandi-care', 'SKU-5-0022', 'Sensi', 'Arista Latindo', NULL, '50 pcs', 'BPOM-5-000022', 'Masker medis 3 ply untuk perlindungan harian.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 36800, 42000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(147, 5, '01M1967CDHV3CTR696B5TZZ6YT', 'medical_device', 'Blood Pressure Monitor Digital', 'blood-pressure-monitor-digital-apotek-srikandi-care', 'SKU-5-0023', 'Omron', 'Omron Healthcare', NULL, '1 unit', 'BPOM-5-000023', 'Tensimeter digital untuk pemantauan tekanan darah di rumah.', '/images/products/thermometer.svg', 'alat-kesehatan', 200, 493800, 565000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(148, 5, '01M1967CDNZK8CE1BF48AH2YKY', 'medicine', 'Accu-Chek Strip 25', 'accu-chek-strip-25-apotek-srikandi-care', 'SKU-5-0024', 'Accu-Chek', 'Roche', NULL, '25 strip', 'BPOM-5-000024', 'Strip cek gula darah untuk perangkat kompatibel.', '/images/products/thermometer.svg', 'diabetes', 200, 130800, 145000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(149, 5, '01M1967CDTTNJFTE60VQ2QYVDR', 'medicine', 'Cetaphil Gentle Skin Cleanser', 'cetaphil-gentle-skin-cleanser-apotek-srikandi-care', 'SKU-5-0025', 'Cetaphil', 'Galderma', NULL, '125 ml', 'BPOM-5-000025', 'Pembersih wajah lembut untuk kulit sensitif.', '/images/products/imboost.svg', 'skincare', 200, 98300, 110000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(150, 5, '01M1967CDYDV7XYERCBW8ECMZK', 'medicine', 'Acnes Sealing Jell', 'acnes-sealing-jell-apotek-srikandi-care', 'SKU-5-0026', 'Acnes', 'Rohto', NULL, '18 g', 'BPOM-5-000026', 'Gel perawatan kulit berjerawat.', '/images/products/betadine.svg', 'skincare', 200, 33300, 35000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(151, 5, '01M1967CE31V8P4C139Y0JTCXE', 'medicine', 'Minyak Kayu Putih 60 ml', 'minyak-kayu-putih-60ml-apotek-srikandi-care', 'SKU-5-0027', 'Cap Lang', 'Eagle Indo Pharma', NULL, '60 ml', 'BPOM-5-000027', 'Minyak kayu putih untuk membantu menghangatkan tubuh.', '/images/products/betadine.svg', 'ibu-anak', 200, 29600, 29000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(152, 5, '01M1967CE7G0MG4SHREHD3WSMM', 'medicine', 'Oralit Sachet', 'oralit-sachet-apotek-srikandi-care', 'SKU-5-0028', 'Generik', 'Kimia Farma', NULL, '10 sachet', 'BPOM-5-000028', 'Larutan rehidrasi oral untuk membantu mengganti cairan tubuh.', '/images/products/imboost.svg', 'pencernaan', 200, 13000, 10000, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(153, 5, '01M1967CECMB0SE1C4HAYRY775', 'medicine', 'Amoxicillin 500 mg', 'amoxicillin-500-mg-apotek-srikandi-care', 'SKU-5-0029', 'Generik', 'Phapros', '500 mg', '10 kapsul', 'BPOM-5-000029', 'Antibiotik yang hanya dapat ditebus dengan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 30300, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(154, 5, '01M1967CEHGPC5KY2G27AXSFFQ', 'medicine', 'Cefixime 100 mg', 'cefixime-100-mg-apotek-srikandi-care', 'SKU-5-0030', 'Generik', 'Dexa Medica', '100 mg', '10 kapsul', 'BPOM-5-000030', 'Antibiotik yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'antibiotik', 200, 51300, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL),
(155, 5, '01M1967CENQ0C8C5TAX1DY6XT8', 'medicine', 'Salbutamol 2 mg', 'salbutamol-2-mg-apotek-srikandi-care', 'SKU-5-0031', 'Generik', 'Kimia Farma', '2 mg', '10 tablet', 'BPOM-5-000031', 'Obat bronkodilator yang membutuhkan resep dokter.', '/images/products/amlodipine.svg', 'pernapasan', 200, 16800, NULL, 'active', 1, 'visible', NULL, NULL, NULL, NULL, NULL, NULL, '2026-08-30 11:17:40', '2026-08-30 11:17:40', NULL);

-- --------------------------------------------------------

--
-- Struktur dari tabel `product_regulatory_histories`
--

CREATE TABLE `product_regulatory_histories` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `previous_classification` varchar(255) NOT NULL,
  `new_classification` varchar(255) NOT NULL,
  `regulation_reference` text NOT NULL,
  `changed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `changed_at` timestamp NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `referral_attributions`
--

CREATE TABLE `referral_attributions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `referrer_user_id` bigint(20) UNSIGNED NOT NULL,
  `referred_user_id` bigint(20) UNSIGNED NOT NULL,
  `eligible_seller_order_id` bigint(20) UNSIGNED DEFAULT NULL,
  `referral_code_snapshot` varchar(16) NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'registered',
  `fraud_status` varchar(255) NOT NULL DEFAULT 'clear',
  `fraud_flags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`fraud_flags`)),
  `fraud_reviewed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `fraud_reviewed_at` timestamp NULL DEFAULT NULL,
  `fraud_review_reason` text DEFAULT NULL,
  `registration_ip_hash` varchar(64) DEFAULT NULL,
  `device_hash` varchar(64) DEFAULT NULL,
  `registered_at` timestamp NOT NULL,
  `qualified_at` timestamp NULL DEFAULT NULL,
  `rejection_reason` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `referral_rewards`
--

CREATE TABLE `referral_rewards` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `referral_attribution_id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `coupon_id` bigint(20) UNSIGNED NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'issued',
  `issued_at` timestamp NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `refunds`
--

CREATE TABLE `refunds` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `seller_order_id` bigint(20) UNSIGNED NOT NULL,
  `platform_order_id` bigint(20) UNSIGNED NOT NULL,
  `payment_id` bigint(20) UNSIGNED NOT NULL,
  `requested_by` bigint(20) UNSIGNED DEFAULT NULL,
  `processed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `refund_key` varchar(255) NOT NULL,
  `amount` bigint(20) UNSIGNED NOT NULL,
  `currency` varchar(3) NOT NULL DEFAULT 'IDR',
  `reason` varchar(255) NOT NULL,
  `order_status_before` varchar(255) NOT NULL,
  `provider` varchar(255) NOT NULL,
  `provider_refund_id` varchar(255) DEFAULT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'requested',
  `provider_response` longtext DEFAULT NULL,
  `failure_reason` text DEFAULT NULL,
  `requested_at` timestamp NOT NULL,
  `processing_started_at` timestamp NULL DEFAULT NULL,
  `processed_at` timestamp NULL DEFAULT NULL,
  `failed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `regulatory_rules`
--

CREATE TABLE `regulatory_rules` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `product_type` varchar(255) NOT NULL,
  `medicine_class` varchar(255) DEFAULT NULL,
  `rule_code` varchar(255) NOT NULL,
  `requires_prescription` tinyint(1) NOT NULL DEFAULT 0,
  `requires_pharmacist_review` tinyint(1) NOT NULL DEFAULT 0,
  `can_sell_online` tinyint(1) NOT NULL DEFAULT 1,
  `max_quantity` int(10) UNSIGNED DEFAULT NULL,
  `effective_from` date NOT NULL,
  `effective_until` date DEFAULT NULL,
  `regulation_reference` varchar(255) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `regulatory_rules`
--

INSERT INTO `regulatory_rules` (`id`, `product_type`, `medicine_class`, `rule_code`, `requires_prescription`, `requires_pharmacist_review`, `can_sell_online`, `max_quantity`, `effective_from`, `effective_until`, `regulation_reference`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'medicine', 'otc', 'MED-OTC-2026', 0, 0, 1, 10, '2026-01-01', NULL, 'Baseline compliance PRD v1.2', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(2, 'medicine', 'limited_otc', 'MED-LOT-2026', 0, 0, 1, 4, '2026-01-01', NULL, 'Baseline compliance PRD v1.2', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(3, 'medicine', 'hard_drug', 'MED-HARD-2026', 1, 1, 1, 3, '2026-01-01', NULL, 'Baseline compliance PRD v1.2', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 'medicine', 'narcotic', 'MED-NAR-2026', 1, 1, 0, NULL, '2026-01-01', NULL, 'Baseline compliance PRD v1.2', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 'medicine', 'psychotropic', 'MED-PSY-2026', 1, 1, 0, NULL, '2026-01-01', NULL, 'Baseline compliance PRD v1.2', 1, '2026-08-30 11:17:39', '2026-08-30 11:17:39');

-- --------------------------------------------------------

--
-- Struktur dari tabel `seller_orders`
--

CREATE TABLE `seller_orders` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `platform_order_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `shipping_quote_id` bigint(20) UNSIGNED DEFAULT NULL,
  `outlet_selection_reason` varchar(255) DEFAULT NULL,
  `outlet_selection_strategy_version` varchar(255) DEFAULT NULL,
  `outlet_candidate_count` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `prescription_review_request_id` bigint(20) UNSIGNED DEFAULT NULL,
  `seller_order_number` varchar(255) NOT NULL,
  `subtotal` bigint(20) UNSIGNED NOT NULL,
  `discount` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `discount_platform` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `discount_tenant` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `shipping` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `shipping_provider` varchar(255) DEFAULT NULL,
  `quoted_service` varchar(255) DEFAULT NULL,
  `quoted_cost` bigint(20) UNSIGNED DEFAULT NULL,
  `quoted_eta` varchar(255) DEFAULT NULL,
  `quote_reference` varchar(255) DEFAULT NULL,
  `quoted_at` timestamp NULL DEFAULT NULL,
  `shipping_revalidated_at` timestamp NULL DEFAULT NULL,
  `commission_rate` decimal(5,2) NOT NULL DEFAULT 0.00,
  `platform_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `payment_gateway_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `refund_total` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `seller_net_amount` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `status` varchar(255) NOT NULL DEFAULT 'draft',
  `completed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `seller_orders`
--

INSERT INTO `seller_orders` (`id`, `platform_order_id`, `tenant_id`, `outlet_id`, `shipping_quote_id`, `outlet_selection_reason`, `outlet_selection_strategy_version`, `outlet_candidate_count`, `prescription_review_request_id`, `seller_order_number`, `subtotal`, `discount`, `discount_platform`, `discount_tenant`, `shipping`, `shipping_provider`, `quoted_service`, `quoted_cost`, `quoted_eta`, `quote_reference`, `quoted_at`, `shipping_revalidated_at`, `commission_rate`, `platform_fee`, `payment_gateway_fee`, `refund_total`, `seller_net_amount`, `status`, `completed_at`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', 'v1.3-distance-stock-price', 1, NULL, 'SO-TPRMNI46', 12500, 0, 0, 0, 8000, 'biteship', 'sicepat reg', 8000, '1 - 2 days', 'SQ-260830-PKF5G7ILBY', '2026-08-30 14:52:54', '2026-08-30 14:52:55', 10.00, 1250, 410, 0, 10840, 'pending_payment', NULL, '2026-08-30 14:52:55', '2026-08-30 14:53:04'),
(2, 2, 1, 1, 8, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', 'v1.3-distance-stock-price', 1, NULL, 'SO-SALMAA73', 25000, 0, 0, 0, 10000, 'biteship', 'jne reg', 10000, '1 - 2 days', 'SQ-260830-A41AUXPKWG', '2026-08-30 15:08:27', '2026-08-30 15:08:39', 10.00, 2500, 700, 0, 21800, 'pending_payment', NULL, '2026-08-30 15:08:39', '2026-08-30 15:08:46'),
(3, 3, 1, 1, 13, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', 'v1.3-distance-stock-price', 1, NULL, 'SO-OMJMHLIG', 12500, 0, 0, 0, 8000, 'biteship', 'sicepat reg', 8000, '1 - 2 days', 'SQ-260830-O0JJ3WJ6IF', '2026-08-30 15:46:50', '2026-08-30 15:46:57', 10.00, 1250, 410, 0, 10840, 'paid', NULL, '2026-08-30 15:46:57', '2026-08-30 15:48:02'),
(4, 4, 1, 1, 35, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', 'v1.3-distance-stock-price', 1, NULL, 'SO-A9QXCZMI', 8200, 0, 0, 0, 31000, 'biteship', 'grab same_day', 31000, '4 - 8 hours', 'SQ-260906-QXR1YHVLXK', '2026-09-06 08:03:36', '2026-09-06 08:08:46', 10.00, 820, 784, 0, 6596, 'pending_payment', NULL, '2026-09-06 08:08:46', '2026-09-06 08:08:57');

-- --------------------------------------------------------

--
-- Struktur dari tabel `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) NOT NULL,
  `user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` text DEFAULT NULL,
  `payload` longtext NOT NULL,
  `last_activity` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `sessions`
--

INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES
('0Sify5SIhGYkRMoW7sN1aDupIdskQZXPjzUMHr1C', NULL, '34.76.117.34', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJXa0VjV1ViZnpDaXF2QWxHc0ROR3hKUUJ2SnRacnhQMXlrQXVCRmpNIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789526602),
('5Wad1kG2NDaLHo7uIcZz9GGRcAIwTSgvbnjmDVS9', NULL, '64.227.9.141', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJGOXQzRk11dW5acTJ0QU5HcFlPOWJsTHE2VEF1SXNJaFZFYlVRRnVlIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC93d3cucnVhbmdtZWRpcy5jb20iLCJyb3V0ZSI6ImhvbWUifSwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1789528285),
('8fXYFq2VMnXFrPmovXEgs13Vx3W4Y8agcQmywATQ', NULL, '202.47.184.168', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'eyJfdG9rZW4iOiJuZ2UxcHBuTFROcVVyRzlCYkpDMVozbHoxdDJCWUhVNU5acDFHa2VIIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL3J1YW5nbWVkaXMuY29tXC9wcm9maWwifSwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvbWFzdWsiLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1789517099),
('bAjIAq87vL8kPOc527lFID2YxXsFLlo7Z15j4kCR', NULL, '34.22.245.55', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJncFhHbGh0aGx3a25DZUFZYldaeEsyZkxpWEJYT0NwY1I0eDFOWnR6IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789536596),
('Be22MaNdfdF86JChyoMp11EyJkrg4kQMI0qdDzyi', NULL, '9.142.30.181', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.3', 'eyJfdG9rZW4iOiJjakd1ZW52NzN2enlrMmFLSnM1eWJWbVFEY2k5T1E4UXI0RkxndHgzIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789524838),
('dX94WH6Jzuw94bUT5wceiMN8QSB3DZCf1VmC6d7c', NULL, '202.47.184.168', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'eyJfdG9rZW4iOiJhd3lrWFU0QlRKbEhqUXRoeTJEeXNwN1A1RE8wcGlvUTIxVjNwcWpuIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL3J1YW5nbWVkaXMuY29tXC9wcm9maWwifSwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvbWFzdWsiLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1789517095),
('EHOGAwxJSMemon8qtqzJZDTzjz6cQ3doCDeD5T17', NULL, '216.73.217.92', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'eyJfdG9rZW4iOiJTRzVaSWptY2tJcWUyYzhLSTJrWEJ4cENwdXZsU01JMzhGdmdEb3F3IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvc2l0ZW1hcC54bWwiLCJyb3V0ZSI6InNpdGVtYXAifSwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1789522972),
('MAY9zNleFid7AeIkQ4f01QDG54cIFyHZE2hB3Onf', NULL, '193.235.141.176', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115', 'eyJfdG9rZW4iOiJRZDIxUVpjNHJ2NTk2bHRxZFQ5QzlOUVdKZUpSYkZiUWZRSVo0eGg2IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvcHJvZHVrXC9jZXRhcGhpbC1nZW50bGUtc2tpbi1jbGVhbnNlciIsInJvdXRlIjoicHJvZHVjdHMuc2hvdyJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789531489),
('nPgLDF0mxP3j87ZfnXgsggz4v97Wnv2j9vEfNrNk', NULL, '192.36.248.204', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115', 'eyJfdG9rZW4iOiJ6ZUN3cGYxWWdqZFQ0MlNPMjhNZTFIN1lIMzRrbkJJdW43SWEycGFRIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvbWFzdWsiLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1789531489),
('nvUqxqA1aGNND97jJwYdHguX7IZkuQFRCP39UdGt', NULL, '95.111.248.201', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/152 Safari/537.36', 'eyJfdG9rZW4iOiJrcU9YUHJaUXFmZWU4VVFXbk1uQ2NaR2pjeU92Zk5BR05GWHZSZXFRIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789520621),
('On8CFHUUiRMLSBvAsmA6NcbXXuknxL05nd5svQnS', NULL, '80.248.227.92', 'Mozilla/5.0 (Android 14; Mobile; rv:123.0) Gecko/123.0 Firefox/123', 'eyJfdG9rZW4iOiJOeUZBUDd6bzNiV2w4MjZkMVFoYjZac0pRSUJnSk9FbFNYb2pQc2IzIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789529826),
('qMKPLigFKCL0fRY2oC0CLQHIBxHfA5mSvm1bg56X', NULL, '16.216.88.143', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Reflectionbot/1.0; +https://reflection.ai/bot) Chrome/151.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJKYXVHVUdJMFEwWGp5S1JRWDZEM1Jocld3NEY5SFgzb2ZUcmhyWUNqIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789514614),
('SMOb8WsAiCAZHzGyYquTziCrDrrXyWKWn1BuOxlQ', NULL, '46.101.225.128', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJXRVVUeHJTV0d4dmdWYnBIY2RNbGdGZUk4VmsyOE9ZRlFDRlM1c0JoIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789518120),
('uAFxYGyfCr6xngBNEwZ8NUKolqC323XIJWjinNhs', NULL, '193.235.141.212', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115', 'eyJfdG9rZW4iOiJpUlNuRFluR0NXTTJRRVkwb2tJc21aVEx2OUxLbVZSR3FXNmZTS3NsIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvcHJvZHVrXC9ibG9vZC1wcmVzc3VyZS1tb25pdG9yLWRpZ2l0YWwiLCJyb3V0ZSI6InByb2R1Y3RzLnNob3cifSwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1789531488),
('vDhteEEgF5k0vJiyiI69prRQsxxkpr1X5L5AWrN9', NULL, '2a02:4780:6:c0de::8', 'Go-http-client/2.0', 'eyJfdG9rZW4iOiJkVWZwbGJhYUNPbVVUWmpxOFJhbWN4eHVnempkbzJ0empCYjVqNjhzIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789519115),
('wjS9KUy9Z9o106EPZLwgxesWv5o3ztfVGOE2AXcl', NULL, '185.139.155.252', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115', 'eyJfdG9rZW4iOiJvUEUyWklLSm5Mb25ZVHpyeEVaRG5jWkgzU3FOc2lkVnMzTUFRNXpEIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL3J1YW5nbWVkaXMuY29tXC9wcm9kdWtcL2Jsb29kLXByZXNzdXJlLW1vbml0b3ItZGlnaXRhbCJ9LCJpbmZvIjoiTWFzdWsgYXRhdSBkYWZ0YXIgdW50dWsgbWVtdWxhaSBjaGF0IGRlbmdhbiBBcG90ZWsuIiwiX2ZsYXNoIjp7Im5ldyI6W10sIm9sZCI6WyJpbmZvIl19LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL3J1YW5nbWVkaXMuY29tXC9jaGF0LWFwb3Rla1wvbXVsYWlcL2Jsb29kLXByZXNzdXJlLW1vbml0b3ItZGlnaXRhbFwvbG9naW4iLCJyb3V0ZSI6InBoYXJtYWN5LWNoYXQubG9naW4ifX0=', 1789531488),
('WuYgYkm5A2v6bui6qfO16cluWLTdxYvyEEIpqHM1', NULL, '34.118.125.163', 'Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1', 'eyJfdG9rZW4iOiJ6TXU4MXpDV0JOaTRZbDJmMGVQOFAwUEtNRFdWSUxiclFod0VTa1pNIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvbWVkaWFcL3N0b3JhZ2VcL3Byb2R1Y3RzXC9VclU5Z1ppeGdsRVNndVFZYjk0MXNwVjJCZ0d4bzlpckZZREl1T0U5LmpwZyIsInJvdXRlIjoibWVkaWEuc3RvcmFnZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX0sImN1c3RvbWVyX2xvY2F0aW9uIjp7InN0YXR1cyI6ImRlbmllZCIsImNhcHR1cmVkX2F0IjoiMjAyNi0wOS0xNlQwNjo0MDowNCswNzowMCJ9fQ==', 1789515617),
('XBsYnnjfmdicmGT4pg3YvrULxpUQl2jtejtt8Uia', NULL, '2a04:4e41:7600:3e6f::4bc3:de6f', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'eyJfdG9rZW4iOiJKeXVGYWk1TUNNN0xJZ0VkamZqT1lvczlRd3dXS2FaQTRSUmRIUnV3IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL3J1YW5nbWVkaXMuY29tXC9wcm9maWwifSwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvbWFzdWsiLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1789521796),
('Xl2ABwVX29rhmGgDKF1xEQ92mrHj7SUZuo1ZWM9h', NULL, '194.14.75.100', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115', 'eyJfdG9rZW4iOiJQWnJ3VmJvRVAzQ0FWUDJCODdUZUllMmRBT3ZTaHJzTzlzTWNVOWYyIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbSIsInJvdXRlIjoiaG9tZSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789531488),
('Xy2SkrcnHvJv8tyKn7ZPZEXWKEm3sKhdAQSbHYY4', NULL, '216.73.216.208', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'eyJfdG9rZW4iOiJqS2RvdXBac0lDN2pjYldIMDJYeE81TXJvMFh3RHVkVThwQTRoWVJ2IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9ydWFuZ21lZGlzLmNvbVwvc2l0ZW1hcC54bWwiLCJyb3V0ZSI6InNpdGVtYXAifSwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1789513173),
('ymbyjKwJXWhZvbbsdYFSLOow23NUyATNZoRVvULB', NULL, '192.178.7.192', 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.36 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', 'eyJfdG9rZW4iOiJxT3pSMmc5WENEZ1dXTnBCMkw0c1B6Tlp0bDlwNVBRempRRUlBVnd0IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL3J1YW5nbWVkaXMuY29tXC9wZXNhbmFuIn0sIl9wcmV2aW91cyI6eyJ1cmwiOiJodHRwczpcL1wvcnVhbmdtZWRpcy5jb21cL21hc3VrIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1789515432);

-- --------------------------------------------------------

--
-- Struktur dari tabel `settlements`
--

CREATE TABLE `settlements` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `settlement_number` varchar(255) NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `period_start` date NOT NULL,
  `period_end` date NOT NULL,
  `gross_sales` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `discount_tenant` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `discount_platform` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `platform_commission` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `payment_gateway_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `refund_total` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `adjustment_total` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `seller_net` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `status` varchar(255) NOT NULL DEFAULT 'draft',
  `generated_by` bigint(20) UNSIGNED DEFAULT NULL,
  `paid_by` bigint(20) UNSIGNED DEFAULT NULL,
  `approved_at` timestamp NULL DEFAULT NULL,
  `paid_at` timestamp NULL DEFAULT NULL,
  `payment_reference` varchar(255) DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `settlement_items`
--

CREATE TABLE `settlement_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `settlement_id` bigint(20) UNSIGNED NOT NULL,
  `seller_order_id` bigint(20) UNSIGNED NOT NULL,
  `gross_sales` bigint(20) UNSIGNED NOT NULL,
  `discount_tenant` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `discount_platform` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `platform_commission` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `payment_gateway_fee` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `refund_total` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `seller_net` bigint(20) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `settlement_ledger_allocations`
--

CREATE TABLE `settlement_ledger_allocations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `settlement_id` bigint(20) UNSIGNED NOT NULL,
  `financial_ledger_entry_id` bigint(20) UNSIGNED NOT NULL,
  `allocation_type` varchar(255) NOT NULL,
  `amount` bigint(20) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `shipping_quotes`
--

CREATE TABLE `shipping_quotes` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED NOT NULL,
  `customer_address_id` bigint(20) UNSIGNED NOT NULL,
  `platform_order_id` bigint(20) UNSIGNED DEFAULT NULL,
  `seller_order_id` bigint(20) UNSIGNED DEFAULT NULL,
  `provider` varchar(255) NOT NULL DEFAULT 'demo',
  `reference` varchar(255) NOT NULL,
  `courier_company` varchar(255) NOT NULL,
  `courier_type` varchar(255) NOT NULL,
  `courier_name` varchar(255) DEFAULT NULL,
  `service_name` varchar(255) DEFAULT NULL,
  `service_type` varchar(255) DEFAULT NULL,
  `price` bigint(20) UNSIGNED NOT NULL,
  `currency` varchar(3) NOT NULL DEFAULT 'IDR',
  `eta` varchar(255) DEFAULT NULL,
  `duration` varchar(255) DEFAULT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'quoted',
  `provider_payload` longtext DEFAULT NULL,
  `selection_strategy_version` varchar(255) NOT NULL DEFAULT 'v1.3-distance-stock-price',
  `candidate_count` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `selection_reason` text DEFAULT NULL,
  `quoted_at` timestamp NOT NULL,
  `expires_at` timestamp NOT NULL,
  `revalidated_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `shipping_quotes`
--

INSERT INTO `shipping_quotes` (`id`, `user_id`, `tenant_id`, `outlet_id`, `customer_address_id`, `platform_order_id`, `seller_order_id`, `provider`, `reference`, `courier_company`, `courier_type`, `courier_name`, `service_name`, `service_type`, `price`, `currency`, `eta`, `duration`, `status`, `provider_payload`, `selection_strategy_version`, `candidate_count`, `selection_reason`, `quoted_at`, `expires_at`, `revalidated_at`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 1, 1, 1, 'biteship', 'SQ-260830-PKF5G7ILBY', 'sicepat', 'reg', 'SiCepat', 'Reguler', 'reg', 8000, 'IDR', '1 - 2 days', '1 - 2 days', 'used', 'eyJpdiI6Ikw2K3Z0dWlBaTNCQnhpUm1vaHdzZUE9PSIsInZhbHVlIjoidTVFYW5JeDJoK1lWaXA0TkVueUJ3NjVKYzJhaUU2R1J0UlBWQ244TCtSdys5K3JrdTl4Q2VuQ2lHbE94azFTd0J3cTVGV0pNNXlSVnBSZ0hBZ0pVcEgyU0lsRVNxdGtoL2tXYjdqaVRKVXRuVVU3bVJUOENHOFZabmZBd0JqWk8yRlhybDhYWlduWDNuaXIxRjZkb0lJL3JYTlFiOHBJbm51UCt4YVU5MlowKzBLVjlSKytwdnhkMjY5dlRzUGxuYWNBdkJyc1BYTTFxTS81WUdPcnlmbFFrZFhjamluQXA0ZFIrYjNiQWJsY01Fdy9BeWhjcTBsdDZBUXdyWWp6dmVhemwwS2hjdjFCMjI5OCswVXo3UVppWlFRV1hlWDF3R0NrbC9oWkxVSEtVQXRMR1BwODZwOU5SVERHYU1XMlJNekZSRXQxNG5EbmxLdUNSaVJobktjMDdNbnFWQ0UyQWhnMWR1U0ppUk5NckpRWUo1Q2pBa1BFZ2ZLODY0eS8zQXQxM2FuRUltRndCSG1hSGkycmhqT0djSGhnaUtrQ3lSVEhYaUxmVUd5TzlzbE1vS3h4NURVSjNVcnNEVFFlOVpnMlhySlBMV3NlZE1SZ3R3dldCeS9rWk4yUTJMOVA2d1RpazJIWmc3TWpKVGtpNUdUSzljVStUVHlMeXhxUFdZSU9TNkNWVnBVUzY5dmJHVG9JTnJtckc4WVNpZTZNczZPdUYzSCtvV3pMeHMrMW13bWV2UHpvam1oRmw0SGZWalJGSDY1RFBFaTBmWlF6M3k0aTVnR0V5NVMreXJsbVE0cTdYRlpZYXpOYzJtdXVDM2Qzbzc3b01rN1BpUHlQSzFpelJVNTF4Y0d2Y2sxaG8zV1hoVnJlUWVIWnErSnVqcWtVS2FCaEs4bWFNR0w3UXBLallBUTZ6T3ZBT0tYQ1RUSXNhbU1QcmRGc3VHZ1dkdDhNK3ZRMDNkbzBGaGhCUXlLYW9sbkhNV1AzUllTSTg3UjUyVjBDLzJ0aXFHc0d5RmxYb3poQWdVZ1UyVHhxNHFiNVZleXFPbDNhcDFLeFNwZUdEenJSbWpHN3lSY1dFYTdhNlR2OEhIN3FsM2RIaVRJa2ZXcld0Z09ZUzlaRjkzWGhIb0NJWStPbVQ3U05lVnV5UmE0SE9zWWZDVnVJblc5KzJNdkJXV1hadHhNNHUiLCJtYWMiOiJiZjQwMGExMGMxZDUwMzkzMjU1N2ZjMjNmMzA3OTg5MTE0MGFmZjlkOGE2ZWM2MDM3OThhYTVjNjUyNTkwMzAzIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 14:52:54', '2026-08-30 15:07:54', '2026-08-30 14:52:55', '2026-08-30 14:52:55', '2026-08-30 14:52:55'),
(2, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-5LE0MAJU6Q', 'jne', 'reg', 'JNE', 'Reguler', 'reg', 10000, 'IDR', '1 - 2 days', '1 - 2 days', 'expired', 'eyJpdiI6IkErSzlGRmYwYjlrNXBGeHRNSEZ4Mmc9PSIsInZhbHVlIjoiUk1hMzhKa2ZaZUNGVU8zMHA3dnZyMjlpY1NHYllpZVZSazZ3bDhmbmRHYTl5Y2s4Mk5LdkQwYjZ2VzBDY0pFdk9NSVpBaVA0S1RDTnJaZi82bTFtVTV6UU1NTVQyMEFWbTJmR3pTd0NqZGM1ekJjUG9xRS8zMGhQb3pXVWZFeVNLSkFvNERqOXh2M0xLbkN0eXNpazhjeE5FdldFbmFuM0pzWXpNeE53eHd3NWdac1M4ZXhpVzRLNEowRFQ1Mm51RTZ5VVdJNDdSUHJsUlJtaGE5T0d2MEFTYnZoNXlaWDU3M2tObDcyTkNOOFBEeXlYNFMzNXpBN0g0Z2x2WEpBZURBaUQrWlh0ck5iWFYzdmR1NHFQM3ZZdFdhbUxsK3poL2dBRnBuSlR2WGZsQ0JaSVNhT2tyejJCTVNWUy9ZMHBSSkpFYm94YUZGZ3p3NllSY3pPUWI5c0liU3ZOU25oNnFUS1RNR3hhVUZsbUN5SjlhV1R0cDMxZUlyL1BxV3Q3eXJUeEpjdTMzNzB5MEovSFAzdEtZR3BmM3BUamtqSTdaOE82em5JSERyYkZkVXlkMGdzTGNIMlQ5NFdqYzczckl3cERaT3NZOWlFWkVyOGVDVW1ZZHAyZmpseW1GNjJ1ZHcyQ000Ny9YaXY2bkFRMWRoQWU0QWNKM010SVZPN0greGZnMkNqY3JaL2JIVXdnRlVPVzNUd3BGQXYyQUJuN04vMnFodFBkWnpwMndWeTU5R1ZYNFZoeVNCaWxubGRrdGxva0lHQTFBNkdlYTBsQzJnK0JtSEdjRlIwYkZVS0VmU2ovYjgzYzJ5WFNXb2huV3JGcVdoUFNmQm5QR0NlcXNZUnNraFhLZm1OQ1JpVUFYZkg1bVRNYktFK1pFNElxaEVlSHUyb1JuSm5ybmM5WGdOelllWVViaVhwQkpVdjJIYmduQVNtQzdrR21hYUlrRUp4N01jM3pzTEptb0laU1FlWnFzdmFYYThWK1RyamQ1amNyOVoyYzBtMVdRemJlOUl6SER1M1dyYUl4RGthNGZqbTdJMjlRbFMrSnZBbXd2NGlxK1pIWU9vMHRwMzh2QjJvUlNZVjhabS9KUlZuNkVqcmRFMzRMeTFHZmxsQ0lOVmpZcnMvdDNFVHpYRWFrUkI0WTlUUUsrTGVKdXd5aGFVM0Y1WW4rR2RERUJ4NXgiLCJtYWMiOiJiZjlmMTEwNjI2MGFkNGEwMmI4MjUyZTc2NDU4ODZjOTBlNmUzOWZiNDcxOTQ4YzkzZDhkMDFhNmJjNWJiNTI2IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 14:52:54', '2026-08-30 15:07:54', NULL, '2026-08-30 14:52:55', '2026-08-30 15:08:27'),
(3, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-STRZVOL8QA', 'jnt', 'ez', 'J&T', 'EZ', 'ez', 10000, 'IDR', '2 - 3 days', '2 - 3 days', 'expired', 'eyJpdiI6IjNudVZRMWVlQkRHQnFlckVadTkwOEE9PSIsInZhbHVlIjoiUnRORzBNUDZ6eC9aR0ZPbDgrRkpNdWZ4eTIwcEttb2RBeXJKUjZjWGl4aFJvN3FLME5ZK1dhclROTWNrSmhxTHJOK2wxckJzdHBmQllObnV0b3d5SmhKVk5IVURNT0RhMWZtVFpmOE1HVU9JY0poRWI0MEVwOC9pQTRxNWR6dCtUS21iNVV3WEwwdy8rcVd1RDJiNHo5UmVYd0gzZ1NwaUpKQlVwTk1oTE95emE3bnlDUUgzVEFiTk40M2pEUEpGK0dINTNzeFd4YjYvWVQvNW1JY2ZCKzNqUGlpamZWblZSMmY2aGpUcy9LaFJhZStIQVZtSThESlQ1b3VsYU82VVlMeU1HL3BDZGZLM0YvaDNlb3Y2RUVseUMzRWlLOHg3b0lPYjNncnBTY25JaHk1Z0pPc2FwdnY3V1VmL0JWb0htdE80QkZVMnQxQXkxczFhYkU5UmlBKzR6R2VWQVlYLzRtakZvWldLOEd0VTczczhrWTBXbUVNZ1FhYm5aS3MvUzlNbkh0a3RnNFlOQlUzbkZpN3ZDY1JIOW1oNUU2ZURWdzhOamI0eFQ1RTVIZVpwWTJmUmQ1NHRXWUpkSlU3MklqRzNKL0RIR3NnSDdTem1Lb3k0a29qUFJJTXRQZG8wSEV2M25jUGJiaGRIWmtKYzE1UXlCRG5FYThNT2FpZWFUM1Z6TFVoMDVLUkhaL1gxd21seWlOTjQ3a0VXT2JTcVJpdTJyMnRCQjNsMlpCa2RheEpnSklGLzBhYnFKUVhIWkRwbXh1S0w1N3FNbmZpMUh4akFlVHkwbjhuZkNXOFhURXViVlNhQVJBZWh3UkVBZ3c1VFFzSE9tMzFyOGtmK3RET3Rnem14R0h4Rnd5Q3Y1WngzVWtqS1YxeEY2Rm9QaFhReW1NSW4wRU16b1I5ZUxzdXQ4UlZpcVhaS0RzMkpXY3Z1cmxMSzZmRVVEekttbjhtdHFJTWI5M0RNS0pwbUZ5WWhPT1pJN3NtbGRLNloydXh6MTFyeUpabVcwNG9oSVdUVmM3cjlDbkd1alczdjFJR0VtUWsrZm1NSkt2VnJ1d2dIUTlJOHpUOTYrdjhGcDJpeW45aWtKZWhiOWFMWWpKeURSNERMcEs3cWprUmJ2b0sxZVpaVmxTYllwTURNd0Y2eCsrbGRiWlU9IiwibWFjIjoiN2Y3YzY5YmYwNjg5NmQxZWY2MjQ4ODQyMjc4N2MxM2ZiODk0OTliNGVhYTg2NTk5ODQ5MWZkODY2MjYwM2RmMSIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 14:52:54', '2026-08-30 15:07:54', NULL, '2026-08-30 14:52:55', '2026-08-30 15:08:27'),
(4, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-UZ0D9YU4XN', 'sicepat', 'best', 'SiCepat', 'Besok Sampai Tujuan', 'best', 14000, 'IDR', '1 days', '1 days', 'expired', 'eyJpdiI6IklubVRvUno3Z2tacUFlMG5aQUtOQWc9PSIsInZhbHVlIjoiOUdQeURvOW1zRjZzUFJ5QldqWWFMaThOdUhRQnF6Nk0rSW9OemE2WjFNd0E1UnhIZzFFeUtYcDFRTSs0ZTc2eCtLZTZTZ2lSTlY3ZGtoM3p4eit1UVdWalVRL1hiMC9oTy9oRjl6eGU3cktLUXdTWCtzOVM5R3BLWjFIam5OK050WmpYTi9ZVDFvK25LVWhhOTVTdjA0ZzdwaUxIU0swYVlJcy9qZkxMckhqWHNCcThXN05TM1l5QzVWM2tWUk5tL2t1UWZmeElsWVdBNGRZNE1wOHB0YjZlRjdwcTJhYUZLdmtvc1JWOHZjMHVCR29sdGxlL1QzYi80a21GdXBJMC9jVmk1SmJFNHF2YjBxMVMvOGF0Mkx5bWFYcExoY0tvN1dvOGl1QndzMXR5dWxSVHM5T1IvS292WVRycG9FMUpUUTh4UUllNzRqdkFnelpLUlJHL0cxNFlJdTdXR211bWlBeGNqZ3J6TUJDekt2dXYzR3IrRjA5a0p4KzJRWkczdzNyWlRDMmRwRmJnZGxjSllIRUxLTXNlYVA2UVh5dDVDNUFZdXptd3NhdGNqMFNrcTdGZDA1RjYrZDNJcXRCeDduN0FOQ3hRVWltWGNHM2lPYTN6YmRUU3BiRWhJWXVnbmJ4WDM5bVZZdnpta0VKbW9JS3FrNk1GMlFGbkxZNllWR09vbWozMk12UmhFdmhDaXhtNmJidE5nbFJFT0tLc0JiMjU5OXNzcDlkZCthbnhXZ0l3aEhCb1VBYkNlMjhtUkxuZlNBanV2RUNIcytlUmFWakVpK0pzR3YrZ0ZXNG9vWXZVWGV6K3NiU2RlajhaSGlGM1lpOHBhUER2TWVmYWhUemVBQTNFc3AxVnh4dTh3UU9MNEVvVGdyTkFlcW5pRldRNitxTjBmVko3bzZsUHBJYVpGK1VvUi82ZTlCSEdHMU1MWFpNREIvdU9ma3JEZlpHd2x5UzA1K2drUUZLMzVJM0prVWVpTWJRSnplMkFmcHpqZ2Y3UFJTY1BoNUtNcE9xQ0dLbkltUFg1RVhYOTZxU2htY3FRQUltYzJ4dk5lOFpKWEdsTzB2bGorVFFOeUJQSTg4MFhmeGVvMElKS0pTc1VnSkNiWG1KZ0JzdDZ6YlJYZElMMzcvYzhhcmZPaktScVNYb01BTTNEV2JOb25TcjVLQkl0RWdBODVzVHgwdGlOSmRKelI5R3JCY0VIRkpwUllRPT0iLCJtYWMiOiJiYTJkZWM2NzQ4NWM5MDY4NGRkODA4MjhiYjlmYjExMjEzMTJhYWZhMmY5Zjc5YWMyYTEzOWJkY2Y5MGRlMzViIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 14:52:54', '2026-08-30 15:07:54', NULL, '2026-08-30 14:52:55', '2026-08-30 15:08:27'),
(5, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-U0JMESJVBV', 'jne', 'yes', 'JNE', 'Yakin Esok Sampai (YES)', 'yes', 18000, 'IDR', '1 - 1 days', '1 - 1 days', 'expired', 'eyJpdiI6IjBwUmFNT0x2bVlJTDhod0kvai9rdFE9PSIsInZhbHVlIjoiK3pjUnVpNFhqOGMxMk02NXk1QmZBb052Z2d6MHRrckdWd3lhaUlhQ3F3NjRKeXVBZXc0aDNKUTduelI0M3JZOHorWHZvcXVSVlUrRzhmdzk1YkJ4SklVRWJNb1prOGxVcWZoOWwyZ1h1UUZOUUp2ei8vZXFpNW5HV0lCdkkzclpvbjdiM0RnRXhoaml1dXpSUW4wZkJTbnFybis4VjhLMlFVa3pRTnlVeUZNUDljbVJoNm1PaXlWalZSSGlBL1ZTL0FIS3hiSkNWTHd5ZWwwanpJTmNzdit0RDJqSEJGU0d2MUhaRmw4bUk5Q0dlYzlMWFZtRmQ5clFuWnZvOTZqTnlUcVc3OVZFWmpQaE5yVENQdjhUZ0psT2QwOXpkZFFjMklJZWlrNzdHaGRtR0xCamtNSWkyNk9PSTNGTzB2T1ozNXlsSWFGeEFtZ0o2TWE1ZHhjWFk4RGtYenF2Y0xqNklYNVd6OGVOZnBuci92Mm9YeHlubHBZckJpQ2VWbCtwaU5NNXFhNS9HSUJUNDNmNmk2TGNEMjZSYklqMjVVQy8xTnhxTXVsS1hTMWorejl0MEdrZTJ5SnF0bDRCUnE0RXZ3YXdHYzhXdWFPRGhDUEs3djRjcTZDQlNXVmtDS2swYVN0Y2V3RTdDSG9WK0pJbldrSmJpUkYvZ3NoRVdjdVMwSUI2dndMMU5QSVdUa2ZuSUpBZVFWZFdSYXJ2ZGdZRG1IZ0p6S0FnRlZXSDVSOU8xN09EYW5uYkJqOWplUTNHcm9ZZUpxN3JXaXh1bDArOUxYalhQWUV6aHo0QTZhMkMxUmVoWW1SRE1VN1ZoaWdtakMycThjVzNtd2VzOCtGVmxaMlBRMDlhL0VuNFlvQ29maHFPcFQ5Q3M1Z3Fxd05aWDV1UHhVSU96djVSeHJLcUhNMURZc3l6UEN4QUh1UWpmdTB2T0g3L0RlanpkdUZRTWxQbHV0WVYvdHQzMlRSMmJ3WlFPWDV5OFVGR3dyeW1ZYUFvWGFkaEoySEhGSEtURUExN21jZ2s1bDRGNUREc2tqQ2xrVWVtQXNGbWd0SlhmSGQvdllieE5rRVRlaXhnNDQ2LytiQjBvQXNQODkwYkRXVGtrbWcwc2RTWlVVN3c0am1QQ1NUU1Z1REFldmkyQUdjRnRRejFOSVI5ZTEzTkh5bWk0MGV5VTNOWDJ0amlvRk4zWHBvSlVLTkJhUmRZbjVwNWVRPT0iLCJtYWMiOiIxMmIxMzFmOTUzNGQyNTE5MDVhNmY3NzA5NGQ5OGY4NGI4MTYxNTdlOTIyMGNmMzIwODNlN2RhMmM1ZThhYWQyIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 14:52:54', '2026-08-30 15:07:54', NULL, '2026-08-30 14:52:55', '2026-08-30 15:08:27'),
(6, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-XENVT5CWL2', 'jne', 'jtr', 'JNE', 'JNE Trucking', 'jtr', 40000, 'IDR', '3 - 4 days', '3 - 4 days', 'expired', 'eyJpdiI6IkxxbFJFemN6WDFISzVSM1AxOG9VRWc9PSIsInZhbHVlIjoiWnBYSVkySHZ6U0gzei95cCthZ1VJUkw2cElZM3ljeEhGcHpKQnhoS3dTMXFjU1VPNW1oREwzSldyUE5UVGNMS3dleHlra2V3RGFIeVRkTEg5QklhV2dpNzdvenkxMXBZSWdCWnFyZjBYMHVJcGl0dFl6YUY5blNJVlpnNUJYU3ZLRE5GaWtsb1Y2bFNLdndSYlkxN0VrN2wxODhmc2dKK2pxOUpDZ212MXJmYkl4YjFPUGErS0hwdkQrTFdxTFFNRFEzTXF6NnkyQXRqbVB3Z0h5Mks1ZDY3ZFhZSnB2QjlheENCZkZLekhCVnJySHRTbDZmbkdhclpGZ1FrK2UrN1ZzL2tXeURJMWtlUGViUmQ2OWF6aitWV1ZsaEFtVU55cHg1MStDVkRRcTl0bU90QUlKRlJDVUxGT2tVamowbkpvUEhDeWF4ZXkxelNCZlBvVjFiUFl0ZGk2bDRYQmcvM0kvamJoRytlU1ZNZUVGc1AybWtRVUk2cXByT3NMNCtIbUNvSFRUYUJiOXFwYlducWZ5MnhKVlE5a2tkOGp2RzZNbkpRZGFHNjViREZzZllvcFpNSEJCaTJiNzFDM3Y1Z09JZ0VxVHdrQW9pMVk4N0VEaDZJRFhMYmRvWGlzSmZDN2xGUVloOXZMRUg5NnAzcTNJaytMQVFjMHV6Z2pjREZzeVB3Sk4rY1RHbW9YR0FiOEdsYW4wZjc1VlF6REE5cHZ5d3EvaU5qeE9XQUJBMFZtTUJBQm5LQ0d5VjdBRDlnOUpWREdKczJMY2NpVk1TUUZjNnNYbzBVQnVpbEdCUGwxekVDRjdQdWdEUlZqVExtYkhQelp0SFluQ0FxK0tIemRMMmlna0dNcVBqU2ZjNGZwTTJITG42RitVd1FWRm1aOTNHOVhrTktuQ0NoWFhjR2V0a0dPUk1mS29zVmFGcFAzOFIwcVZjZWtlam54S05ieThrVlBTSEVIc0Rtc0RxNm9Qc0NSanVUKzU2dGhwSHBNK1NzRExKeE9GcklpWi9FaTZwSlZ0T1ZzV2VyZE9wSkxyaDZuUnYzMU54TmkySnk2aGVTWFdzaGFYT1lEeGEyZzlJVUVNeDJ3WnM0bEtaaUF1WWhUK2ZtaDdYSFhMNGRaZTFSMjZKU1BHNXdFVUU5azhoSFF1d3pTUVZSM2pXNWlrdmFTSGlhdktIM1B5azhWL25pMmUrdysvZXlEMU5HS1U1Z2l4Z21EaVlya1l3ck1xcUJDQWJ5dkVjPSIsIm1hYyI6ImI3ZTM0NzdiYmExNTVkZDFjMmViZGQ0NWFhY2UzYWZkY2RkNGVhNzcxMDBkMTdlNjUyOTY5ODliOTgyNjg2ZDMiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 14:52:54', '2026-08-30 15:07:54', NULL, '2026-08-30 14:52:55', '2026-08-30 15:08:27'),
(7, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-KAXPBJK5VG', 'sicepat', 'reg', 'SiCepat', 'Reguler', 'reg', 8000, 'IDR', '1 - 2 days', '1 - 2 days', 'expired', 'eyJpdiI6InhES0dzTHJIYTRVM2c0VjFFMGd3WkE9PSIsInZhbHVlIjoiVHR5Y3lVRnVoTkg1RDN3OEZXcTlCR0dDNXlMZ2UzVmlMbzMxMXJSc3NtZCtuZHl4UDBFWjRSUkVSK0dGLzltRXZpaHdxL05sRlhvYzdtK3YrZExUNUxHcDBEQVBINzRLbHF2UUJmbHNwbU4vTTVjWEFuUEoxTUp5NFlzenN6MzQrZGpLVWFrWS96ZDJNKzJxRi9IcG12ZWl0Y2NkQngxQ1NYUmtjUk51eG9Oanorb3RPdDhpcEJKOXNrMFFaUkVvMTI2dDRqYTc0SEdvK0kvQVVIbzNFeXB1bnNUTVVmZFZwM1QyTTUvN1ZVOTNYcXpaa3F1WVlNS2U5dkRIS2pzeVVBR2hiV3BEbURJZ3U1RFIwK0RHa016VHM3dTI0eGxQdm53SCt3TGNTK3BVRVc4aFlwSTdFMWFUeU40STRsQmF4L1dNL1lWQzNqc0dvUUFmQ3duWEVDem1HeHllb0tHdDZZYTRnREkvZXpJUTRjK0kya04vSURPcUg0MmRmbi9zWWkvT3ltWkNyb3VzazRPODJHWmNhcXhRR0tYM0JjRlllNmlyMlFDckpEdGVwbEh1N3VYMFJ0QUJWNmt4K3JYenlsUzJ4eUxyeC82Z2VQWE5xazNENGxjeE9BaFNzYWJyQTRGN3BVbVVITkRuT2VWb3VoZ1piWlVmYlZybW9PYU9UbE5VNEs4bFR4ZFhVTFZCQXBER2x0N3dTYWNLN3BYeTZoOWErVHpWLzlpVmtyQ0RhY0RNdDgrLzRHMWVOSTBrSkZJV0FHVkVhaGIzTjVua3VlanhUVjd4S1Q0ZHNRcWY4c3hWTlJ2MjI2TjZVN3hBclhXNnJnczFkMWFaaW54Tis0c2dDMGI5SmJDeERzeVJ0OEM4U0lKRHBuM1BDWkNNVjBxWFVWOGlKd2pXaGJrMWlJMDJ3elNCSjBXSlNWZ1hja0NFYlFlbDArOGY0SFJlSUh3SmZtUHNEdEc4RFhUUjc2R0dNdEtqeGJyaTY5TytVcmVvWC9kYmMxZTdUbEJkZXdMM3JlOUlVNGRSQUVvZkVDK1NKOGF4NmE4ZUs1OHVja0hWOW5oRFp0UXYvV1VMMThibzB6eXZOa2doMGc3dmF3TUxBRjl2bUJMUjBZc3NROGhJRDBhKzdUajI4TWloZFFDb0UxalhrRXJTblRpZ0k5OHNRUS9NNVNodlZTMFAiLCJtYWMiOiJmY2ZiNGE3ZTRjMDVhMDU2MDEyOTQzZWMxM2E1OTZhNTBhMTFjNGI5ODc3ZTY2YzBkNzI3NWVlZjFlZmZlMWExIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:08:27', '2026-08-30 15:23:27', NULL, '2026-08-30 15:08:28', '2026-08-30 15:46:50'),
(8, 1, 1, 1, 1, 2, 2, 'biteship', 'SQ-260830-A41AUXPKWG', 'jne', 'reg', 'JNE', 'Reguler', 'reg', 10000, 'IDR', '1 - 2 days', '1 - 2 days', 'used', 'eyJpdiI6Img0LytOS2t6TUx1dTJ1dWczSnVZVnc9PSIsInZhbHVlIjoibk9DbXhKZjZnZnJiUDYrUkR3MWFTOUF5cW1RNW1PTVdJUnM4cTh0elcveWx5OExvbjFlZDVmWlNaRzIvWmd1QXA4ZVJVUXFuTGhPTjVCRktpUkV2M0Q3eXprNVJndUFnWlhMYTJoSXI2SEdaMjVISWF6THl3ZE91NkU4RU01bEo3MUFnaHFmOHZTNWNjYmpnb2NaRm4rbU9hZFhrc2l6dHQza0ljcUJwSy9jc1RHV0llcHF0d0YxWng1Y3UrZjlBWDd4dlI3VmFkVCt5ZzF5Y04weWRNWk45UXEwZ0dxeFROZ3pHaGZuRCt6L2ZscGtKcjJjY3FYMjNhVW9TeE5ub251QS82OFBvdFJibWgwVXRtZEVSMHQyazZpUzhMaGE1TnRLUUU0Q1kxNzFBcUhteHZGTlp3OGR6SzZUQ2VPUFQ4UGNCL091L2EwdHRTNndpaERaaTR5NGNWOWxSaWZYMG53MUIxdW5tN1Rta3N1OXBvc0I2RUc4Um5rWC9hYytWb0wwUGVFRmpaZEw4RlByVEMzVHBLdFU0ZzJ3aDlveGpZWldVeUtqaG9QSTkrRFFkLzhjRGpNVFhaTk8zVFc5VXprMlBBcDl6R01KVWNqeDBBUTU1bnNvTGNiMEN4Z0lEOXY5UjZsMWJwRTF1TmVwWmtHdXBLQmM1VkFvcXlFZ0pBc2tpL0pvbkp5cG1obVI1MnU5UFVIb2IwZ3Azd0xQOVZ0NCsyNjkvMkZpdVU1eER1ZHJNaGFvQWs5T3BZTXdZdDBvZkdTZkJUUE4rNFpsNHF3M25EbmpSY3BRTTVVclFEK2xIaFM2RzlYdUo5ekVoTkhPUUQ1cG5vd0ExbUtCbjNNMlRYTXk2QVhNNnJUZHhzV2xYOGdZZlM3azhUcWZpcHhFNUdiZklZOGNqNEhtVythdkd6RzNqSnBGR2ZEQ0d0akk5Nm54eDB1Wmp1SGZ4VVhETGxna3BsdzBLZk53NkpONDgzMkR4aTBCZ0JkaTA3eE0wTnRLYldvQ0tOSmtOZmdaQ0Q2TjFSSzhCbUFIeTR4cDBSb3VoRTRaRG5vM3I2cGRDYXc2TFhMcm1LOEt6UGxoVVZTYmtjMUtMME1QcnFvRWZvZzY5bVc0TjVqM3ZiT1dXUEc5ZTdzSi9tM0JhczlZQWl4L0pXNThPRWp6N0w3Mk1aVXNqWm53WWRKaS8iLCJtYWMiOiI0N2JkOGI3OWRlMjJhODU1ZDA5ODA1NjdhYjFkNDRhZDVlNDMwNzFlZTNmMDI0OTc5YTBmOWYxZTgxMzIzOWU5IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:08:27', '2026-08-30 15:23:27', '2026-08-30 15:08:39', '2026-08-30 15:08:28', '2026-08-30 15:08:39'),
(9, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-83F9OAPMBV', 'jnt', 'ez', 'J&T', 'EZ', 'ez', 10000, 'IDR', '2 - 3 days', '2 - 3 days', 'expired', 'eyJpdiI6IklFT1p1YTJRcUo0bTlTOHkycEdaUkE9PSIsInZhbHVlIjoia1prS3JlT3VoeG8rUUpnUUNqK2s0RkY2RTdQeTQ3UHBRVUNxbWc5QmJhY0VEbGNtdTUvd3JkdHAxaE44blRGOWk0d2xyUFljMkMzTW5CWElDRkJCdUZjeHVmUzlaVys3ZDhnQ2VDemlDMXkvZkVJTytrTUxxcjFwWC8yOE9DcnZjd0xNQUZhcTJDZGVQa2g5R2crRnR5aTRZTFhiSHJxdmNWeDkwTkdpb0E3cCtoMWRIWnljTjhIQnRqZTJPWnJsdHdhSXNkMHVTcjhQcWNNeFR0U3hLeE1sZ0NRazFadElkcUhBYkhuanNpT2lEYmZZMnIyclZHVzl0Ty96dXhaaVFtUDVpcjdiUDRaY01jcUtpeDd1cVptblhsaFVJWVBveGw1REVkVXREVDBhcXJhTEkyN0xGTEdTdGlDcGFOTUpKSW1uSzdvMlBwNmVUMUVIOUcrNnl3Zy81dU1iWnJaZUY0R3pwWlpyMEIrODBRUmp3djlFN2RZSXVQdE95ckYvcUIvalMyNHR2VitlS0NkYVVsN2dWNElzY3hZS25LTWNHRElCQWxxM2hlbzNzZmJ3VHRVSlV1dkh0VmR2dFpaZ3pxL2xNVlZHcnpHTUg3Nmo2aXEwUlBLMVpnbnpUS1FXMklZUGVzUFdDZUJRU1pzYUJxcm9rOVUxYXIvS1dNbkVGbEE3T1h5UTV0czZqTi9ZRlllbEMyNHo5UWRsM2Z6Z09qUFpseFNSckV0ZjF6VTVsYjM2UGYwSGJDUTVhMDk3Uk1ZYkx0a3lLSjNydXRQRU5JM0VBRklzdEhMazNWR1U2ZkM0Ym8vMzJoTSs0aGwzTjVkNWtvUG92LzFYMjV4SGo3SjJla1lmdDNmeXNUVzRrWDhUNjgzUXQzY0RjeThsanpocGJoc2RHVWxMNW41U2ttNk9UVkJwcjlCNTZMcFhqK0RMbWI1YVVTTmwwK05HTHNIOWNmT1VDZnk1QWlnMzAydmp2MVF1TnJRWUNPV1VmRDZoSno4MlRmK0pjWnFpYUVjSlpCdW5WS1BwMmM4Y1lQRkZldE0wK1hLUy85ZndIWkJZNmFhaDdJcldLeEpHUzBQZElsQUtqOEpHTVh4enpjOHhBeUNoS2VEcTQxYXBIU29mcEsrVnk2bFAxNWZ5M296UTdaZ0hhclk9IiwibWFjIjoiYzVhNzExYTJiZGViNWViYTlmMWJmYzE2Nzg2ZTZhOTg1ZGEzYWQxNTZkODczODRlZGVkMzllOWZlYTc0NGE3NyIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:08:27', '2026-08-30 15:23:27', NULL, '2026-08-30 15:08:28', '2026-08-30 15:46:50'),
(10, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-KHILQZNFYJ', 'sicepat', 'best', 'SiCepat', 'Besok Sampai Tujuan', 'best', 14000, 'IDR', '1 days', '1 days', 'expired', 'eyJpdiI6InRDdzU2bm4xZXpzdU1iRVZTa1NLSVE9PSIsInZhbHVlIjoicXh5TmNkR2l3T0QrQVBGdktlQkUyTHRRdTQ1dkI3TU9oaHNZNUVHNTBKTEM2aFYySHA4Y00rVjdhemg0SGhPUW1TVmoyL0NRT01oMlpxQTgxSS9YQ3E3YkhtRXFGVWJRVVZjeXR5VktsRVoraHB5bGpYTDZhZ1ljMHA4eHYxcmZpVExnUE5valR1OEhRWVdqRGY4U3hwRDZPbXRtWXplOGd0ZTFvVXVjV2hlc1VVc2xlblRzaXFzM0NTN0dUSnZaZyt0TDRXbWZJMUR2V3h2Z1haZ0E1SVdiZVVZdG1ueERYbUFaR3pVd3F5QWM5YVRtSE5oNWpKQzNHTXhrMHozVXZDRGpLQ2kwdlFQUWFzVVhWRUdaMHFtVlluSjdGY2hadGFyY1Q4MjF2ZSthcWNFaGlwdHR2TlpTQk52ZDJQK1p3K0lscnE4Y3ZkUXB0dW13MHNxNVNObjhWSndadEpIbUdFYlBXNGpOQ0lxK2wvSE55RE1mQWFZTjBvWVJBSlNRbHk3Y09FRHk4QW83RkJHVmxLL2o3ZCs3WU9QQnAyODRxWmc1eSsxd3BkVm9mczVROUR4VGFGVVIwZHdBTTQzenllS0FtVjczaGJ2d0F0QVFhRmk0ZUhBcEZITlpkQ1Z5cjY2UnNHNlUzajd1c2dxNW50ZG1OQnJ3RE9pZHlNdGxoZkxiRGRoOVVCTHdSZStLckR4QzhkV1pSd3hSQTNQOWIwUjdQTGs3a0lkMkplcGt0b0pWNzUveDBzWGtFcDYrVXFLRGRybkNmQnErWVVCdllGNXlVVWJ5N0k0VkZWQ3pkOUkwUXdGUUJybmhGdXJLU29hN3lmVjZLSUpyMXpzWWJTWmN0Zm9kRHFjU1dXaVRCVDY5cFgzRU1DTlJ6OEg2NndrRXhpeHQ3bWE3SEFhVTNNV2FCV3ozOUFlaXE2cDBPc2xrblpBbERhTERBcDJDTW41UWpJVUdEZ2N2YVNXRmMzSTQxcW9aRlBERUpTd2VFdmtzdWFUcVRwNk16YWJoUnlqRU8xNmxFb0toSi9yYVY1V0JkR050QUd0OW4rM3FJRW8zYUQ0M2NKelVSRzB6UU5RYkVNSm8xMTc0aUk4Z2NYSjMxOEJqK2drQWovQmhtUjVUT3VBREtaNVBUenVzRWZpU2dIMVpFUUlCVXNsTWptTkxpRnFiUVZOZ1BNV3B3NlAvcFJBV2h6SGx6UDExSzhSRllBPT0iLCJtYWMiOiI3ZGE4ZWFjOWNkZDNlMmY4YWY2MTllODIwNWIwMWZkY2YyN2FjNTJmNmM0YmRiMzY2ZDc4YjFkOTY2MTlhZGYyIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:08:27', '2026-08-30 15:23:27', NULL, '2026-08-30 15:08:28', '2026-08-30 15:46:50'),
(11, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-GGQJSWA1KQ', 'jne', 'yes', 'JNE', 'Yakin Esok Sampai (YES)', 'yes', 18000, 'IDR', '1 - 1 days', '1 - 1 days', 'expired', 'eyJpdiI6ImZicGthUEVxVnNOTGV1SVRsSi9KS2c9PSIsInZhbHVlIjoiaUR3bDMvQ2ZyTWJ6YUx1N2NmNmR5ZjVMNHdOZmNrdVJYZENDQUNuL1VOZ3BjQWhCOVEydjliaGx3bE96cUJjanJvZXI1ZlJidzE0SW1OeGJiSGRCS2VEcDdVTFFPM3F0Qk8vTnZoby9hbnBIRHkzc0tXd2dYdDRYWkpHVlVITlFQS3RoTWttbnAvNm54N3lYbTgzL1ltTEZzOXBMZ082Mm56YkNUd3FGb3dzeTNNT3duc01SMHdDTEl6aVJFQTJzaGcxcDcwSjlMeVZqVFcrQlpVSkV2dStIT3lIMlpFRVdLOXU4RUtjWkI3b2YzR3ZEM3EwelN4SDVLZVdhMzlGL09mb3oxMy9Pc0tEUm5WekhtRnlvYkZsVXpRaHQzUDVwa2lnOFRsRFd6YnJHenJPa0pGUXRJNkh0R2dzU2xoa2JzdXVGOExHNHBNWnUxZE1WL2NUbEZmbXRld2NXOWloaEZFYlQ4RmFKZkxoYlZINTY3dGpISlkyOGFGOFA3T25ibjlrVmlPZ1JvQzdYL2pVbHFiTzc3eiszSnF4NkgzOUc2N2RsZ1NmOU5CcFNPVWhYcytUNTh4eUVSdHduUytTZTZSQ045OWVCMGIvWlRGWjQ4VThsby9YRm14RUVnV1dISXIrN0dqYWpnVWJ6NWdtOThLSmR3Y1Y1bDVxTEs2NDE1bEFGMTMrNUVob3p1elpTUWx3SW5ub0g2TkloTjVKRDErZTI2SkdQN0x0R0FUMkMrcjlnK2gxdHZIYnhhZkNLbDBab3FOR1k1aDRDVzZFY0dLWGFWNVE5V0ZyWVM2ZHZBL0VWSTBQd0x1eTcwMnpkbjVqMkdKVVRENWl6cHRyTlNGNWpIYzdrbyt3N1VLUXFtTTBFL2Q2djlYSmVtTXhiY3kwQUZMLzkxck5lcUFUMWMxd0lYbjd3ZmJnbFNJRDFhUFA5WmdwS05kRnBCeHR2S3pWZENxa0JVVEZnTjFtMll4ZWN2d1FWYmhiaXNOc1YzWVJNNWtJbFlkQ1hqdWdCNW9XaDd6bjVnSXJnd29xdGZwL1NmS2NvUld0QTZmNFhLZTUxaGdjRVhHekNYRW1GYlhRcDdxdlNMaXZVaXp0UU1tV01VTG5lRExJRUg0SS9JeGdEbmdsemdMZlpPUSt2VTFZaGxMQkgzN0p2Q3gxSi8wNmU0SlBIVXJ5YVpyM25LRGJzeHNVSWN3RlB6SGFrVXVVeTBnPT0iLCJtYWMiOiI4NWRiYWIyNDcxM2Q2ZjcwYTA5Y2FlZjI0YjVlYjljMTVkY2ZjZDUyODBkOTI4NjkwNmZlNDk4N2MxOTA5ZjQxIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:08:27', '2026-08-30 15:23:27', NULL, '2026-08-30 15:08:28', '2026-08-30 15:46:50'),
(12, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-YXRW0RABJW', 'jne', 'jtr', 'JNE', 'JNE Trucking', 'jtr', 40000, 'IDR', '3 - 4 days', '3 - 4 days', 'expired', 'eyJpdiI6IkNHeU5JR3ZGbmhTSk5pT0NMMnF2ZWc9PSIsInZhbHVlIjoid2xjaEI0Nlc5TjJHM3F5K3ZvUTZPMVNCTHBSWEp4TEtFYW1PUDE2OTFVdTB5Q0FyOVVXQ2E0bDkzT0lpOFhTU0VXejB2L2l4Zmt1VVZPbVcrNnVZaHJ0WWJSRlhwMGR3c2tveDdFWExxam9iTW0wUUl0RFhKbm9EUnFTOVk5TmZJS1J0d1lYeExvTjF0WHJiYTV6YWY3T2Y4TklCbE1XTnpZQ3dRcC9ML2JRM0tScVAwTFBhWkM1cnV4UkVyVnJHa2tHejlEZ1dxR0pwRTdDU1ZwcWUvUmxWa3l6WWJsNTB6dXk2M0lPR0xoRUJoVDUxWUJ4S09nR0RYYTBhcnFUY0NzTUpVek1aWHpENjNPUS9PQkdnWXdScEpIOEJ4NGg5Qy9RNWg2MW5NZ2J0RURYM2lnTVNBdjlvdkYxMmpiMk1JY28ySGV0SlBmemp3aEFxYU5CQm5wbWdWVE1EdzRyT1g5WTZSTUV6eWNFUTlTYVJ0STc0ZGlSai9ROFZGRlJJNEY0aTI1a2dNcDJwOGFpb2RHUUo1QmJRWENJbEF0WTF0eDJabUF1c285TVZKd1NjS0l5T1RBN1U1TUFJU2dsTHFVVjdLNys3RElQaWNqVy9BQ2Y5UXYwckNwNTA3aWtJS1dFQlJLcHdRYk5KRUs5OVhyd0RzTzdtMTl2c2Y1cysxK28rMFh1TkpHalRoVlZpa3M1WDhSVnNlSFFRN3hpYmZReHNkaEFsWlNDdittd1FhTjIxK2VKb0t6VlhaWXJSa1lxN0FjNGtXbmF4ckZuL0cxSEFPSmtrcDUwWlA5NWwybmI4elM4Nk5rYWFMcStEeGhhRXlVOXFoWXQzaXFXcW1MT2kySmFVdnpGZHJoV1RnUExFN21IS3dsTDYyQUI4dGkzR0FJenBCOTZOR3UzdW5EcTc4ZUNOeGRwNExhQzNpNkp1cmkvbTVRMEhnK29aZlQwbU9WemVGMkZFTURTV1hHQmdlMjc2Q2lDUGhXUi9ocU1MK2J5b3JDTDFlbVFOeDdhdDJvdDhLNDQ1MzhhSEZKWGNyK0NxcXB6SUtpRnFpNnhHaHNNSFlRUjFhTzdhaGhwN0N6ZFR6YTNPSU0xL21zcW9XallFS0VVdThWZnA2dWlBK1FwUFhNZUVLT2YydHc1bVliWlZWNFEycm9XNWU0cDRNK1FZRWZVVjJDeEZXTkNtUDNDcE56b1hhdnZVSVRSRWQ2SzgxQ0h4ZDE0R2RvMmdXSStjN1owPSIsIm1hYyI6ImYyMWNmNTg4YTA1NGNmMTlmMWMwNDJkZDczMDRhZGE2NjkyYjBjOWNkYTNkZDdkYzE1YzNmOWQ4NjZlYzFlN2IiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:08:27', '2026-08-30 15:23:27', NULL, '2026-08-30 15:08:28', '2026-08-30 15:46:50'),
(13, 1, 1, 1, 1, 3, 3, 'biteship', 'SQ-260830-O0JJ3WJ6IF', 'sicepat', 'reg', 'SiCepat', 'Reguler', 'reg', 8000, 'IDR', '1 - 2 days', '1 - 2 days', 'used', 'eyJpdiI6IkZIbTBRRTA2TDdsSmg5RWJWdCsvdVE9PSIsInZhbHVlIjoiMXZGcXJuSm9LaWx4VnJ0QnI2aUZUeFZVWXcxZzVzRDFBeTNpQ05aYUIvREswS2NMVk1iOGVxTTlROUV5TS9Jd0Izdmo0dkZOeTZVZjJxbHhWU3d6RFp4c3Jidzl1cElrNjlqdStIcEhxSGFSdlNTMHQ3RzJ2c0hnRGhDYXFzRGUzNm52ZWdxNEFmYUJoVm93bmd6MFdUbk84QnEvWWwxM3M1L0U3SWpSSmdPMklrY3JuZGJDeTJaMG81U0llYlJTTnEwWEQ5TTlkQW1za0t3S1VZUkN0djRQdjlTL3llL1FJbThldEZQWGRzejFWeW5NZEFNVVQ3SjFEUExSVHd1Uzh3S0EwL2dNNWZYUWRQSVRkbHN0LzJDYXdRVTNuYkRTK1Z5Qks3T1laZnJ3UTQyc1FhUFIyU0lOM25YaFk2M1RyazVWMWJrVnllS0xXSk9WK2hmMUdOeUs1RFdnL1dOb2NpVmpGNVRQMnVLR0xLS3hTZVZLYVdhbWt1Ni9rLzM2bWg4ZW45K2NyU05jdXlTUXdGWDJXNEZ1WE9CZG52L3BjM21xNWJWbUVJQXZHbjF4bWFGK0htK2ZUd2pTRVhZOVIzQTZjVE9TQVgrOTk4bVg2dmJqTjVhSnFvby9hQW5TYW93bklRL2tKK2dXS09sbHZGUEt0T0o1SHFpSW9BZkNIZERyK2lCV24rTU9iOXIyLzRSRldNQTVHMjRIamFrc1dQMWhRTWNTU1djQmF5RkEyQmZaYmNzaU5rMEU0dUl0UHc3MkdkWVp4WUdGY3EwWk1nV0dsODBodnRveVU5SG5rc1RLaXA3bWtQejV0eURxSUROU0tIT1EwbkM5T2FvQmNTbmdoN003SG9QK2o3cnVDNDBzSUIxSG9lRGE4N0wwbnpPTFZjZnBoOGlsOTVqT3p0YVFJTklUdThSb29ySnFsUGZRbmUyVVZDVHZ5L1VDb3Jka1ZPL0FyQ2xnL00wYzM2eC9Ld1NtRCtMa2FWZmNQU2phbDBtR050SUJCTXM2eUlWYmxoZk54Vm1uTGo3aUF6WDdIY1hxZWp6MXpnUTBGYU9pTUlYOUdKc0YzRVRKQVVRZEhSeGpNakVab2lmYlkxS1RKVXRXQlpmNjV2M3ZEM01IdC82YUZQWGZ1TkxTdDBZVlJ0bXBtaWxtRTNEZkJyV1hOT2tldjlrSkdKOGUiLCJtYWMiOiI0NWFlNzFlYjJkZWJhMDdhNzYxYjA3ZWY3ZTQ3ZDM4OWFhY2RlZjQ2NzBhYzRjZjc0M2E4MTMwMGNmZDM2ZDhmIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:46:50', '2026-08-30 16:01:50', '2026-08-30 15:46:57', '2026-08-30 15:46:50', '2026-08-30 15:46:57'),
(14, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-NVHBSSELNB', 'jne', 'reg', 'JNE', 'Reguler', 'reg', 10000, 'IDR', '1 - 2 days', '1 - 2 days', 'quoted', 'eyJpdiI6ImhnRGxrWHR6bTl2NkRHMGkyS0tNVVE9PSIsInZhbHVlIjoibktaRmxwTXVZWGNMVVlHMGN6RUFqNFBsTW5aMkZQcHJ6TXNoUEhRN0RmTHBhdnRlY2VCU0VCcW81YkZIK09CZE9LYXRQdERXVXk0VlFOK1I1UHpSRjE3V0pHOTY1b2RvUzkyeXhMaVJhZ3J0bFlZekhPbUcxWkRzNzRoZHgrVXFjbS9yNk93QlVlaU9aUGxRSjIycVdsZm5rK0xEbytMMEZ1OGh0RWczYnlsMWZWNExWYXJwWVdINTI1SHBoOTJxL0l4RE5PQ3VOcGE3Nmdka0xQUjArcW1weGtPZG02QXJzUWt2cHN1dEhEVmhYM3c2ODErekJOV0w0SkJtMk5NRldZRU5tRmFQVVhyWUFTQ3Mxc1NydjFCblNuNWVQVUQrUjJkU3BxdytnWFIyK3lVUlBJd29MM2lYN05OT0Z0NktFek9kcWtaYlowVU02SkJQQUV0azJmU1MwL2pYWERRZXdQczBZSlVSTEt6aE9YakIrdXpackdGLzk0T3dnWjVWdTByc1ZVYjV4UkNOeDRMTkhZdXVEZ2Ryd3BLK3Z1Z2ZVQ0NEUmxFSU5meFpEV284a1F3cjJicUUrZ1FBUExFL1cwOHRtaUhDQ2tYUXN0c0psQmRDZ3J2aTMwcTZFMGxwRnpJQkZTVlRsYXpIRVJ6UHhVMDZldkQzSGlIblQwYVUyRjN2UTkvQXBCTGVVMW5WaWdCeFJyU2M4elZqWmpkd0loMW1jeEJBYkl4aEFYNjRXYzFtVkdBR3ppTXlDNVNOL3pYOVQvM3QwODJGYVA2QjdEdWlXeUxwbndiZWV5ZlBrWlpkd2xQMGJWdkhjL3BwUGpuNkFQTXRuSXlmenFrc2tiQzluQUxXZU9TMjVEVTI0Sjl0T1czY3c3THFPcVFEZEx6V3pia3BILzVJb1VpbGgxazQvY0hFcFMrU2c4Y1lpNkdueG5WZzVKeWRQSVZUWG1lb0JLa2ZhK09QOExUdG81QjR2WVNFTHZnV0tBR01rYTEvcjVjZm9nNjNocHpWRk1OOGQydWlXTmhNbDZPYUx0anlCWDA1ejA5VStWbjJDenRzZGFQREZ1T1JZSTdwZHowWVJDZDFKanQ3Nkxrc2lDK2RPK3hLVkl3a2JvTWUvdnVRWU5JRy9PRkM1dEtlWkRia204VWw1N2pIMmFKM0RqRWJwdTZXdnNUd1JiSnkiLCJtYWMiOiIyZTIyZjFkN2JiZmViYmViMTUzMjcwZmU1YjhlNDE1MmJkYmNjNjE2OGQwYWMxYmZhZGJhNzM3YWZjMzA2N2I3IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:46:50', '2026-08-30 16:01:50', NULL, '2026-08-30 15:46:50', '2026-08-30 15:46:50'),
(15, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-OPKMSIAIEL', 'jnt', 'ez', 'J&T', 'EZ', 'ez', 10000, 'IDR', '2 - 3 days', '2 - 3 days', 'quoted', 'eyJpdiI6IlpkTFhtUHBqZk5zcDNDSWduZWtETFE9PSIsInZhbHVlIjoia3JnUGdSRnNOUnlHWEpaOGVVdUxtQisrdnNZN1hYTURUdzhyWGdBcUkrS01MY3NQODBsSjVPQU5PT0xQakJ6dFpOZzdxQlBacHRGZEZTZlR6UEpPVU5DUGtIYTBzRXZad2VoRllpQmJzWGlXNm4vc1MwMzhBeW40U3Y2cHBWRTJrRHkzR1cyeTlDYkZRWGNpOUwxc2dUcEJjZ0l3MWN6Sng3TFRadzNZY2pWT0NCaTRxNXNWcEhNT2gveU45bEZ5TU5OYTJOR212NnF6SXNxWGJXS1NSZ2wvcVhIZWVoOWw4dXJaNHhQRmhWM2MxR3ZWTUdaOVVzcHhIRmMwU3pCU0JKQlMzNFI1d2t0azBXM0ZBS093OCtpaStGbjlFRlV5dFczNmhQUmM1UEFiWFN2MDBHc0pxKzE4c0l2QmxJaURlMVNzcHdNTTZmM3RDcW0vSFd0c2NmMjJzVDk4bWYxWmRJbUJsTFF2Z1M4MTVSdjVSSUs1OHlQR1hOMUlEcXF6dFFKM1MzQktjeGNjOHdDYjNCdzVJbVlDNjhWNE5SRDEwTlFzQ1B6OTZFMlc1OThMVEZqVXBLZ0VHUzhUNEEybG9sTFZZamhoeDJNbDkzcWxReVY2Q29MdHhGVW16ZzNuTEI2UGU5d2pGc3dBNW9zRG8vUUFmVDJpanlEbVFQSk5rMFZGKytKcGYyTkpJMmNYL05qWkU4L1JkY0E1bW9LQW1jcWgvVmk4cEhiTDRrdTVmaExuS3lHMmxuaEtudG8rdHMvK0R5VXF5SmYzNS9WckJlVm54elkzSkUxMXFxNnliV3NYdWdTV3NycFdBN3NpTjJwUjR6UkE2NWNlRzltNklNRXRoSTgvOEw2RlFEZGp0Mk9pa3h4YWJlVjFLS3BoVTMrVnA4T25ISmxXLzh1ZUZsR0NGVlV3aDJMUng1Q0JSWCtLOVEvdmJYemVObmxYNDltV3FyWXlZcW5ZbkJvcmoyNnY1RFNLSytKVHdlV2hNeUR0ZXl3VTBDcWhSNmcvQ1FUc2NjRXpFZHozM2ltejZ5QTZJd01EY2pubFdhcFp2UTd5ZDIxRXJCeVdKYW1iT1A4OURGTnBqNEVTYjJQd0dpV0tSMFY0bWZNaWxWNzA5V0t4MThZa000d2V2Mk5Ea2ZxaWxyRFcwam89IiwibWFjIjoiOTgwMTQzOWZhOWE3ZTVjZDQ1YTYxZDkyN2FlMzkwMjVkOWIyZWRmNDlhMjlmOTIwMjMyN2QyYjc3OTU5MmQ5MSIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:46:50', '2026-08-30 16:01:50', NULL, '2026-08-30 15:46:50', '2026-08-30 15:46:50'),
(16, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-VNU2F6U3JJ', 'sicepat', 'best', 'SiCepat', 'Besok Sampai Tujuan', 'best', 14000, 'IDR', '1 days', '1 days', 'quoted', 'eyJpdiI6IlJVemFSTllUU3JFWXBQamNvVHBueEE9PSIsInZhbHVlIjoieVVuQ1J5Q2VFaW9ZMGc2TStFYTNCSHRTbWFqdHFMVjNBTTZUK3BuWFE3Ym5veHhRUHVFKzdiRThLeE5nUlVBTUN3elFYamVLV0daTVJtLzdSRUVDY0k3bm96Vlhjb3NSZUNPYVlrRjB3Zk5jUnF1bzlUNG1KVlI3UDgwT1JUeWdDVUxlczI0Yi9ySkxQbjhMcHNvTHBlTlRQd2F5YU5zSGtRWENkMlFLREk0T3dlYmladWZnaURIUXpUUDV2T1BleU5QZUNYc2Zna0t2ZldvUU1UNHRBeGJsTlZRTng4TG9ESitzdkFYRll6R0dObllFT21Od05wQXh3ZG40YnJjKzRIL3Vya1M1TnJXRzk5dFNZeGFGTkV4b00wQlI3ZFgyUFJYYnZkSDlWQjVTRmp0R1BnMGUzYWNGT2tjcDZtUkpaMEQzV2RsTndaNFRVU3k1MHNJQ0ozZ240K1BFN2lZS3ZvYktZdHZZMWVBVGs2QXl1NlZSSmFxOFVwY2MwNFF2NmZXdU5LSlUzVmlyOEhxeEtEcjJxd1E1VDJ3Rkh6OGI5TnB6SjJHUC9sWUJRdi9hVzlMcmRpd1puVTdnajFkekVYS0tUaGQwQnRuT3F6ZkNLNzZOOUlrOTlTM2k5bC8vZmljTE5sRndSVGlSU2RaMVFKZFFQZytiNG1ka25LNnNnUmdtWFBRdWQvRlVwTi9HU20rRlpScWg3cXpNWlhlN0psUCt4SUwwa1QySVVmdjE0bmFZcUJyVXh1YU5OcnhPSDkrY3I4MlltZXFaQnN2bVUxMWZXSEMrLzJteFcwUmtWajFXRDN5Z1dJTHdFSlllWTg5emJ2M25iWEVoMi9aZ0d2UzZwWUd4M2R4ZFBndmlVUFVsQ1IyL2pXRUg2SGRTbUcvZ2NDVHV1bFVveFdZRDJVWDl4TW83UE5HZlhhNFc4TmFUS0ptaTNWOEdja0E2TG5kSUZJK2xUYUl1WE1sU0hLZFJCbmRnbVY1aEtucXJmUUM4eFpra053R0NuRzZwaENUcGd3MExYdy9CbmEwdjlqRzZmMDJsTWw2emYzWFRRSkdYTzlXZWtMSzZzU01SQXZZcGNkNHU5c29YTUVTT01oVnMxMkYvTzRUQTV6RnJySlFuZVdhK1NTaEUyNUZjUXdTVXVjSFZBRzI2YUFUTUlkMG1CemFCdWVuMlk4cnlqcXBDZS84anV5YmdueXFZQkVpNVpBPT0iLCJtYWMiOiJhZmFkMzFjNmU5YjI1OTMwNzk1OWM1YTA2NzFjY2M2ZDcxZGMxMGI4NjlhN2IyYzExNGMwZjY3Zjk1ZmVjZDM2IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:46:50', '2026-08-30 16:01:50', NULL, '2026-08-30 15:46:50', '2026-08-30 15:46:50'),
(17, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-I8MMBY7HQC', 'jne', 'yes', 'JNE', 'Yakin Esok Sampai (YES)', 'yes', 18000, 'IDR', '1 - 1 days', '1 - 1 days', 'quoted', 'eyJpdiI6IjhFMVRPdFBScWdtOFJpQ0M2K3U0TlE9PSIsInZhbHVlIjoiK0xhL2xBMm0waU9iaWVzMklQUnloNWsxTkd4TEx1VUt6eHRwbFY4enp6blhzUDBQQW5qM09IU0FINmtYNWVtNlpReFpZU09YMDFNa2NrdG56VlRKWmI3L1pvWFJnMkxIL0dHczdtVklaQkRHZXREK1IzVE0xVlZSUExXcGlRVkM3aDZZYURLQTk5TE1vNHc1OWo0TDFtb0h3TFl6QVRhMzUwL1JhblovQ0RyR1ZxTWY4ZDhsaFEybzI4RWttZndERC9KTTZsaWg3UHJlUkZLMFhxTTlrOXpwazV4S29FTGhTUzdoTEd4aGFWK2V4Q3N3OS8rQXpRZE5ScWRqdHVqcmJ3V0tGQkNPc0RoTUMwRUtOYjRUQXVNVklWMmQxT2VSZXNDOG9FUWpBaHNXTWc1TnphOVZzMWFTdlV4d0tKYVR5eDY3RmhxT0gvWkhPK1VHblJCNS9mWEZOamhsSEZTWW1JS3VmL084aUZEbkRJVVU3aDlMdXJ6Zno4ZUtQWkVkOTFBcFJhaFlXSEJQNVJwWlR3WGN1NjRlR2RXNXlLemlFa0tOK01GM3RKK2daQ3BFM0xCZVkxN0c5eERvUFMzZ28yL0lrRW9KSmlERmovcnNjTXg5Nnk4THVFeWViOGxwWWs0cDNoQUZaWFk5cUhVeXp6VTVtM1l5WVZFMXkxeWhOZ0pYYndiQ2ppSkJyWGF1amNYQ1NjaEw3TDVhWi9MU05RNG9TaUNCQUxHaWRWaDJVeGlDR0VWK29PMVlNNGZoR3hidkVnM2JreVJjUHliZTByQ1RiRFR1NHJOdnhJVjIzRDRiaXpUR0pnNzhVNnYzUU15QXEyNllGWWxCNm03SEVhVVlVUm5IV29hekhvTFFtS3djT1lwak1NUHpCV01yNGtCQmJTc2VZK3Q0akVrMzJLRFRIZ2FKYVkrcXBROWJDNVpDM3owYzFlWXlsWWdvZmVERUk1RCtkZ2hXazRKY3prK3hSZEoyS1J3ZC9SQWFWbW9YQUg0SWpPQ0doRXVPa1NHZ29mRE5jakFPcnlMUUlCOGMyeUFLbnBhNmd6a1Zlb1laM2dQZ1cvMG9JWXZHdHAzNGdjSnM0bi8wQ1RFZ3pmVWF5Z0hEY2ZuTGh4VU5udkZPVzIremJmZzVZcHpSUitiOHJEZUlBWW5GTEhCWU0yN3A3S2tVUnZQeEJJUThxTE4rQTBlWk1yZVdKRXZwRGhaSnJ3PT0iLCJtYWMiOiI4ODY0MzFhMjI5NmVlMmRjNTExYjM1MDFiN2FhZWMyYjgwNDMyNjA4ZmUyMTg5ZTljNmM4NDhkN2Q1NmE4ZTdmIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:46:50', '2026-08-30 16:01:50', NULL, '2026-08-30 15:46:50', '2026-08-30 15:46:50'),
(18, 1, 1, 1, 1, NULL, NULL, 'biteship', 'SQ-260830-PPEW9HVL9Z', 'jne', 'jtr', 'JNE', 'JNE Trucking', 'jtr', 40000, 'IDR', '3 - 4 days', '3 - 4 days', 'quoted', 'eyJpdiI6ImJvRy93c2dKSUJ3eGtjWVBKNkFsdXc9PSIsInZhbHVlIjoibThweVNxWkZ3VU82dlBIeFYzZUJWcDZhWjU3NjFIbENKMk9ZMStPRW9QVUhrQy81SWs5UXcwb2dGekgrZVlmYThjWXFZbTlBNlR0cnE2bGNPSUlxV1JnTndML0hCQ05RbnFSR1QwMFpuUlJQTGZTWXB4aDdpSTVCWllIZmExZFRYdXFxMy9IWUdITW5ZeTIrdW1MZmR3VFQ2ZVI0KzZ2R2xpVEtzZ1B6MEZzcE0zM0JWM3BNSE5hY25tWVhhbkZ6WWdaK2tDYVNsN3V1OUxuVkhpVTFmb0hJTkVYclJta0E1cGVxNklsSHErQTloeHpQazdpcmt0eTVteFJoa3Q0WjExcTBvMEdZNDBKb0diM0xjUUQxQWJWRFpTYlM4VHY2dGx0K0FYRUsrSi8ySWdiVE9xei9ETkRPS3pha3JKYWZFMU1lQ0xublpCOEg0Z1RLdVVKN0VyWWFuVFMzNkZ3c3hsVEh0RnhvQiswZTdBY2VsY1cyNndQSDV1SDdSby9Kb2JMNEpReVBSblFKV2xtcnFVeUV2bnBoZWZGVjF2OUl3b3F1NDl5ZjRHUkZjSENIU01wazdXMnliYURWbkV0UGZCSjJTZGNBUnh5WmVncXVCR3prRnROT0NNb01hWHJDN21LTUp4clVJMXpnVkFDVEVycXlHVit3R1loNy9abWFZZzFRTlptdUM0TnpkczR0WjFFbFlzYWJyNkFoS0JGUVd3OGw5Q2RCVEhqSnZrMnNHcDJWenRaamlHc0xCMmc0TlFGVzhUSUZJNERlR2k0MzZwSlpGWGV2alQ5SlhPOTBPaW9GaXJET1AxbWpPR056eWVqbm1KRGdtR0RkT28xdFc2ZWpmcEd3cHZMQVZTN1p2M2xycytQNzdiLzRFblU3eUFySG5YMDRLYVlzUHc0QWsxb0J0UjMzNXlKTUZRTFdzK2xITGRKUk5udDYvc0NjNk5UM25DdHIwV2grMS82SkQ1VWt3SGYxMTNWbXlON1JJRzVFTnZmTUxYWTZvMDJoOXRYUzBlVGcrRnQvMHlCOUxITXZxcWVuanowUmhlS1NndnMwREdSdkpaejJqa0xVN2ZxdTdBWGtZT0VvdThLRTRvR3h3czR1Z0hMMUVjMm1oRktURi9iS0hFbzVZaVlhQ3JMbkczQkI0TnNybEp6c2dsSkY5MFZ5ZWwvc2lDOFlERDVXVVVmT2J6VGtKLzlkN2c2TFE4Zm50VnZubGNRaGFTandpVVFmanZBPSIsIm1hYyI6ImE4NGY0NGQ1OGNjMzJmNzQ0ZjM4NDY1NmE3OWU2YTE1NjY4NjE2NDEzYzg0OWJjZThiYjE5MmFkNjgxOWNiNTYiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-08-30 15:46:50', '2026-08-30 16:01:50', NULL, '2026-08-30 15:46:50', '2026-08-30 15:46:50'),
(19, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-J17K7CFWTV', 'sicepat', 'reg', 'SiCepat', 'Reguler', 'reg', 9000, 'IDR', '1 - 2 days', '1 - 2 days', 'expired', 'eyJpdiI6IktCMU0zY0tRR21yK3J5eW9wNGIxZkE9PSIsInZhbHVlIjoiTXcvbks2YndCRWVrWmVBTnlxQVcxckgrTnk1V0JaS1JiVU9uaEdiczBtdUpjV0pLY1l0T3l4SXh1NzFtRnhEa0x4M08yTTVEdjZaTkJ5aXlaOVMwcGxCMGlTNjAyZmVRQXlhOU1lT2UvVHIzSk1veFQwa3YvVnNkeER3aFRLbjFtcFBEUERhVzhrTk4wRGc2SW1ZaGI2ZGxJSWhuTlorbUVPNWhHbzF1OXhHbVFqY01hcThYN29Pd0hvRmxnWGJHNWFaTDNLRUp6MTdsa1U4R2taNmJzL1VWVDArajRKYm5GcHk1aHVjU1VNR0JjK0lVaWJCR2NmTGVucmpZOWp4TjNiRUsvOXFYaktiNkd1VGZnVXI0UE4zK2J3VC8yNDFWTGpEVVRNUUJRWkRLTjlJKzI2WnpjQ2JRbVFKWnA1SnUxRUhtT1JhS3l1K0ZGL2JGMWVSUmxLUzhKc0hhdlNvWGNvL1FBcWRJTGdCS0gzYXRLSW8xWHNqTjRLR1FZN2RvU3NmQU1KMHdHSGxFeFpSU1pieVZJdjZINWIxbWE0UW5ocXNNSU1jZVlPZXRTd2Q4L3BKUWpsRng3MmtTRyt4QXE4a2tjN3dPWlpqb0gwVlIzNGJ4STdLeXAwSjdsSlRNSkpCN1ZWSTlEWFA3cUhXQjV5SHo2b0szd0E0WkZXYUx4L1F2Qm42UmIrQ0VQaEkyWjlOQlBZNDFFODNhMW1XM2R0dnYxeHlndUE5Mldaa2JkUE9OeVR2bHJZUWFXcU9MaWpHWFVZVHdrUnpGaHhFdWQ5Z1dXVjhFQzhoOFYwcWZnWTcrUjM4a0Z6Mk02V2VlMHUyUW9uOU9Id21BTCs5b2hlYVVZRVpZZ1dyUTNsV0hOc1ErU2Y1MS9hOUNnUFZWb013SEhoZXhwVEw5RWxTQjNEVVgzREJVT2hQMDZKUFVmVFlENXQ4WktHMm1lV2lDa1cyRnBJaWN5UmJOZFhpYThRUmRRYUxvbnlQWDhUYlZSRTA2dTJsdG1sSEQyR1FBZ2NvUDV4TGpwa1c3OEk5WEIyVnkwbXNXbWFLTWpnOGNaVFJGbmF0bFp2TVk0bzJrSUhkbWQ2c0l4SWN5ZGFKRmVQYSt1QUVXRmJSUlo5ek9qUXhVTFRrMU9admlkZVV2VVlHWVozVHA3WjdQNlY2S2tvT1RDbHZvb0Y5TGoxenUiLCJtYWMiOiIyOTc4ZjJhODQxZGMzYzlhOThjOTAzMGEyMWU2YmMxN2Y0NjdkOTA0M2JkZmQ5YjRiNDZiNjc3NjAxMjM3M2JhIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(20, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-39YGOFKZOI', 'jnt', 'ez', 'J&T', 'EZ', 'ez', 9000, 'IDR', '2 - 3 days', '2 - 3 days', 'expired', 'eyJpdiI6Ik9XZnJaeXlJREFIRy9yU0szK3hhcVE9PSIsInZhbHVlIjoibDZzRFZKNktLWFZacUFRU2lQR2pMQUVQZUdkTHpDc3NrUFJ3TlJldkJYd3l1Y2tGY3ZSUGNQbHpWS1lVSjNiRk9GdWxwY1pTdXk2NWhQazFuSUt2cDY5REdHYVVKaVRvMEZNVmt6dy9iNjU1b3VZRW1lZytqQndZOWR3cDgrOE9wb0hOTW44RkFrWTRHOHp6V0IwbTNSM2tYazdmYlpwdjVBeU5tNmdON3BLN1pqWW9QamJydHJ1UmtWVVhJcFpIandYeDhSTTREazQrT0xpVDQ4eWVUemI5WmdhNDVTV2NCRlNoSDhVUlQ4emQ5TGVFbWdOb1dLMDIxUDQ4ZUR0YXdsK0Z3cUFIeHh4NUJXTno0MFB0bDB0dWhVdVovajI2NExYWThnbkJJRkNlMzN0MnhrMTVRMzRjaGM3b0Q3b1prSHNkZ0JTazBqdE5aZVRUaUJrcXpLQlVadkdKNU9VUi9aUThJSm1uM0ZZSWpkdG54ajhJdWFzMFlGMG5RWkt4WTgvUUFMME5lRkd6TkY0dWErSStHWTZWcTF1Q1Jma1hObXVjL2RlaHpUMGxYQTk3ODJqNFRlQXRGZDZ6cEx3M05SZzVaYVUzMWh5dXFLZzM3Y2h4VldPaHBpV0ovRnJnWVRYTTRWVHg1NHNaUnQ2ZTN2ZVVzU1NxTTJnV3Rhc21scGxKbGtJU05TTkhrTWhQSzl3YWRZMEN4U2xTUVhScDFGRXdqNmxEQnVCYkpiNThRMGFhSTJNUDJ3SVIrUmc3WkRzcnRLL2RjYU44LzdhZ3htQ0kreEFQV3EvNy9GYUg0d2ZwUEk5UEh2dXBLM1NMYlFxVkJZMElOaG1NM3FROG1xV25iRElFL0NRL1JoU0VXU0RDbHVNUW9sMFNYV0JuUWFQdGRFNmovRGliNDhWN2NHUGlqM3BXdmVrb2FzWUEvaXlISnBTQVVmNWFRZldLOEZwNnJoMisxQ1B2cHh4ZTVvVUFYM2pTYUhDbC9nWWs2UFhFdlN4SG01NkFueDVtdlhVeEJBeFJhUHZ3a0F3U2xEa3F1NXJqemFLeGJtakUvMU4vZzJSVjBQR3ExQjE3WEZ3L3N0Wit4bnBMQzhSUHlyWnBXanl3OHMweVU1WnRHYlZ2SjJVYURxbHA1NCtZVWpHUFZCbVZHS3c9IiwibWFjIjoiMzlkZjMxYTU1NzZmMzVlZjMxYTdjNTEyZmZmMjkyMjA4ODI2NjA1MGYxYTE0ODM2OWQ2MTlhNTQwNjkwMzAyNSIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(21, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-G4XKCKPOVS', 'jne', 'reg', 'JNE', 'Reguler', 'reg', 10000, 'IDR', '1 - 2 days', '1 - 2 days', 'expired', 'eyJpdiI6IjhEZW8vNmJ1ODJXeDF1ZnlpMXUyNkE9PSIsInZhbHVlIjoieG5KeHM3azJGVTdhb0kxSWdORUlOeGVDSmxJbUZGS0hObTIrcnRTcy9jd1NoSHhhOGV5RW5id2RaUFYvMGNnQ2pqZUppdUR3RmRFRVdNZ252TFppMlkzUGhlY21OUWNoRHNiWWhScGJRQnZzT2hPdUxEY2N2eDlMOS9CaklRUnNtNzVGV2Q5eE9tVjFwUzhGQnYxQzZOa0hSUlRvR0lUN0QwbWF3UEFvWjFSMW9EV0haVFlhUldwd01uUTY3WHoyK012NGp0QVBlaXpJSTQ3SWJwaUlFdkRWQWEzZnJ5N1lmMkh2dTBIMDFKeGUyTzY1NjhaNlN0cThrUHE4dGc3dDNISS9qS0d6SE1zejA4YWhNS2QrSDhEd202YndwaExZZWFTM01TdzdXd2pEcDY1ZlRCNDBpdmNKUGhqZm9EWHBhWUM5Z1pHRkFYb1U4cmtYZDZRUU5taVFxKzdEcnpJODloUG5TQTArdGV2WmxWU0hVenlJcGk1emFmaDFxMmZZdFprdTB3dEpSYzdFNkRnWklFcTVpV1lXWnRiYVc0UmM1TXhPWjFORkNOMmp6K1pMRUpnR1c2aC9hUkIvcUpFN3UrbEZIRHJFUDVIS1l2WFBqN0dPM0NKUzMyQUtvbTEyUzZ6djNSeUFlNmp4Q0l6SmZmVkNnTW1rNHNSYitORjBlL2s3NUVKWkcwcXQ0b0ozdVM2TnUwa3gxNWRUUXpRYi9BbkZTZVQrWVZVS0RRdDUxU0dLSFNzWks1T3BlSkR3OVdVK2t0S0VFR1hjQVNvN3l5Mm4zajdpNDlnMDltOW5neDMrWWlzN2dhNkRXS2R2d2R4cGM1eHowRmRZcm5ZU3ZkdmtvU094RFFsSURXaURQdzZOMnhCWUdMakNhc2RHOU1HdnhQazd4akJZVjIxTlRzcHM2cWdLOTNQZExWZ00zYmoxZFJUYnFUYTBPaG1KZ1pVZ1VBNG1xbWpjMTUyK3NteWVtUktQT3d2aTF4aHdhcUNGNDZXbC9xb2xTVHVLcnJPYWhENW1NRGU0aDFKQXV5bkpWWmNETy9kVnhYQXJ3dzd5QW1mNE5yL2NOTEREc3Y4RytzeHYzMG5CZ3NBSHIzc2JaQUIwVzBMTHNudGN0QmU2Zlk1SlQ5QmhaN1pOcEd0MXU4eld2alB6NC9QcWowelJnNFJuWW1PbzJkSy8iLCJtYWMiOiIyNzc1MjRhY2JkZGNlYjJjMDM5NzgyODE1OWE0OTY3MTJiNDM4YmNhYWNhN2RlZjY4NjUyOTdkNjliY2U2MTk1IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(22, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-5YIQMOYPQG', 'sicepat', 'best', 'SiCepat', 'Besok Sampai Tujuan', 'best', 14000, 'IDR', '1 days', '1 days', 'expired', 'eyJpdiI6Im9aamxhRm5PdHE4a21KdHg1Yklncmc9PSIsInZhbHVlIjoiWWZxWHRZV2hTQTNxZE9kMEpDbVZja0M2QmlUekVYaHlLdm1TYUluVnJVYVViMElXdE5nbGxtRXg1TEVjTVczckx3eFhQMGJQRll0cTE0SXBQOEhIVVZCQWNLT1h0cnIyRW8vT2N5WGxVem9mVVdlbHVaK1diekp5S3VHN1QxbjBuUllmc2RLK2Y5bUpGdTNNUVVpTVQwY2VBcThaTzZsdFM4ZVo1MHZZbGpuYnZYK29lM3hlS2VYc0h5R1FxMW0zRE44eWhkYXYyQ1pxc1Rnb1l4cmg4OU1hdVdRVGtIcmg5MmdyaVpMYWRiTUZBN1RsNzdnR2U4MFYzaStxamxTN29xTnpaRGN6WWQrWGxEVXZhcS81M2llMURsQTZhVm5BdWUyS0RmNm9HWWsydE0wd0ZzempkM25nbjFiU0dnN0pZK05WcDgzSU1mSmpPb3VqMTRKS3hUb2dvclRPWHIwM3JoYkU3anU0OEVpM2FRcDgyeFhhM2ZPL2Z0aEY1N3RuQ2JVZ3pYOFNkY0pJcGlDQXFKc3U5ekl5VlB4TTJSK1pFYmMrdWk1SEQrOTlVR0hqQXR0eVRjYVpXRXY5OFdhYVgvNnBmNFNvbWRzNVRSaTZtVUpDa3hVT3E4WnQ0WW1Gbi84Q1k4ZW15OU01VGYwK3g4YkNRWmhIYSsxQURCNDE0V3VOM25VaFU0SjFOZTNNMEoyYTdxRUxuRGY2RTM4TGd3dTJiTWJXYjM1SHZFcmcvcEpLQVNobHF4TlZuNjZ6RXRSNHJsQVIxanpnSnNaL1dIVm1US3lZTmVxTVcwcDMwanRDYW8xbS91RUk2UUgxRFJZdTJKY2s1N0VNUnlsM2gxUlh5UXJ2V2ppODVBV1VPaW03VnAxenIyTmtraFAzWlVWOEdYbmZ2Ui92Q0IzZnhQRExHWmpkZjR3MkpMTGVyVE9yck5TOEFWOGRIN0FWL016NnRsVTcxdFUwN3NISTVHKzJaelVhSVBmL2JpaWx6MHRTZnh1Mk1IR2U3UzEwMWF1Znp1ajQ3WnpwS05wMkxlbDFvblpsSi8ySUxwd1JxRENFbnJ1ZWV0ZEJiSGNpYzhPOXAzUlFoNHpXY3dJcXpTZmUzUHlHSlNYaytOSEc0ME44YkxqMUFGQS8yaXpuSDJTTzJkZ25FQllFcVpnVStRZkdDTURobS8yUml4Z0s3aGZYRFU2YjZic1BqaWRxSHVOWW9nPT0iLCJtYWMiOiI2Y2M1ZjRiYzQ4NzkwMDJhY2YwNTVhY2UwNzU4M2ZjNjZkMDI1MTg3NTMwZDY3YzNkMTQ5NGNjYWI5ZGYwNTJhIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(23, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-YANVCXPW7Q', 'jne', 'yes', 'JNE', 'Yakin Esok Sampai (YES)', 'yes', 18000, 'IDR', '1 - 1 days', '1 - 1 days', 'expired', 'eyJpdiI6IkxpM2c4TGl1ZDJjTFZUY21jdTFscWc9PSIsInZhbHVlIjoiVzNGT3lDWDJqSVB4cHplNHRxcEljLzBQcHliVVB2WkhjVkVCMlZBb1pJOEp6aVFHK3BGME44ckF3Q0dadWlKYnBtV1hNdnlJTFc0Zmo2MmRVNjJMYVV6dkR5OEowUmVYTGRoR1ZKdFNUMHN6Q0doVU8yNmJ0OHJrNEcrZU9ZVzBmNkRUNUsyNDZZRHZxQWJ6OUpJVmxsWUtkby9VNDFuM05wOWNlQmYyc3E3VFhCSGRSUDZVUU0vVnZBUStiRkVJYXovZXB5SzJ0YkVySXBMcDVjdm1qejZGS2N2M3pxQkhrWVV5OEEwS2N4QklxVjdQRlVmVWc3T1djb2FCaUhJOVpqa2g5N3Y4TDlHVng3TWNKRVZhS2Faa1lZNTdNMStqaUVHdUFrZjdUVUZxaEZNM2dOV05renJoWEZEN1VSWFlzUlZHd0NNZ3Q3OW1EQ0ZkUTQ2R3VhN3V0NEFPVzVmK2hrdHR0dTBGWW4yaGxrQk1MMjNoK3NNQVFmSXVxWWtlTmVtZVNzSHBsN2FjK0wvRjhlOFdEbkZrTWZqbU1ndzc5MDZlMnp6WlNyblJ1TGt0UndROEJCWWFuclJQSXViMXpOcDVNdWlSWEcxbVpJUFQ4RGlWYlRpcytLUjFFRHp1MitRZ3ZSa2liajRxdWEvaSs1TmgrV2dVTUNsdXBYYno3cDlNa05aNEZkVVd2TXlSL2xoWnh4RUo0Tit4S2hNb1J6OHh0WmVHSWk0bURzRWo5T3U2ekhWbDdaYmozMTdhMFZmbWo4bGkrYVNYbEltYzFKN0VGbFdnbVZsZ1JGaU5JOVZvRWNnSzZXUzIwWDU3UElOQW1IRExhemVZb1BxbXJ2b1BDOFZrL2tNcGk4NlNlVWNIZWNXRHl1bWI0a0Z4K1VzUEh6VFlzZEFSTU1JS3JVdHZFZFMyY2laZHhLek5FdzdZcDBYNUVjalFkenlhR2ZGWi9FbmwvOVc5MXlld1pORjJPNmtMazhBQkJibnVPeXRBRG45MXJUVEdxVzUzQ3NnYUErNUYrN3FhQ0pxQnhpQ2twNHlZWklsL3NvVjgvWk16NDFpbkpOcVY1RlRMVW5BNVN1Z2o3Rkt5cnhxVEJHT1pvalJYT3BTdU9EWXlMUVRqd0dBMGo1SkdCRFBGaW9pTDBGb1NDT0R1ck14ZHZMZkhzeHFuY2tlL0NTQlVjWkdaZXYxcjhDVTF5NElxc205TmJBPT0iLCJtYWMiOiJlNWQzOGMzYmQ1ZTdiMDdmY2JiNzk2NzI3NzdiMGJiMzdjMDcwZjRiZGVkNGRjNWZmYTExMTMxNDNmNWU5YTE5IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(24, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-86VMGXPLXY', 'grab', 'same_day', 'Grab', 'Same Day', 'same_day', 31000, 'IDR', '4 - 8 hours', '4 - 8 Hours', 'expired', 'eyJpdiI6IkpjYzEyRVl5ZEJVZUp1UlhFVFVmb0E9PSIsInZhbHVlIjoibDJxcU1QbXYxM1VjYXdxRU5qQThobjZpNnBmY3Z6V2tFeFRvOEVRZ1JJK3cxb0g4TzNRL3BZSjJXWHBiNEx5dDFhcWJleXlPUzNFbmorRGpnNVp4T0ROa3B4emF4WWFhbkw0UlkwNVJqRzgydGlKeVJMbnpQZHNJVlRWYVRMd3pNM0ZOTWJIQy9mbC9pTHh6Z3dlcjYyZk50aTU0Vm5EVGhjL0R0bVJWV2NvQVNCamZzTElFVEFBSHgxaHdrb0dZcHh5elpjNVlDcXg5U1ovTjc4TjA0YXhDNVJGTWNsRzgvci9TQ203RXlnOGJ1VU1IdU1zNHNpanA1Ni9KVG9SeFRua2NHK2JJazE2YUZmMGJOSlFiZEFoQ0w1VHRxNTcwUVdQNkJNa0V0NE1qZ3I5V21KNlpVa0dkMW5zNnA4U2dnTW16blVqZWFiV3ByajlzeUttUlJwZkR0RWZRZmFTTUMrMUtXOGZrNzdIbENOUHZVeE5DTFZwb0oybHZRQXFDZVd4U1dQekRGckYzaDdEMXFqcGpWOW5KZStqa3NaWm5hNW41cHFidnFjajJGZHpXTlQydkhFMnlTWEc2Tk82SkhkZHhGYUZZbjNqTnYyWXhyMURGVEJvMWd4bVdCNjJoWVFLckRqT2VNNjBvaXh4aE5FU1JKeWRRUFpLcmx2eUdsM3BGUDhtRjFuVGNzMTlQT2V2TTVwQ3FhZnJOMHFnTlZIdG1sam1PWVpvb000UUZWMHdiampzUE5xRU5DTW1WcThIQjdWSEYzRW9kSGJPSktWT2U5V29tamxpYnZiWGJkbloxV3p1RkNSZjUxYU5BcHFhYW9vQUJna241cC9DWDVoUW5kSDNYRmtYcjUyQ0J0TklrS2J6T1czM1NUTmhXWWgrTzRtQlN3UTFDSFVaczY5MmdhY0NZcEFXaWRRSEFWZ1R0MXB2VnpNajNsTnJOeFI2TC9PMENsTC9RcnYxQjNRMDNVVmh1dnRibWl6ZXRaMTZkQUpqeVFndER2OUpoODlEVjc1RXVzTjhxRkxnemt4TlhLVnZqNnBMdGF1enMyaFpjaUZNS1Rkdy9DakNtK0cwZ2J3ZDJFeDd3MWZyTEpGVDZHVlVvZldCNmVjSzRYRkNPWmZ2Y0E4WDNEZGVraDJTMTlST3VMaHA4VENIK2oxVFdVZlFCZ01KUDh3bHJwTFl0cm13U1dRcm9Wc2ZjQlY5RDdBWWI1blF3YlZ5ZHJHQ0FYVDJvL2JqRGVNbEdqVitjWjlkWUI1Wk91N1NxIiwibWFjIjoiZTI3OTQxMjQyNGVjNzA2N2JiYjgyMTBiYzY1NGY5NDUwMmVjZTg1ZTEyNjhmYjRhMzIxYzQwZDc0Zjk0OGRjMyIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(25, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-2EKNFEJSON', 'jne', 'jtr', 'JNE', 'JNE Trucking', 'jtr', 40000, 'IDR', '3 - 4 days', '3 - 4 days', 'expired', 'eyJpdiI6ImlTQlpTRnFUOGJoTmxDU0xmS1hMOEE9PSIsInZhbHVlIjoiZW0xeTVrbXZqVURoNW5SYWZKcHRnMEtFaXBMa1RFZW5PcGJCbjRrK0RjckxZZkNEc3RPeTRzZkpqb2RPbWphL3doUTBiZ2V3RDcrWXJOUUtubS8wZDJaM1laMXBWc1NXZHJTRDZZM1NzU044c1NYTnVrOU9YWEU0cVkzYlFlRHJhUlFZRFFtK1lMYm40S1NhT0VxdjVTR25sL2p1VVBSRERSRmVRejkyODdHTWo1VUNlZmNOdDFvVk9TYVBnVG1UMCtnZFF4b1JmK1F1NmE1SWdnTEhLOGJWMEcvblZsNElFUGk3WGUvTjc3V2JDM1V4bFE5RnNFZXNBYUw3K2U3TEVCWHJJNVgxRENOZGpxVDVJODlXbHVPQTdWQWUxNXdlWllITkYvVzhHRjV4bTVDNy84Y29rT0JESjF5YzNUK0txQjRKaHFXR3FybXN3Zi9DOTBFVUgyNXRBY2FaRFZSd1JyK1h4Vy95ZG5VQWpycTQvdlVGaWJRQVNwc1cvUWZQVFRueG5icW03Wm5UcWlmQW1aVzRlL3RMS1pWaGE3V2VackpZNEgwODFUQk9CRFd6aStCT0EyeW42NURuWE1ZdFFLR3VzdWFaejRxdUQwMHJuUDdUQ2VMMjRvR292Tk9TMis1TUEzNDRKMDBiTGttTVh6QlFPT2xvZ0Q0dmM1Q2FYUWhjV3RyNHJFR2cwTWFmTm5rd2lWZmNDYk1EOHhBeTU1eTBJclEzWVBadFUxd0lZUU5teUpIcFhyZkhMTytsbHkxNmxlMEJncjBvZU1qYU9Jb0E4NUxXM1JZMFd2QmQ2N3RaSngzT1F0dXlnK3AwNkZhbHQxeUtWNFRyNEdUQm5OVFVmY05xcHNzUHBSTXFoT3NJUEQ0M1VTWjJFRVJHQVdCbXEyWWJESlRRUHdjRFJFdzNxcEF5SWhUbTJZZERheVh5NGZiRFNhNGFyRTJtbkxLWkMwcE5oYjdZVjRIaWlVbDV0dHJnTFBINndlRHhhM0RMSGY2VFpMZG52RDlDR2VDU0o3Q1U2dVZPK25mUGFZdytIOExJTU5jMEpya3UrYTBydG9TN3l3YndqNXJLWlZ6QmFyUDlmMXl6RGpsNUlTSGpPaUVGVktabTJrNDA1Y1JKZXZJdGFiSjRlMEY0RmFHa1JSKzh4TW53L2t1c2JDZVJVZGt0ZjFDZXE1dncyanJXRTlvZ1RzYytsKy9xeHQ1T0xkSThWTWt2RWxERHM3dFAydDI0Rk5jPSIsIm1hYyI6IjI0N2E5ODIyMjRkMGQwZjlmMzI3OTg1YmQ1NWExY2NhYWIwMjYxOWU3ZGQ3ZmIyMzVmMDFlMWFlZWUyZmJlMmUiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(26, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-2PFZGM18BE', 'gojek', 'same_day', 'Gojek', 'Same Day', 'same_day', 41500, 'IDR', '6 - 8 hours', '6 - 8 Hours', 'expired', 'eyJpdiI6ImlyTjVOTUFJaG4rdmFJQkwycmM2R2c9PSIsInZhbHVlIjoiTm16YWloZHhBZ2NMaXB1T1lHZ0pLQWd0SFBYVlMzNmxybDJMSnVZeTMvVTAwUXMvQ1JBMTRpWFlwZmkraU1jMlp0MVNpMG1hUzcxVlgwMng5ZkxQWGlodUVTbmk1L2ZVR0U0cTRad0p2VEVqMWhNOHhud3Yzd1RjaUtBQkdQLytwcGczVDFNbUFpYkNHZ04xQm1VUFAyV0ljMllRVHZQTGJYNXJDa2IzYldIc2JFOWoxbW1JSGVJVEFnZ0p5Q3R5M1NnYlpTbS9GeWZSWWQyNW50b1NHV00wTDlnZ0FMZmNPQzRNWWNTM2dlMC85UjVuRDh0MFp1S1JuMlU3NHQxclhhL01ZSVpzRXNuNUFKQmI2WmNEdEpER3k4bkU2WlJxTjUzbUFiVEdFcmhWRnNPUVpyV21KZXVjYTNEd3daUFN3cTJmbklzREVIUnpxT0NBSkxxOFpZOWc4V2tQU2RIOTZiQW8ya0VBWC9nTUFPRnJ6NUpMazIxdytOT0lYTGVjdStqeFF1dzc5d0hrTWpSREZhQTVRT1RXRURNL2E2Qmc4bmRscWszbG5KVGNkMmhhUWkzR0QzTlVjYUdJd1RnY1FFZCsxZ3JxSG1SMEJGR3lPWGJqSkxLUUlkcnJxV1oyR1d2SExGV2pxeXlBMVlKRWhPVjE4QnF0c0pzZTVPQ3FGdGtRdjJqM1h3dUNTZlVvSTFqaTFjNDg0bDIzY1NLQmZtZjZXTldGdyt2RWQvRTgxc1ZxeDRoSkZ5bmNpdWlxMERLRThsR0NBRzBEZmtDaXM3L1Bvb29VOFRSTkhDMEg2Y0hISFFNNmJ0MmlPZXpNaFd6bFBIK3NtTXkzbllMbUV5b3pSdUJ5Z0xHZHBBTkg2eXJCTFYxWTlaY3pKd2JHZ2dBZTA1YnZnT2dFWkV2VFJaM3JlVlpHM2kzd1QrV2pYOFBWY0NrcGJiVGNLOFV3ZmwxVDdwRTEyQWVDTC9kNndRcEhSS0dDOXFHZGlBL2g3bFduWnZDTzJqcUJsNnBpTm0yQW01YkpnRXFMU1JKdXJUbmZ6U2trRXpWcUNZTWdZSnZjYUR1akl6K2ZKN2dNenl4QWxKemk1NzNWaGsvZUxKeExWUDZzeDhLcm1VNVlHVXdjQ0lsZ1BkQzk3dDBkTzEwSFhvQXNFUU1MMjRnQnFZZFVrdjBMQkVXNmNhSDJvQjB6TGpIZW1PUFd6dzQxNmRuSjVYcnJNL29aNmdYTTNFcUhETEwxOXZpZFU4U2F0NXZVL3JmMUNncVdBcWNCIiwibWFjIjoiZjE5MGIzNDkwNzFkZTQ1NTQ1MmY0NDZiZTNjMjIwOTZiYmU0YWUwYjMyZmUyYWI0MDQ2YjBkN2QwZDQzY2U1OCIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(27, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-ITOVA2W58E', 'gojek', 'instant', 'Gojek', 'Instant', 'instant', 75000, 'IDR', '1 - 2 hours', '1 - 2 Hours', 'expired', 'eyJpdiI6InRwTXUzVXcxcWh1MFhMelVCQ25oOGc9PSIsInZhbHVlIjoidzBPNFEzM2NpSlVvOVd4TTB3bFFzanlrRndMV1U3VXpsdFRXV05jeXRqUXh0QjFhaWdvY3ZJak9YbXNwMjJFWllvUCtodnVQaHM5dzQ3NkY5SXhyNmtOYmdlZmxKa1FEQmYycC8wdEdrZm1wQm5odmhkMjF3eSt3dzEzVWFkd2RZQzhXRmsya3ZPTkkzcS9CNWowRTlQdWh6Rm51cWdybmNaUXlsRXh4SjJsNzA1SGhVellZdGhUYWNhY0NqaUdHUVFoUzd6NEpTS0NRZ1BkeWEvaHAzeitMMHZQY0krOHU2dytkeEpJUFZkT0oxN01BZWhBZDBlR2MyRlA2a3d5ei9YRjFZSWZVRWIrcFNtT2lxLzZaUGl6bEZ4TmJPMVJOU0ZFOUJ0MXU2L3hURmlkUzR2NjdCR0szZFZ6Um1QNjdZanRZZVNuc0k5YXRJTlNVakdlc0RzRTdmRFdveWxYYUE4eXVManBKckYxeFAxQUlwSDloeHkvaWIzSlQ2V1l2MEJXdWFtWmFBTmhZeDVxb3QxU2I3NitJRjdWUVJqYmNDenNnZ1ltNEhPUkpjbXMwQ2tjOWFkOHBlK0Q4cldJOFp4ZlFURWVaNW9sN1BMWHNkMTB1MTY5ZzB0LzZURGxXdWZzcEFUTlMzN2hucUR0ckJJL3BKRUlsZFFndUgrSWlac09XYW1GRHErMnF5a0JEekcrRXNDUGU0c3JXYnNOVlc0VFNUNXhFcVpETXlBZTdlNWI0RnJ3Q3dqV1U2K0RIZWNSRmo3VGlxNmxRRHBXQUxYOHNpMHBhS2JWcm44SFNvazhlVEh4cWo0U3V3SXRVNUNuZk9ZZk50VytBWjRtUFhtaTJ3VUtJbnEzbVBtV3VoY2JIZHNLdmhjZGlQT2pQd1hxQTdNV3lIeGE2UUF4NW1kcnFKTmE2dXhib3E0alV2MTREM2E3b09zTFVEM3J6VjZLNkx1L1o2VFd5NWFQWW43akY2NXF6UjBYcFBYcWFSbUhORHBzUlU3SlFsSm1PU0g0QyttZmVxaE1aMmUvaEhuaS9uU3FUVkdPaGFXSHF0R0MwUVU2MUVzSFZlNUlMVUhWYS9NUEZneThTa3JkQy9XZ045aUI1RDZ6STVkN2RndmJCdEtUaktYZGVNNWhuWGhEY3pSekt1cGpndythZHlUNlU1VnhYZ0NIcDlOR1VzbmUyNTZMK1R1WUo5SVVRaWxFa3QzRzJKN2lWRm0yS1JDWEQwOTVoYThvPSIsIm1hYyI6IjRhNzVmMzk4M2ZiNDY5MzkwYTNkN2JmYzQ2Y2Q3YzYxMzI1OWIwOGE1NDRlNTNjZDFjOGQ1NTEzZDRhM2RhY2IiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36');
INSERT INTO `shipping_quotes` (`id`, `user_id`, `tenant_id`, `outlet_id`, `customer_address_id`, `platform_order_id`, `seller_order_id`, `provider`, `reference`, `courier_company`, `courier_type`, `courier_name`, `service_name`, `service_type`, `price`, `currency`, `eta`, `duration`, `status`, `provider_payload`, `selection_strategy_version`, `candidate_count`, `selection_reason`, `quoted_at`, `expires_at`, `revalidated_at`, `created_at`, `updated_at`) VALUES
(28, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-72S6WNCI0A', 'grab', 'instant', 'Grab', 'Instant', 'instant', 78000, 'IDR', '1 - 3 hours', '1 - 3 Hours', 'expired', 'eyJpdiI6IjNzdWxSSnViRlMxUElzWWFsSGlERVE9PSIsInZhbHVlIjoiUWRubSs5YXBIUDhCNXJQTGNjY2hNbHQ3NjRWNmJ0ZmRsT3RqRkEzOWtHRVFBTmNKcEpMd2lST2o2Rk1MaFA3RDFKbjdXNVpNOTkwd3M3TmZHTXc4dDZ2V0xrVmlDV1hBQTFWSkxkV0lTaDhoWms4bVdwQ3hralRaUW42bGZodURNYmFETEMvdUFDbVArdGlNMWdPVjNPcDU1TEQ3czJwUDFMWm50SkNmeXlhKzY5Z1I3dUNLSGQrWE80ZXR6K0FjZllqUE1teTlFcXpaL1d6eUdKWUtiSWp0NXZObVdlVk9rVDh4WXFQcTl3SWNLbGh6WUFOV2xnY3BlSlBDRzNwN0pLMDQ1R2JtSjFGSVljUkZiNS9zclQ1WVkxUUg3ek41OHJYZXArWWZ5bHlXb1V4M3doWk9oUktSa2VBaEVVbjl4UVlxYmZwU3RyTUNUQUNJeXhaam9MdlE2R3NRc1ZMdHNoOERNL054bW1kOUppSkpWSnJ1TEFPcnlLeFpFdjN2eGYrZitYcnZYbTBjaWFodlhlcllDNXJ5RWhHQ2F3RHRURG9wSjhhZjhMQ1RPS0Q5Y25KQVc1ajVpbXBrZitGUlhXTEUyVlVDZ1hwZ2ljT3FrSzhPTWl6dFo3NzExdWVKSEI3UnVEdkgvc1pzZ244K29BRDVFV01pZEVSZ1pVcGxocjlHcEhDVFNjTFMvUFBCT1JuSG9SdXpJQ0I4WndPRXNuci83c1d5TGZNVmUrNjBjdkV3MFpVVktWT2RTVmEwUDFSTEYyNUI5RUZPanpVUG9DOTRvMHpteG5VQ1lCZmZycDliMlNLVkdCUHN3NjkyeGlTQy91WTRJbTgreU5taFgrc0p4VS9tN0lIRXp1dUpMeUFiaVN6NHRsVU1RdGdxQXlzczlETkliWjRtT3p6YytTUzVCaERpZFlXU1pSenFncFV6dFhobHF5Q2MrYkxEVU0vamVVajYwWHlmeHhmRGMwQ3BtYUFMTndDd3VydlpSWUZnbFlKNTFjM0Y2ZnVWQUxNdXZWaVNMQVVseEFPU3lvUkZaSGtZT29VaE9tSnRVanJyRVV0NGYxM3ZiZnNyM0FxeURnYmdGbUdCaEE4RVJxb2Z0d1B5OFQ0bWw0ZjZDakhoaHpLVWJwbXZyUzI3Nm93c0wrSlBhV3hYVUtjVXh0c2JHam5oMXVKd1lsZ1pybGVsV3AwMXdpRHpQcDQvOWEvK0NNQ05SRENpZWhseDdUak80eW9LOXhRPSIsIm1hYyI6IjYxYzY2NjY4ZDI0MGZkM2FjZDA0MzhkMTcyMjAxMmVmMDdkZGFiNDJmOWJkY2JiY2ZkOTA2ZjAyMjczOGY1NWQiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(29, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-8X8MYVSIN0', 'grab', 'instant_car', 'Grab', 'Instant Car', 'instant_car', 199000, 'IDR', '1 - 3 hours', '1 - 3 Hours', 'expired', 'eyJpdiI6Img4S1BweC9nZEVrSzlQTVBxeE9yeWc9PSIsInZhbHVlIjoib0F3NGdtbDJqblRVWGtDVU9teWl2RlNkcXBqSEJ2RUlTNVgwOWpEMUNwN2ZQYTJBNVZWRFM3Z2x4Q0JRR0RjNHNTV3F1d3dvOHVzNDZMaDZBTTVjV3pRTUw0M0E3WERkNnhZa2ZNUm5rUnovMTl6b2pDSng1OC9rY2tOQ2hTRlRocWJuK2dTVUxvTmQ5SmtJN0lUclBXR0x1SHFkUW8vb2RRVXZ3VDk3RTkwRTA2VjdqSjFEOWJkZWxuOGEzK3dFcDRCTTJjVlZtS1RlNGRackd6N3I4VmtObDBMMEx4ODhvcDVSZ3BBZXNKNDk4RGlpZWQyNlc4WVVydmswbHNidVVaK1dkM3lhUDUrVHd3SWlXUzlyNUUzN2tUaHRQdngyclUra0xDR2d3VkpIK0pQc1BqNEhOTEdwT1B2M0tkUGhQOVMvNGZsSm1zblU3VGNITTFQSWpyM1JwL2o2WkNBN3FWSGNMVk02Uk9xT3d4a1NzZXNZL05PcG9WYlgvTmFQUUpmQmVsVGdkZFhORi9hcFBCR0s0UGZ5QnpWRlZBNW1QakFYbm5wRStUV2k2czFiY2NQa3p6SkpJK3V1VTNsYjl3VFFiKzQ0ZTQ5UFRxaFlEMXNlNWhjVlJKckFsWGYvbHE1UTBoeVFLRDBlbGRLVzFhNWJ4WDByNk9zL0RhK280SURMcGVZYU50a2J6dUI0c3lpTUZVbUJIL2plNjFtK05QSlQ4bEQ1OWsycUpHTFpkWEVqdHl2VnVvdm5xQmlLazRvbU9ldVE5d0JQblZLc2EyVzJ5a0NVdzdIUFVJZksvbTFhbk1QSjduTUVTU0lqWG9CYWltcmhMNk9YbFA2NWdxM1UxNjF2WEFPbXM5NG9uc3IrTk0yUnNpMUx4VjNpbDNBNnhYbWQ5K1VZUEY4NGVSSVNRSFVwbk0vRkFpTVdHR2dScGFRTFRVU2xWNDZUWWhnL2NRZ0xJUlNrNWRyeGlPODJuSHMycmxUVFlmbHdYVE1LWmthaEdON2FIVmZ6RjlKcysyV1hkR1pwbzczSzdhWkl0MmJaUnZOeWFlZndrem1jZThWRTZwTVBEMi96SnF3aXVSVnBadDB2UlhhMGY4Qis0NDBnN09xQlh5K04xNmpYTWh1U3VScDhHZndoblNWUTRCRmd6WUxHRGU1VVk5aVFlQmREYXpua0FoTS9FK2hwZ1F5bzNJRGZ5TG5oWmQ1MFJxQVhQRHZXTjFrSy9mYU5iR3krZ1VrPSIsIm1hYyI6IjczZDdmMmRjNDdjYTA5YzYxYTRjZmU3YzRlNWI4MmYxYTA4NzZhNDc0YTRhMTk3YzVmZjJjYzE5MjBkODc0MjAiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 05:19:54', '2026-09-06 05:34:54', NULL, '2026-09-06 05:19:55', '2026-09-06 08:03:36'),
(30, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-JVWTCBYP6I', 'sicepat', 'reg', 'SiCepat', 'Reguler', 'reg', 9000, 'IDR', '1 - 2 days', '1 - 2 days', 'quoted', 'eyJpdiI6IldmUmszZFhMOW5KZVJYQWplQk5wK3c9PSIsInZhbHVlIjoiSjhHY3p4bDdidG5BMlhZRG1UaFVMcThRMExocW9qN2M2dDlsNlhYM3JYbTIrckM2a3FBSVVqZnU1OHlkaGo2UnVQNnRibUV3enUwdnNqUEFlTy9LZ2x4dG4xeWljRHBBL2l3Y1FyL3V6VDdnaUhneWZ1QjR6UWhXK3VUanpnWDVIZTBtNGxiZFRLQzlPS1Y3bFJ6bmVZaXJaekxRTHdSc2owQ3ZSNjRuQVJTQzl0WmlhcXBNZkVNb04wMlo0M0pqWHFrd3pwcTk0Y3E3MnFodnNITEVPMkZhT25rZ1VMMWZkRURXMWloTWdpenRaK2JWZXAwbkVMeUpUUDdDakRLZHIrV2VyQWtqek1Wc0xBM2RML3Z2MlVwekVHSzIzeGNCMktmVGZOampaYlZlQUgrdkhJQ0dFeVFQclFDWklyMGcwUTh6QjZzMDhqRlRaSEt1WjJMYUFZUVNHanoyOHp2bTdOMTFzb3p3djN1TzQxcUJ5S0Y1VGErdnRTZEdMalQvemVRcFpRVVUyZ3htZmUySE1WeXBTdGwvNHBwSXRIRUpmU3NxVVBGT3RWeEJ3aExOdUw0VlduQXl2SkdaazdWSUwweGRTb1NkbVNDVXVwcTQxazBaaFM3ZG92S0xScDA3Z2cxakhJNksvZVF3MHpwV085WUk5cnlzSWVZZVRBeWxNbDllRm9BTTNEQVloRkpaRWx3WlF6VXVNc01GbDhldXZaRVMyUHkwd1hKR3BzZFlpMVVKc1dONnI1Y2NPZXEvNVVRVTF4ck1ZYUhTa2pIZGY5dmZOanRaMTNuY3JkL3Z5OFNKa0Q4N215cDdibmFxZHVoaUUyaVEzN2RuN3RSaFQvaDdrS2thVzJsWjU4LzA1UkJyVWxiclZ4VkVycC9DMXhZRVZmc1F0VmRrREZHaVMwV2hXR1JQQlZ4eWNnT2hia0ZmWGNOaDVXZXN5MXMvS3FIbnFhV3BkcWJSNFR4NjZKRVg4R1pIZlZOV2h2bEllYVZraklTNkZ3djNVTzlUK2VSNzJ0M2E0R1BpRnFQMnNDSk41aDBrN3g5UHFYYjdNZWFVLzFMcS81U3daVHZ1Q2JzRnIwdnZjcXRBRW5tdkpENVUvZXY2bkpmMCtwRWZLbVZQb2RDOGJZRUNqNnJmeTNUSEJIQlJLSFdSeDFhcUFPMVdacm9tZjduaDVlVUkiLCJtYWMiOiIwMzdhNDJlOTBlMzVkZTYxYTk3OWQ3NmRkOTY4YTc4MTFjMDZlZWU4NTEyNDRjOGZmYjI2OTY3YjU1YjkyYzFlIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(31, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-SXQPIYZQ8K', 'jnt', 'ez', 'J&T', 'EZ', 'ez', 9000, 'IDR', '2 - 3 days', '2 - 3 days', 'quoted', 'eyJpdiI6ImZDK3h4NDJTUXRmUDBETC9LeU1WUkE9PSIsInZhbHVlIjoic3FQWEd1RDFYdzFycHcrVUdmSkt0WGUwZWlIbDNkQUdsUmpQVFNaa1l0dzQ5bCs0cW5XTUhFTGFJOGwzN3hHVndVVGpTcWxhZERCWENHcVIzMlJEdG84S0Z3YU1rellFSzBjdCsxdE9kdjk3V29zZktLampBbnk1VnZRL1pMcG5laUdla3JGK2dMYmRKWFlaSXE2NGRFZXVFMnR2b3djOU9yUFNySDZMYXRQTjhpSTZMc0xlRWUwQVlhSUZoRHZnWUd5UzQ3djNGUnU0MkZDdW56UmQvQ0lObVlBU3RmQ29JeXY4dTRGUjhNOFV4SzdvWm5MSWxtOXpxQ2lvRndVWFVRcEZibXJabjhlaFJWNzd6RXNSbFhlZzRtZDBtclgvMnhONjBzdU5FYkRhT0twS3VvRnM4TEo5ZDM1WlpRZzVMdW5MeGxkQlNiVC9zSnk5TXJwV3VjcXhoUEpxa1cxaHM5eWNyNHU5L2Eydmw0OW9vaktUTjc0allDaytsU1U0dkh3amtyVXp6RlpWNy9qSUN5Rk9CUFUyd0xldmM3NUVDKzhZYWFPck5hRTNvSnpzWFFGcW1SSFJQaXJqZEVXajYwTHNab2lxckVOREFrcFpvS282aGJSUFA5U1Y1NTFFNXV6YWpNZ2JuQm1YYVY1VVZEV1pyclE2dmxkUjFjM0FJTXNoZVlBdjFHTS9xeHpDKy9XQzFpaG5lT1FweG9qRndOTmtWTW1Fb1dnU1FEbVVFbWZVTVRWVUFpa0lIRW1KVVlCWjRUbHpveVNBNWJaSERnVUlaSDNXNWxGOE02dm5zVmF6OEdEY2VQZ2hheG4wdFo1Q2RtU01Nc09uMkdVMExaTGZXeCs0a1Z6V1RjblB4L25tdjBMVjRiZ3NWdEFOSFNMcDlrSG9pM0xPSVZQNlpBWGtKMXNieXNmQUZ6elUrQzh6bVFkWTZZQjl2Y2R6M0FIYW0yZ1U0WklRMzhzaEl2NzVJTmtWYUw3eWpGcHFYM0l4djk5aSsrSlB4YmdrVFdMRyt5SmlncmVwY2d2a0dkNGkyMmxoVUVUV1RRTER5Ukh5YmFQdkhMTUJKeFFaUGNrVjZwTTRjL3czUEpwOVVKRDB5TGpxQVhnSGNJWGtsaTVrN3dPOFhBdXFKSVlzVUpmSEo4a01kOU09IiwibWFjIjoiYzJjZDdjM2U1OTdhZGI2ZWZlNGUzMWEyZTE3YjBjMjY2Y2I0ZDBhY2ZhZDc4MTYwYmZmNWNhZjkzMTljZmNhOCIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(32, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-HTCMZ2OETV', 'jne', 'reg', 'JNE', 'Reguler', 'reg', 10000, 'IDR', '1 - 2 days', '1 - 2 days', 'quoted', 'eyJpdiI6IitFUExGWTJKSjFpMVVrMU5yYktldVE9PSIsInZhbHVlIjoiQUFhd2M1SDVmUDlNbXJpK3pkYkZESVpiTENGa2JkZEZNblRUN2lYQ2pjQWgwamtzSjRuK2h3T29VbmdEMlFGbThEckRHcVo0RDBBM0NKclNFVmVmZHR1dTBSbTRDbnBOU1hkQlJtcjJZRXc2V3lNRzBJMVpiWVZGRy9YS3dZVFg4ekdnS0RGV2pDUTg1dUNQWXlwZTN5MDBtc1BBQWdmbHlhVDUyUmdseFBNenh4anJoTTBmVEhjQUYvNy9rNkxTd1czRHgxa2RJL05IdFFtamxNY0gxWmZyZk5OUTZ6MVRHbkgzNGdVYk9WRnFnZmxpZHpCeXkxTzFyZHM1MytxUXJ6cmN2UVNHd054cUtpMGx0UFg3dDI4dUVqb092S0NreU9lS0tUL1JFczFCLzVKVjR5SE5OSFd2cHlLYlZNQ2wxRk9BUStrd2NZMmZiUktJbWdRSkNmalRZWGVrNk1ZUFVZN21HUVZhbUE2R3pCdU1Cd2ZoakVXMUVuRHliZ0JVQWxZUmpqKy9DYUxQSzJNTjUvdlBzVEw2TENubS9uaVY2ZzhVTkJUckFtMjBFbzJyRlZONTJ1L084Yzd3VzY3eTR0NTNISU9XMXRPWjBqME9KbStUaDBQYk9xS3ViL3U2elhBTEl0K1p6YzFEblRYTFlsRlN5SndKamtVY2lYMVo2d005TCtlaW5oVzI0enRGRFVHd2Y3dkp2QU43S09aMHp6VVFuVHNpYkN0azQxT0tQOGkxN0hBUksrQndNRUt6L2QvZXNwcjlMTUhOT1RuREVBNjlkSXJwb0lXWHdEMnJNVlpGWU5Ja0h1MEFWaVVWMzFRM0N1MzgxY3lVNHdGT2h2Q1BPbVhLTThPRmFvT3NzMW5hSGdxYkF3aVAwZGJzMXlhdE91ZTRIZVAxZkRkQVpyVVgzeUZrVUdwdXN5VDREdTY0WTRFK2FTd2V5TmxWNnBFbHZjVXgrenpUSXlvV0YvU0VjeTlwOHhOQVgwWFYxaFNzZmxrWEF5aE1GbHczS05yekZzWXhjcUVtQWh0MGhMTlR4SmY2am5kM2Eyd0FvUnJ3TUlPeEpYUmF4azBYbWUwZWdvVXRsZHo5Q3NxWkhqalRLWVJCQVZ2SDk2NVlVeDBhTlhoMlY1MW1MV3Z3MkRHbWVnanRWZ0FaOU1PQlVYek0xajBYZ21hbXJzbUQiLCJtYWMiOiI3Y2E0YjU1YzBlZjU2NjA1ODkwZGZhMzVlYWJiNzRkZGMwYmRmZTkwYWUxNWZhNWJiMmE3NDRjOWMxODBiZGZmIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(33, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-9ZGQQHHTOG', 'sicepat', 'best', 'SiCepat', 'Besok Sampai Tujuan', 'best', 14000, 'IDR', '1 days', '1 days', 'quoted', 'eyJpdiI6IjRZZ3FiSnZ0RVdBSHovYVVpVFlEOGc9PSIsInZhbHVlIjoidXpURERCTHUveE41YU01cmpWbExsU0d4RURLazZnaTg4MnlFYzF2cDZ1NzdScUp3dlpwa3pOWW1LNXdiRmt4SDBqN0NZc0g3NHVLYXJVL1dtM0dUbFZuY0F1azk5VXRYRDdTazBiTGpDcUdlYW0zN1g3Q0ZJalFoOVJJcThyMGlDM2lyRVFwTFdIM3Z5a1F4U2hvVmFMUE9GSkpYQXp0K3pDUkdqdTFMZnQveCtKVHJMZlNiYW5hWnBkYlBYai9aN2VpTmtRZ0NBUnVqckRmWStEcUFQbDVsSFl4cTVJRXF5NHZJZ1NkQUROOTNSYlRRbmI0REZTWXgwT1VZUi8xdFNmSi9rZ2RRWHJyL3BxbWJhKzYzWHl0aU1mcXAvTHMwVVJWUi9xV3I1SEdVMGI0dkw4cXlzN3RwL2x3M2hBbGJad1AwN3pZODFPRWpkREtvVUE0ZExPd2Jpc2RidjQ5RjZDUU01MlF6cUpYbkhHUlZCZzJlUmNlUDhoU085aHRwUldESGhqMFlZblFRVmV5dloySEZxQW5CbUc1eHBLeUVjZlhNcTBHNFVCdmZlaW1MUEFZUG05SWxZR0dTOXBiUlB4bGJpTVpCVHluTkd4bkZTSi8xSGU2Z3pkTExhQjg4STZlODlhZ0N0Ukw5NTFMcy9IZ3V1NWhOOTVONXZCcXl5dW9QSkpXRHFzRW1ZOWhUVkt4Z1lmTGZDZm4rSnlORlhGVzBtMFhTdHYvdnpXYW1kbXNvNklJRGFxWHpyMUFmR3RieEhySnJYWjRmYkdwdWxNV0hOaGltQjJqL1FJWGpPcTVKT0p1NmZWUUpBVnF3Z01oTmhMemsyc3p3NDNyTUdTbXFkTjNEZlFPWi9iZUczR3FzV2g4eWV2RmZFT0VtVXJXR01pZXNtN1MrdkRVYVNrT2hxQU9mbEZ1cmtTYkY0eXZpRWxlREc3MEYxeTgyNUFoVWw1RGh0M2YxWWR5dUtMK0ZyS1dOQjg3VGxLdkRCUjd1SnFSM0UrK1pSc3VWTnluV08wMHAxN0JwRDZ2Rlh3Q0lpdGJiRHU2UHBYUEhNV0dzZGhNUUdxUWVONG1JTFV5NUVEekFXWjdZZVk3RSs0T3pnMHpiVVBFMy9vQkNkdjRWbGthL3pGaVdJUHNLOXZXT3NOSXhnVDhKTjFVdjN2akRERGFJRm54VTJDbVRnZ0JxYURER2Q5b3JHUGlrSzArRXJnPT0iLCJtYWMiOiI0OWQ1NWU3MzZhZGY5MjVlM2UxNzdiYmQ3NzE4NDNhNzI0ZmE1YmU5NGI2ZGMzNzQ3N2JkNjUxYzg3NjJmZDIyIiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(34, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-F6YPAFYEWO', 'jne', 'yes', 'JNE', 'Yakin Esok Sampai (YES)', 'yes', 18000, 'IDR', '1 - 1 days', '1 - 1 days', 'quoted', 'eyJpdiI6Ik9aaU9KQmUyMGgvSE9uY2tvazZkZnc9PSIsInZhbHVlIjoiQlgwUHg0dDZNcTdpN08ycGc1NDRLNTJaV3Fid3ozUkpIdHZvWGwzQitxem1QNXprdWkzem4xTDVxeTlVeVhPWDkxM0hJSHpySHpJWHM1UjBVVVprMjVsa0ZuMmJPNFpXQ0lEL253cjhXZm1WaHhxZTE2VXJobkFkNFhFNDlSUi9jZUpWaDIrQVFUUzl6UnR2SnJIV2p0Nk11aDl2RVdEWE9MTnkvR1A4Z05mTjZ2ZU9BK09uWWxqdWFqcjNDdHZweFBxNTFvWFI0c2Q3QjZ5MkVHeGx1aDFoK08rTWhXRjUwMi8vUWRqa1ZUYWV2UXowajFMczJLOXZWMG9ROW96L1IrUGpBb08xS2JVcEFQenJGS2l0eXNUNUdKRGo1amtwamNTSTIxMWJFMldWQm52WEsrQnlpM2pndWxVQkphbi9KOUQ3L2RkVGVkVERUeUh3M0t5MVBRSDVRSlZqNXcxaXVleTJLZnpySENzOE9WTUwxb0ZxRzNyNWtwekJXU20wN1o0L1NhNENISk1jZk9oc1VmaytTc0FPLy9KNUVCZXlCUDJXYTFQMnhtTGQvSDRNeElhK1RDaVhLbjB1Z0ZVMEI4eDU1bjhIR3ZjemszbkxWOXpxYS8wK013RExzeW5PU3M2VnVINXNkWnVydHVIM3d5czhrbjhDNStGWnBjV3pGdGtVZkNxWml0QVNTamZQTUhBNFpXajNIcWRQMHJaRnJXTEp0Tkh1azBhbElISityQUcwNmpNcUhyWUdGcjZBbS95VHNPRGNOcGlrOFROS0NRMlJHL015QWo2TFJIOE9EVkJGWERKVmMvcUFGdVBUNGx1ejJGd1BLb2QwdTlWbW14OEJyT05sNkpsTVBmT20vOUt2dWI3QjZYODFOekVQeUhhZWEzNjlqc00rbXZ5OGo0QkdzbkRKSkN5bVZxenBVNlZ0WVI2eFR5ODJGdGhTMk42WEdmZFpMUU0xNVptWkx6Tko2K3VhMEFnaXdDV3UzSWJBZnFKSVR4STFnWWZvUXN6ZVo1aEJCRE95SzBoblRKbUZGaitxOVpXVUgxeEJCbS9DVEtIOTljcGI4US9LRTd4blBRMG84WXNhck4xZHZ4M241SEo4QkZ5dWRCNERXWkZCcXRDNXNtN25qVjRxd1luOEI2amk0ZFd2bHBzTDFlTitTNXQ3RXc5dnZKRlhhMnFJS21laHY3Vmt5ZVdJZUgxQkNnPT0iLCJtYWMiOiI3NzI2YmVjZTNkNWVhODM4ODc1NmRmODJhM2YwOTI3YjJmNTc0M2M2ODQ0NDJmZGNkZDljMmM1NTJjMmQyYTA1IiwidGFnIjoiIn0=', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(35, 13, 1, 1, 2, 4, 4, 'biteship', 'SQ-260906-QXR1YHVLXK', 'grab', 'same_day', 'Grab', 'Same Day', 'same_day', 31000, 'IDR', '4 - 8 hours', '4 - 8 Hours', 'used', 'eyJpdiI6Im5JM2NqUWJjdCtJUzBHR0xRY2NqUUE9PSIsInZhbHVlIjoia3FqZk9KSEVXRTNZZWdXOGhER29Kd2I3dHFkNXpQa0JjL0MvT21lMnhyMXJxd0NhSU9FaUhPeCsxckxpS2wxWWphTWVVR2gwMThRR21pc3BhSVRUNEtlMjBYeUFvUURuY2FnNmUzejRUUHg2T2ttelEydXpyaWF6VGFacVNPMkNZb05PVm1xSnA0b093U2M1V29zN2N2ZEdkNG4yYUxhYjhWUDRTNm9xakFDRU5DenE1QmlCdXJ6ZGdFWlJFS0FYSFRVWi92U2xlb0Y5elpETEJmenVQVjdzR0ZuYTIyYjlmUXFJTGJZRi96Vy9CeEFJTW1uUEMrZXBzR0VITk0vejEwK25CWVoxL2U1U2RpVFdqaW1YaDNOVHRzNjNvcUt5K2tsQ3kxY2lDc2xsOFV0dXNrMlJwbFNuTjBMVEU1UGp2dEhKUGE5RFVibHBVRVRGZ2g3MVYzQnhwMGQrQkZpSGhVaDVTQnE2WG1qSkwveUliSy9vaWJIZTNIbklZTk16ZzByNXE0a3E1Uit6Q0F6SzZZNms1OUNPb2V3a0hBT01YV0VvREJzTjU5NVFIaE8yaVhnM1J0dmRQdGtHeDdjWE92dHRTQ0s2Q1B4YjI0MWQ5S0d2dGxubkkrSi9HclpLcHBNaGdERWhmWHVzRzk4cCtvRG01bjhUMTJQVllKdW9hWE5DVDBXT1c5VWxNTWZndkRNNmtDVW9namczalNXTCs1MnFQQVdwcm5QQkZhZ3JlUzlqYjkyREhhMjl4cnBRT3FuK2huQ0x6bTI2OGFoRGkwdS9HSSt2WlM2U1JYSUNRZ2VpTzNLMW0xekJTeFdueThBaFJ0a0xNY3FiZUc1NEx0Nm5Hdi9ZanpkQVo3RmtFblYyd05qR1NhdHQ5eWEva1NESzVhd0thclZuRzBXbGh0cmdXWTRoQjNRSzdpazFmZEVjMEhTL2MrdHpyK0tDT3R2RDN5Z0tUTHlXZ2FaclZBYUF5TGR5M201bkl1STlIMlFCQURRQ3Q4Um0yRFh0bEt1elpzM0J1NjB2Q2E3SkdleVd5OGh2RWkwWElocUtRNXNpYzNyTGtrZjJQMmd5UTc4Vzh0M0dYeTJteDQwWUQzK3MrOWQzWkgzcXFJY2dCNURKVTU5dlJwbVRPQ2djYng0WGIxaUQ3eDlINEhPWDQ3WW42Y0IraThTa05NVU96b2lsN2QzeEtvb1llRWVNTlNWVEROa2JYMFFzQXY4MDQyV1AwUkR4OGEwbU9WejBVTEgxRVZMVzR6T3A3eERrIiwibWFjIjoiY2Y0ZGFmZDU1ZjkxZjgzYTU3YTU0Y2EwNzg4ZmRkNWMwOGY2NjNiODE5OTdiZGU2ODVkMDQ2MGEyMTE1YzVhNSIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', '2026-09-06 08:08:46', '2026-09-06 08:03:36', '2026-09-06 08:08:46'),
(36, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-LVGME6DKJQ', 'jne', 'jtr', 'JNE', 'JNE Trucking', 'jtr', 40000, 'IDR', '3 - 4 days', '3 - 4 days', 'quoted', 'eyJpdiI6IkRFKzVrK3MyNEZaUFlkOVNLQ21HQ3c9PSIsInZhbHVlIjoidlpvYzJ4ZlpyRm56YWNqMmhkeVVoS2hoeDQ4Y2hCTnNldjdsMkdWazAxSXpqQ1dXZWhLdzdHQjdFR29ZeHFRL3RrWGZiWC9HcVdoVFdOdHdEV2k1b1BlNE5kQXpBcDNTVUlFNEYwdmJDSWJUd1Z5eUdlcmVGQnhWdUMyWis0MkpJZlNwT1ZJN3Vab3hNTDJzdzQ1QjNTWHg1T2tCRWk5eVNheWRTUFlJdWNSTkp4R2UxRlgxYnhqWkVIOVRjSVJEY3lDeVNSUGpsM0Njd0dZZk55ZDJiZUZFZGdKcTZNc0JUeHJYeW5LSmNOdERtdktRU0hqakFxeWhSbWVVNVhXY0htem5PRytIeWxVLzVoNG9CSlJtM3kvSFhEZjFzaERFd1IzdjI3dU5MSnZYQjF1NEVNOVZUNjRXQ2ViUkpEbStvNm9XWUVTOGJyNUd3RFBUS2RoZzZuZDBKZFl1eU5FNUdKUU95aFhETmJDS0F2dkhaeTNTWVNOSDJyeVZSSzZTTlhNRlVseWcxdStPZmRvemNJU1gyQ0pwMVB6VmtRMCs2ZS8zZWYycEhXbzZPOE5uelE1aVprYnR5elJSY1FSS3BXMkRpUTd2S281OEk1WkYxNCtPaHUwY2tiME02aGxJUmNqTndWeHdCWk8yZ05YL1dkYjQ5UTlMeTMxU3ljVkYyaWVxTXUrQ0lrSzFHaFg4S2ZTdGJWMFFNQTA3T3BFSzROYWZLMGdXZG9KKzJjU2s3cFNwWXh5eFErSVZ5VEFXRGRPb3cvYWdwQnlSQThHaUlqUVBoVWlPSm9vU0VrSGY4RG9CQk1hc2t6cGVjMjdzcjRkU1R6YmtxTmoya0FxNTNxenJrTFRKTEZJN3N4UU1TWTB2bVdjRFlXOUVOWUp1Tmp0dEdOL2tZVDNZcm1HdTBJQWd5SmpveENoelZZMVFQVmJ2OGpZL21XMU1pOFRkWkRoRG1CV3BxRlFLZzlDMHNVTlNaYithUCttczM2OWFhdnljNHlObnFRZVJ5VThkVXhKN29xYmRHTUpGUnE2MTVEZldJU09URCtBOG5nQ0phRC8wcHJoYzdRSC8xUW5rem0rZm5SRjBVUWp5Q2JMVCtyZit4em0vMjgzUmpreXJPcHY5eWRwSEpNUkF5SjBiYSsyYWwxbGd5V1UvOVIrS1hPUVU5NytPQWtGdTd5bVRwUnl6Um8wNXNxSndYcnhWanZ4dGJjOU1YS1RJOEpSMHplZTZ6M21nUkVNPSIsIm1hYyI6ImRmOGRmNGY1M2NjMDNiMzYwNzU3ZDRiMzUzOGFlNjJkZjE2NjRlMWY5NzAxMzI4OWEzMTIyODVlZGJlNWE1NjgiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(37, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-3JWTV2PW1W', 'gojek', 'same_day', 'Gojek', 'Same Day', 'same_day', 41500, 'IDR', '6 - 8 hours', '6 - 8 Hours', 'quoted', 'eyJpdiI6IlpZWnEySll5M0psNDlJcXdoR0xFUkE9PSIsInZhbHVlIjoiWWp3alVZQ2ZXNVBIZjlFR1h6U2RKL3hJRVpZSkJubkhwU2RDRXR0MUpJSUhVSmZlbDhmWDArL3VRWkYwdW52NGVMK1JNZ3FrZFlNVkdacUdrUm0xR1hRZWJWMFJack4rdGs4Si91aGdOc29xVk82VndRVElNZ0R4cHI3Q0dyR1hYeVU1WnA1aTlFWTBDMXZtRDR0elpKQzJHeXgyTnZMeGg0SjBNekV0SE1CWWhEVXVVOEtSUVJmMDFFQVNhcmlnRWRlOThzclUzbXg4MWZmYURZYVBQV1hOQmVoOHBQby90K081RmcvZ1NOaW1HMngzVUhTYWs2S05xVlM1SjBnZXJzMFBiODBHOUFWTnlSV1EzMlZPREtPcjB3QzZLYjRUcTEzelhGWGFqL2phWXBMcVVyWlFkVysxdmxwSW9PSDN5R0V2UGxmaG1lL1BkSHBlNkhabXFHbUo0VkYxOUN5MkhYd0xTUEE5T3ZKOXZDOEEvY0dPb3JMbEQ3QUhsZlU2REFNOUlyUHdjRmh5TmxIeTdDRWFwZEJiWjNNdmVaWVdqbmR4Rys5Zk9ueWQ1UlhiYWJsOHMyTDE1WkxWVGRnZ3NvaVVOZm1acXVpUjVzVXV6QXJjMlAwOGpQWVpmT2k0UkIrcm9uREFQN01oWE5sWVQ1WG5LeFluWFBMZTByQ05ZUmlYc3J0V0x2N2tzUitweHVSS1BjRW51TlA2MSt4OFdRbmh0ekJ2V2kyRVFaMTRoaDZqcmZMaFAyLzBpY0xWR2k2TVZwMGhxZUU2NkRoeEFyZ2ZIT0pjRCt4OHdhemV5Q2tqVTIvTFJld1FVWFp0emxSRTF6RE8wQWVjbmx1RXB4UEFmeXhMTDJyaU1LRWpqb3JoRW10dlE0emN1ZUgwREpmM0p2elZINXJEdHkvbHRCWXlKOGxRSXVmTXo4bTN2aUR1YU5hWmhhSkF1dGU0c0xmYkRaZWRiR0gvNVBlNlBPcy9QTnpzVVVKQzFuUmMzT2x5cVFRRXRsa0RuQmFUNllJUUYwYTFYd25jQWxxMmxkT2dReXpmcTBEdHNCYTNSaE5iZlFiaXN3UWlOelhuTkNmLzJ4L3Fmc3JQTWZyMERkNC9jRUZleHpXdVB4d0J1VWJ0TkFRcldQb0F1Tmwycmc5ZCsxVDNTWVMzYUdkVkxvVVBkYTNOUUM0NDU1QllLLzJLRjViL21td2liREJLUE9RS2taZ25qeHBZSUVMMzNManROelB0ai9BRkxTSlZRNnFFc25oWGsrUjlMZGhFIiwibWFjIjoiODE4NzM0NTdhNWY4MTgxMzg5YTg5ZGMzNTc1ZTUzNDI1YWZiMWIyZmI5YjAxZGE5ODk5NDIwYTU1Nzk1NGJmOCIsInRhZyI6IiJ9', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(38, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-MGMPYKZ3LA', 'gojek', 'instant', 'Gojek', 'Instant', 'instant', 75000, 'IDR', '1 - 2 hours', '1 - 2 Hours', 'quoted', 'eyJpdiI6Ii9IMDJJaTJDQUw2Sm93VERRakZ0NEE9PSIsInZhbHVlIjoiSjdjUGNlemU5dFByZGdNdjV3QVFFMEw1bDF0ZE90bTAzYWxQRmpoS0ZlRUdrM0xOdk5iQ2ZOaEM1UzJyU2JaUW9kQ08xdTZPVWxsUTVDaUkzNDBnem16MHRrd3NYN0xYRnQxL2tyL242WXhibS9QTzdVMEJBbCtJQ2ZYd3RZeWtqUmlKVUlLT21ad0gxVWYzVkZNZUFJc1Fyb0JyYjVTWVQ2em9DeSsxbUxCdlUvSUsxTmVUNDVYN3BrUy9ES2xuYXp6VGF0VlNuTlhNS2I1Y3pab1V2V2RTZm1nM0ZhcmQrQ0FhK0k1U1lOd2p4ZGN4eEN3WWVDMk84OTFlcWw3NEg4UGJGR3h5WVBuTFAzc1pDNEpyRVZscmF2U0xLM3dSWVZrRjhYNDFnaEZzSjZvSFJoanRQa0t2ZDhpRVFnSXplcWljUGpCOTBHUUQySGwyZDVkd0VHSG03NjJlUE9CcjZyb2djY1BLOW9KQk9vZUltanNDSWxRaDI3T0dLRitLTXpmVVZBNzdmckl5MEk2RmpuK3FvNHUyUnNMY1BjL0RocWp3U1B0V1dwTUErWnpQV2NMcEtWd3dnZ09ZWnNncEJWd3FCMFJ3VHViTTNkYWhtdWQySnp0MnJMbXdkVFpYRVNTVFN4KzgzbTdRNU52UWxTQTJZblcvVkJGLy92K0MydVFadG1HblZWKzg2bG5ITGduR293R3NzVmEwNHpRUE5ONDRxcEM0Z0lGWVhQNERBWXRybzVTYzBtVEtjNXFXSC8zQVQ0azVaSU1yak1YVUdUMC9aN2Vodk5SVUNxQlpRVzBtanlqbExmKzdXTnF1MVFQOVNMTjMrYXV5RlVpVDFtU3RBNFRDdTd5ZXAzOHVGbnBvazNuTkpaRFExZ2tkSXNqdURYMDJ1Y0NaZmhEN29LQ0Y1T1d2MUhwcnBjWlQzT2ppamQ1QnVlRWhKYzlQTkdHaGkzeFFHdWtxK1RZbjdVN0l4ZGlERURPWlplSFdBQ0dkL0ZqTkFZV0htVmt6T056dGJBVjNSelUzRzFZTzNrek5oMm9xZjJUQ05BSHIyWWlHeS9ORGFnL01iVzk2Yml2K3B1VUtyMUdxOEJpNitJMGlKYUZxTEozUkZWYms0VW5UWWZiZEgrQkI4WXVmSFFkUDZlelJPeTViSVV6Y3Y2S2tuMzdzU3E0RVBUTjRqRk8yZXNWSHFDellWVklIZWF3RGJwczMvVDVJUTNKR2ZwYVBuZkdYZkdvPSIsIm1hYyI6ImZiZDUyNjBjNjZlZjIyNjliNDA3NmUxZWQ1MTEzZTU3NzM3OTlkMmFmMTQyZDJlNTRmYTkzZTVjNDgxMTFjM2IiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(39, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-I94WL6GSHY', 'grab', 'instant', 'Grab', 'Instant', 'instant', 78000, 'IDR', '1 - 3 hours', '1 - 3 Hours', 'quoted', 'eyJpdiI6IndnME1RWnlkbng4STV4MUlPRDdWTVE9PSIsInZhbHVlIjoiQXZIVXlMc2ttRDM3d3pteGdrOVZFeVJPYXNzQ0Y0eU0yQXFpTnlqZk5kZmt5YWlVZ2FBUEpPaEc5K0F2RTFZZndoVkFzZllod1BEOWRYWjJGNGlPODlpQXhXOWhiUkEwODMxM0cwWlFVbVI3RXVJNGlhdGNGTzNNeS9kd1I2VUZ6a1kwb1hGd3BocVZzMm1VaGJBLzNZcXFrVWtWdEJNY2RHUm96R0Z2ZVFRNzA0QjJkQUZuc3hEQU0xbWNKejVKRFhjWE1LRmZlVXd2RHRER2lHQURrS3RxNitjZ0l6NnFpWUk1MWZGcEdYNWFJRk1XOWVUaE1XQ3Z3YXJJdEtMOWdzUDMrOWhxOC9WSTd3MFVTdjhlbE1CWmIvWUQrc3pxOTBsZzErSHlzYkh4czlZWG9nMFJJWTR5M3l3R0J6SnRVNmhxKzlTOFc3MTJ4RGd4WmlDOUk1ZVg3NmFaa25rL2FRUkUrT2lwR3FwZWgyRll5M1hKMEt2bEVCaTBydXhuNTZ4ZThRSTZYSzdoaVN4SVZFZS9tTlU2aEtGOUtYck5lVmRrVk1OTjcyNXRuekhhOGx0bU9oWXp2aXNpYk5ZcDFSNmFWUFpRVkJuWFUrT3VFSUUzeDVoQlFQT1FlelpNRDRtMDNVUHJ1RTlMUVY5MlEwWTI5eG0wYzJscThPbGlvMEdRUEFQOVdXTGJiM2U2UkZOcEZzTVk3QUdseW1LTTBFRWhtQXRTdVMwaTdjUTluRCtuMjdBRDlSd2V3WFU2cmo5S2NHNzAxS2p4MzJQbEt1OFR0WkZ4dEg1N1hBL3ZZRWpsd1N1dVU3NlVjVmFJQXpad0JCcUdKSU1hcXJRb3pKaTloWDBFWkRpWTJTMVhHMHdxOEZPbExpYllndGk0Vi9HeUZ0M2dpVDBZaTZOanJQT0xIeDEvK1puTmVaS0ErZERqcGxUVnlkRmEvL2FKZWxHSjRCOEVrRlBsNGZBdXBBendnTXY5NTRxSk1UTVRDcUJzVFpQSnJLY0dXNXJ6TG9MZWlNVWJtRzA4Q3pWbThzRXZxYkFFaVRGSEJQUktlcG5ZT1gvWE1EdzN3b2MxQlRTNmdrNXF4QUxjQ01hTWVWY1lWQmloa0xvTWVPVzRjWEVjWlJUdWVUN3JvYWp2UzYweEp2YUdZbzNkMWt5RnpWSEFGZmIrUUV1NkpCZzF1cWNnZE1oenZrYnJ6WCtYZHgvbnlaTVFLNWlobExiUHpMa3ZaUFE5RU5JPSIsIm1hYyI6ImUwMmUxZmU4ZWUzMjNiYTI3NzA3NGRhYzVkMTViYTExZjg1ODk0ODcyOTU0MmQ0ZDZiYjE1M2U3YTgzZjE4MjgiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36'),
(40, 13, 1, 1, 2, NULL, NULL, 'biteship', 'SQ-260906-MLFYH4GLBN', 'grab', 'instant_car', 'Grab', 'Instant Car', 'instant_car', 199000, 'IDR', '1 - 3 hours', '1 - 3 Hours', 'quoted', 'eyJpdiI6IkY4ckNHOEtSWTZEcXB6aHRSOVoyN2c9PSIsInZhbHVlIjoibWVQTW95S1VmWWpweDFvYVQ2S0JxeXV4aTMxMWZUMyt0bnN0YUdOQTd5K24wUnNvYzgzQm1xVXNsanVaeWNHOXdVL1o5VlF1YUZmL1RheDRBenJSc0NVQko3UHBTSVEwUnBaeENyVUtqTzl6dk1vVUdKc2czRGlLRFZvZkY0dis5S0NPWjRXQXNRYUh4WHFMd3AxS1FIeXY5emZlbTEzcmRnZ0lvVzlNNURhcHV6bnFsTGh2aXVSOW9rakhJZmMreTRUdDNxZ3Q3L0tsekMzT2NtVDcxYU5obFNoSUJKeFZkNXNtOEJOaWdNaXM5TGFidWJjc3VLUUNsTUNybXRXSDNHVkZGdVhRUGp3aXVUSU9ZOGVOMlE0QlBKMHRDZnNjWDB4endLbTNUT0lhZ3ArOHAxMGlETGVBb2pJV0VQUnJFdTdBOUY5WS9ZbGl2UTZyL25GYnJxc2Q2enJ6YXVON1JjcDF4a3lRdHYxSmV1M2FjRS85MHhqWXNCZmxoMHM3ZjZpT3lZaHBacmJ1cW1vbTV5blV1cVI4NlJYVHFQOW5ZTEg5bFlkbU96REV0WVZ6NTNWTURjdFRTTmxzcnZOYm9Eb2hibnNVbzFIb25VRmZVeVNPY2hWc2tMY1JUMVBpQndDZ1ZTQ3hqTiswbDdHWWxmdmRzaXVUVk94cWYyNXZsOFRTZWtzSjZjSklkbjA1aFN3QzRxOS9Zd3FvWDdoTk9HQ1BSSjJUbk5RQlVLSnA3VkJDa1FTZWE0MnpqM3hJZnkyWlAyZGh4QnhKWHdDV3gvbDFydGRCS1A3OHNqWjY5TFhXdENtbEt5S0xlMUNXKzhpVENJYVFsbCtCWno5VmhzaEplUEtEVGRVMlV6bzc4Vy9KRGVDV2pBYllBc0Q0K1UzMUVBN1VKTWdXNi85REV4OTJpYWgwMDJVTHdoL0JCWDJ3L2tZK1FtZnMvblBWTDVNcW9YYXBSLzZCREFPRmtYdFk0dlRZREVxRGkxR0VVS0pCenFLekFyLzg1bEpKdWtEcGtoNHE5alpGNWVvQkF1bGFMdHJEaTlDSTVoallyWWQvN0d4MTVIQ1VvUzNpMzNRbkNaY0U0UWJGYmpSUFRJSUN5VFRZR0lZVGFlRlAzdVJNZFg3cWpCYW5KUHovcE5ibmthLzFKckhsTGovRENJRmk1YVRUU2xabExINTJ3SWtHaDczZjFOaG5DLzNydS8vdEo2Vm45Nzl0OWFqMit1cTZ0dHFNcVVFPSIsIm1hYyI6IjFkNGE3ZmRkYjIyZGZiNWNkZDM1YmZjOTc4MDAzYTU5NDUyMmRmYzRiY2MzNTZkNjJhODgzMWY5MjFiNjk0MTMiLCJ0YWciOiIifQ==', 'v1.3-distance-stock-price', 1, 'Outlet aktif dengan stok lengkap; opsi kurir dinormalisasi dari provider dan diurutkan berdasarkan biaya.', '2026-09-06 08:03:36', '2026-09-06 08:18:36', NULL, '2026-09-06 08:03:36', '2026-09-06 08:03:36');

-- --------------------------------------------------------

--
-- Struktur dari tabel `tenants`
--

CREATE TABLE `tenants` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `ulid` char(26) NOT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `business_name` varchar(255) NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'pending',
  `verification_status` varchar(255) NOT NULL DEFAULT 'pending',
  `email` varchar(255) NOT NULL,
  `phone` varchar(255) NOT NULL,
  `logo` varchar(255) DEFAULT NULL,
  `commission_rate` decimal(5,2) NOT NULL DEFAULT 10.00,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `tenants`
--

INSERT INTO `tenants` (`id`, `ulid`, `name`, `slug`, `business_name`, `status`, `verification_status`, `email`, `phone`, `logo`, `commission_rate`, `created_at`, `updated_at`) VALUES
(1, '01M19678J9S2ZDEXQ0V5KW9RS6', 'Apotek Ruang Medis', 'apotek-laut-sehat', 'PT Laut Sehat Indonesia', 'active', 'approved', 'halo@lautsehat.id', '021-555-0188', NULL, 10.00, '2026-08-30 11:17:36', '2026-08-31 12:46:34'),
(2, '01M19678JR8A6D9JVJMTTF4E1W', 'Apotek Bumi Medika', 'apotek-bumi-medika', 'PT Bumi Medika Nusantara', 'inactive', 'approved', 'care@bumimedika.id', '021-555-0271', NULL, 10.00, '2026-08-30 11:17:36', '2026-08-31 11:13:11'),
(3, '01M19678JVYSSREVCN8Z211G88', 'Apotek Nusantara Farma', 'apotek-nusantara-farma', 'PT Nusantara Farma Sejahtera', 'inactive', 'approved', 'halo@nusantarafarma.id', '021-555-0391', NULL, 10.00, '2026-08-30 11:17:36', '2026-08-31 11:13:15'),
(4, '01M19678JW9RKAKCP0AM6GV0Z8', 'Klinik Farma Medika', 'klinik-farma-medika', 'CV Klinik Farma Medika', 'inactive', 'approved', 'support@klinikfarma.id', '022-555-0410', NULL, 10.00, '2026-08-30 11:17:36', '2026-08-31 11:13:19'),
(5, '01M19678JY6GRVJ4CDZC77RBSX', 'Apotek Srikandi Care', 'apotek-srikandi-care', 'PT Srikandi Care Indonesia', 'inactive', 'approved', 'care@srikandicare.id', '031-555-0505', NULL, 10.00, '2026-08-30 11:17:36', '2026-08-31 11:13:24');

-- --------------------------------------------------------

--
-- Struktur dari tabel `tenant_bank_accounts`
--

CREATE TABLE `tenant_bank_accounts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `bank_name` varchar(255) NOT NULL,
  `account_number` varchar(255) NOT NULL,
  `account_holder_name` varchar(255) NOT NULL,
  `verification_status` varchar(255) NOT NULL DEFAULT 'pending',
  `verified_by` bigint(20) UNSIGNED DEFAULT NULL,
  `verified_at` timestamp NULL DEFAULT NULL,
  `rejection_reason` text DEFAULT NULL,
  `withdrawal_cooldown_until` timestamp NULL DEFAULT NULL,
  `is_primary` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `tenant_bank_accounts`
--

INSERT INTO `tenant_bank_accounts` (`id`, `tenant_id`, `bank_name`, `account_number`, `account_holder_name`, `verification_status`, `verified_by`, `verified_at`, `rejection_reason`, `withdrawal_cooldown_until`, `is_primary`, `created_at`, `updated_at`) VALUES
(1, 1, 'BCA', 'eyJpdiI6InMvd3k5Q0czNVVBWGdOUXBmRitTQ3c9PSIsInZhbHVlIjoiY25KR3p1ZmxneGN6S2ZEVE1udk5hQT09IiwibWFjIjoiOWQ2ZDllNTJiNDllZDAyMDU0ZWNmYjU0ZTAxNzdjYjQ2YjVkMmE4NThmMjU2YTg5YjllNDViNjcwNDE0MzVmZiIsInRhZyI6IiJ9', 'PT Laut Sehat Indonesia', 'approved', 2, '2026-08-30 11:17:37', NULL, NULL, 1, '2026-08-30 11:17:37', '2026-08-30 11:17:37'),
(2, 2, 'BCA', 'eyJpdiI6ImJZZy8vVlZhQ1gzRGkxREt3bnBsYUE9PSIsInZhbHVlIjoiV2ZmQ1laM09NK0JYeUFOZ2R0VHFzZz09IiwibWFjIjoiOTA3MDNiYjViYTIyZDFhOWI5YmU1MDFmOWYzMDY2Njg0MWQyZWQ0YTIzNDBhNDM2OWVkNjlhNjMzMDljNGZmZSIsInRhZyI6IiJ9', 'PT Bumi Medika Nusantara', 'approved', 2, '2026-08-30 11:17:37', NULL, NULL, 1, '2026-08-30 11:17:37', '2026-08-30 11:17:37'),
(3, 3, 'BCA', 'eyJpdiI6IjVnZGFZOS9aRTlua0FlbjY4UFFOQ1E9PSIsInZhbHVlIjoiZ1p2T2FDb0Ywd0dldUZMVjNUVVpwZz09IiwibWFjIjoiMWY5ZmUwYmY3M2ZjYWIzNjI5N2Q4N2UzZTdhYTIzOGEzMTBhOTJlZjM4YjQwODAxMjUyYjJmOWNlY2IzNGYxNSIsInRhZyI6IiJ9', 'PT Nusantara Farma Sejahtera', 'approved', 2, '2026-08-30 11:17:37', NULL, NULL, 1, '2026-08-30 11:17:37', '2026-08-30 11:17:37'),
(4, 4, 'BCA', 'eyJpdiI6IlF4ZkZDdXU2U09oV1RzS2VTekprckE9PSIsInZhbHVlIjoiSVN0Q3Q2d1V0c1ZaL0pKcjNvbzk0dz09IiwibWFjIjoiY2I3YjRkODE3YzFkYThiODk5M2YwYjZlYjhmM2Y3MjFmZWViYTc2YTBmYTRhN2YwNzFlZGVjMmRiOGUwOWNjNiIsInRhZyI6IiJ9', 'CV Klinik Farma Medika', 'approved', 2, '2026-08-30 11:17:38', NULL, NULL, 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(5, 5, 'BCA', 'eyJpdiI6Ii9mQ3NIYk9vSFh1cWFmR21LVjVpdUE9PSIsInZhbHVlIjoieit1QkJONlBQeU5JV2JiU3MxUXJSUT09IiwibWFjIjoiYTEwN2Y5ODZkZDcyYzg5NDQ3OGY1YWJiMmJlM2Q5MmZlMzY3ZDQzZDg1ZjFhMTMyMTkyZmMyM2RiMTQxYzIzOCIsInRhZyI6IiJ9', 'PT Srikandi Care Indonesia', 'approved', 2, '2026-08-30 11:17:38', NULL, NULL, 1, '2026-08-30 11:17:38', '2026-08-30 11:17:38');

-- --------------------------------------------------------

--
-- Struktur dari tabel `tenant_licenses`
--

CREATE TABLE `tenant_licenses` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `outlet_id` bigint(20) UNSIGNED DEFAULT NULL,
  `license_type` varchar(255) NOT NULL,
  `license_number` varchar(255) NOT NULL,
  `issued_at` date NOT NULL,
  `expired_at` date NOT NULL,
  `document_path` varchar(255) NOT NULL,
  `verification_status` varchar(255) NOT NULL DEFAULT 'pending',
  `verified_by` bigint(20) UNSIGNED DEFAULT NULL,
  `verified_at` timestamp NULL DEFAULT NULL,
  `rejection_reason` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `tenant_licenses`
--

INSERT INTO `tenant_licenses` (`id`, `tenant_id`, `outlet_id`, `license_type`, `license_number`, `issued_at`, `expired_at`, `document_path`, `verification_status`, `verified_by`, `verified_at`, `rejection_reason`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'Izin Apotek', 'SIA-DEMO-001', '2026-01-01', '2031-01-01', 'seed/tenant-license-demo.pdf', 'approved', NULL, '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(2, 2, 2, 'Izin Apotek', 'SIA-DEMO-002', '2026-01-01', '2031-01-01', 'seed/tenant-license-demo.pdf', 'approved', NULL, '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(3, 3, 3, 'Izin Apotek', 'SIA-DEMO-003', '2026-01-01', '2031-01-01', 'seed/tenant-license-demo.pdf', 'approved', NULL, '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(4, 4, 4, 'Izin Apotek', 'SIA-DEMO-004', '2026-01-01', '2031-01-01', 'seed/tenant-license-demo.pdf', 'approved', NULL, '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39'),
(5, 5, 5, 'Izin Apotek', 'SIA-DEMO-005', '2026-01-01', '2031-01-01', 'seed/tenant-license-demo.pdf', 'approved', NULL, '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39');

-- --------------------------------------------------------

--
-- Struktur dari tabel `tenant_users`
--

CREATE TABLE `tenant_users` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `role` varchar(255) NOT NULL,
  `status` varchar(255) NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `tenant_users`
--

INSERT INTO `tenant_users` (`id`, `tenant_id`, `user_id`, `role`, `status`, `created_at`, `updated_at`) VALUES
(1, 1, 3, 'pharmacy', 'active', '2026-08-30 11:17:37', '2026-08-30 11:17:37'),
(2, 2, 4, 'pharmacy', 'active', '2026-08-30 11:17:37', '2026-08-30 11:17:37'),
(3, 3, 5, 'pharmacy', 'active', '2026-08-30 11:17:37', '2026-08-30 11:17:37'),
(4, 4, 6, 'pharmacy', 'active', '2026-08-30 11:17:38', '2026-08-30 11:17:38'),
(5, 5, 7, 'pharmacy', 'active', '2026-08-30 11:17:38', '2026-08-30 11:17:38');

-- --------------------------------------------------------

--
-- Struktur dari tabel `users`
--

CREATE TABLE `users` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `phone` varchar(24) DEFAULT NULL,
  `avatar_path` varchar(255) DEFAULT NULL,
  `notify_in_app` tinyint(1) NOT NULL DEFAULT 1,
  `notify_email` tinyint(1) NOT NULL DEFAULT 1,
  `google_id` varchar(255) DEFAULT NULL,
  `google_avatar` varchar(255) DEFAULT NULL,
  `platform_role` varchar(255) NOT NULL DEFAULT 'customer',
  `referral_code` varchar(16) DEFAULT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `password_configured_at` timestamp NULL DEFAULT NULL,
  `remember_token` varchar(100) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `account_deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `phone`, `avatar_path`, `notify_in_app`, `notify_email`, `google_id`, `google_avatar`, `platform_role`, `referral_code`, `email_verified_at`, `password`, `password_configured_at`, `remember_token`, `created_at`, `updated_at`, `account_deleted_at`) VALUES
(1, 'Pelanggan MeyaHealth', 'customer@meyahealth.test', '081200000001', NULL, 1, 1, NULL, NULL, 'customer', 'MEYASEHAT', '2026-08-30 11:17:36', '$2y$12$APDAgmtkFvP566IyxfYGTuhFxTyTP8N2JAdYqli5yylR2z2b0FDLG', '2026-08-30 11:17:36', NULL, '2026-08-30 11:17:36', '2026-08-30 11:17:36', NULL),
(2, 'Admin MeyaHealth', 'admin@meyahealth.test', '081200000003', NULL, 1, 1, NULL, NULL, 'super_admin', 'ADMINMEYA', '2026-08-30 11:17:36', '$2y$12$NgaE96OB/DnCJHvFojc9cemFO86fFzMtFWUHbzOOSCShBCh9xYex6', '2026-08-30 11:17:37', NULL, '2026-08-30 11:17:37', '2026-08-30 11:17:37', NULL),
(3, 'Owner Laut Sehat', 'owner.lautsehat@meyahealth.test', '081210000001', NULL, 1, 1, NULL, NULL, 'pharmacy', 'OWNERLAUT', '2026-08-30 11:17:37', '$2y$12$1ZNGBiCXBk75AciMfigDhOxk1OVLV5EijDoQ5P0vIDiQuUnGyE5Ca', '2026-08-30 11:17:37', NULL, '2026-08-30 11:17:37', '2026-08-30 11:17:37', NULL),
(4, 'Owner Bumi Medika', 'owner.bumimedika@meyahealth.test', '081210000002', NULL, 1, 1, NULL, NULL, 'pharmacy', 'OWNERBUMI', '2026-08-30 11:17:37', '$2y$12$FsZRGta31Ap4.MKt6MvhL.JHXXgV5HbL6uxeO2B6FAQv6qN7GpBwm', '2026-08-30 11:17:37', NULL, '2026-08-30 11:17:37', '2026-08-30 11:17:37', NULL),
(5, 'Owner Nusantara Farma', 'owner.nusantarafarma@meyahealth.test', '081210000003', NULL, 1, 1, NULL, NULL, 'pharmacy', 'OWNERNUSA', '2026-08-30 11:17:37', '$2y$12$V75Rgg9BlzqfSk6Y80Sz3OTGqxvVTu/PzSPwhr1O2wUG7hevBnfTy', '2026-08-30 11:17:37', NULL, '2026-08-30 11:17:37', '2026-08-30 11:17:37', NULL),
(6, 'Owner Klinik Farma', 'owner.klinikfarma@meyahealth.test', '081210000004', NULL, 1, 1, NULL, NULL, 'pharmacy', 'OWNERKLINIK', '2026-08-30 11:17:37', '$2y$12$uXZcRVEdDZ4Xig5cm3Ycqenm.RIsH8ojogkUWTwMK5QWZVicGUPNS', '2026-08-30 11:17:38', NULL, '2026-08-30 11:17:38', '2026-08-30 11:17:38', NULL),
(7, 'Owner Srikandi Care', 'owner.srikandi@meyahealth.test', '081210000005', NULL, 1, 1, NULL, NULL, 'pharmacy', 'OWNERSRIKANDI', '2026-08-30 11:17:38', '$2y$12$3AxEq6zYSzjOO09uQJxpqOCk5l4sBvnjeuYbM3HO2MeUS1ji.4W0i', '2026-08-30 11:17:38', NULL, '2026-08-30 11:17:38', '2026-08-30 11:17:38', NULL),
(8, 'dr. Nadia Samudra, Sp.PD', 'dokter@meyahealth.test', '081200000004', NULL, 1, 1, NULL, NULL, 'doctor', 'DRNADIA', '2026-08-30 11:17:38', '$2y$12$ft/pC.SySAe1mjMvWsLFUef6itYIsBRNRKEZliHIYoLkrJxwwt5Nm', '2026-08-30 11:17:38', NULL, '2026-08-30 11:17:38', '2026-08-30 11:17:38', NULL),
(9, 'dr. Raka Pratama, Sp.A', 'dokter.anak@meyahealth.test', '081200000005', NULL, 1, 1, NULL, NULL, 'doctor', 'DOKTERANAK', '2026-08-30 11:17:38', '$2y$12$o0yAysilFhywUvk.R.DvkutEdLnPq7VLElqOrnIJN.Tl9tZY1a3tW', '2026-08-30 11:17:38', NULL, '2026-08-30 11:17:38', '2026-08-30 11:17:38', NULL),
(10, 'dr. Maya Kirana, Sp.DV', 'dokter.kulit@meyahealth.test', '081200000006', NULL, 1, 1, NULL, NULL, 'doctor', 'DOKTERKULIT', '2026-08-30 11:17:38', '$2y$12$2WTSD1XQdSspb0H6zCjttOC2Uzj4qiGPm.MFwDOaSqCYk197.5pd.', '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(11, 'dr. Satria Wijaya, M.Gizi', 'dokter.gizi@meyahealth.test', '081200000007', NULL, 1, 1, NULL, NULL, 'doctor', 'DOKTERGIZI', '2026-08-30 11:17:39', '$2y$12$gWauiJZvvpmV8vRE0OFtnOpiaXirjd5wBvoS22BlEmmYyT6xS4O3K', '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(12, 'dr. Lestari Amalia', 'dokter.umum@meyahealth.test', '081200000008', NULL, 1, 1, NULL, NULL, 'doctor', 'DOKTERUMUM', '2026-08-30 11:17:39', '$2y$12$PRdDrYMiM.uLTpKfYJ/EEucT789HZSF1cIuZMXY0fYXA5GfrNZcsW', '2026-08-30 11:17:39', NULL, '2026-08-30 11:17:39', '2026-08-30 11:17:39', NULL),
(13, 'Muhamad Agel Rozali', 'agelrozali@gmail.com', '87774808471', 'avatars/On6oCkHcm66iM7PxoNz0dS96OU8dJfwDnOt69buK.jpg', 1, 1, NULL, NULL, 'customer', 'MUHAPHOH', NULL, '$2y$12$NVFUjSUsv16lU549JQAtoeLmZi5qiU2dZg9Rsv0F0cYcrrx8vdwXq', '2026-09-04 08:00:29', NULL, '2026-09-04 08:00:29', '2026-09-04 08:01:21', NULL),
(14, 'Agel Rozali', 'agelrozali2@gmail.com', NULL, NULL, 1, 1, '105286944310878934559', 'https://lh3.googleusercontent.com/a/ACg8ocIAKa2EHZF7NXNSP-jKYb5NEADOR18c2wl_hJPLnonypghR4J3d=s96-c', 'customer', 'AGELROZAIWJB', '2026-09-13 14:46:31', '$2y$12$YP8deLaxYmNEim68wOdwbuxZCNaiU8ux2ghBd2zduRVpazLLtoMpO', NULL, 'qu4cmTy2vzBjlnjQPL0Maj8YKfgNYfPvr8z5jyaNpTdOYT4CpbvWPTc98sju', '2026-09-13 14:46:31', '2026-09-13 14:46:31', NULL);

-- --------------------------------------------------------

--
-- Struktur dari tabel `withdrawal_requests`
--

CREATE TABLE `withdrawal_requests` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `tenant_id` bigint(20) UNSIGNED NOT NULL,
  `tenant_bank_account_id` bigint(20) UNSIGNED NOT NULL,
  `requested_by` bigint(20) UNSIGNED NOT NULL,
  `reviewed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `processed_by` bigint(20) UNSIGNED DEFAULT NULL,
  `reserve_ledger_entry_id` bigint(20) UNSIGNED DEFAULT NULL,
  `withdrawal_number` varchar(255) NOT NULL,
  `idempotency_key` varchar(255) NOT NULL,
  `amount` bigint(20) UNSIGNED NOT NULL,
  `currency` varchar(3) NOT NULL DEFAULT 'IDR',
  `status` varchar(255) NOT NULL DEFAULT 'pending',
  `payout_provider` varchar(255) NOT NULL DEFAULT 'manual',
  `payout_reference` varchar(255) DEFAULT NULL,
  `proof_path` varchar(255) DEFAULT NULL,
  `request_note` text DEFAULT NULL,
  `review_note` text DEFAULT NULL,
  `failure_reason` text DEFAULT NULL,
  `requested_at` timestamp NOT NULL,
  `reviewed_at` timestamp NULL DEFAULT NULL,
  `processing_started_at` timestamp NULL DEFAULT NULL,
  `paid_at` timestamp NULL DEFAULT NULL,
  `reversed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `articles`
--
ALTER TABLE `articles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `articles_slug_unique` (`slug`),
  ADD KEY `articles_author_id_foreign` (`author_id`),
  ADD KEY `articles_status_published_at_index` (`status`,`published_at`);

--
-- Indeks untuk tabel `cache`
--
ALTER TABLE `cache`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_expiration_index` (`expiration`);

--
-- Indeks untuk tabel `cache_locks`
--
ALTER TABLE `cache_locks`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_locks_expiration_index` (`expiration`);

--
-- Indeks untuk tabel `chat_content_reports`
--
ALTER TABLE `chat_content_reports`
  ADD PRIMARY KEY (`id`),
  ADD KEY `chat_content_reports_reporter_user_id_foreign` (`reporter_user_id`),
  ADD KEY `chat_content_reports_tenant_id_foreign` (`tenant_id`),
  ADD KEY `chat_content_reports_pharmacy_conversation_id_foreign` (`pharmacy_conversation_id`),
  ADD KEY `chat_content_reports_pharmacy_message_id_foreign` (`pharmacy_message_id`),
  ADD KEY `chat_content_reports_reviewed_by_foreign` (`reviewed_by`),
  ADD KEY `chat_content_reports_status_created_at_index` (`status`,`created_at`);

--
-- Indeks untuk tabel `commission_rules`
--
ALTER TABLE `commission_rules`
  ADD PRIMARY KEY (`id`),
  ADD KEY `commission_rules_scope_type_is_active_effective_from_index` (`scope_type`,`is_active`,`effective_from`),
  ADD KEY `commission_rules_tenant_id_is_active_index` (`tenant_id`,`is_active`),
  ADD KEY `commission_rules_category_is_active_index` (`category`,`is_active`),
  ADD KEY `commission_rules_product_id_is_active_index` (`product_id`,`is_active`);

--
-- Indeks untuk tabel `consultations`
--
ALTER TABLE `consultations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `consultations_consultation_number_unique` (`consultation_number`),
  ADD KEY `consultations_doctor_profile_id_status_scheduled_at_index` (`doctor_profile_id`,`status`,`scheduled_at`),
  ADD KEY `consultations_patient_user_id_created_at_index` (`patient_user_id`,`created_at`);

--
-- Indeks untuk tabel `consultation_messages`
--
ALTER TABLE `consultation_messages`
  ADD PRIMARY KEY (`id`),
  ADD KEY `consultation_messages_sender_user_id_foreign` (`sender_user_id`),
  ADD KEY `consultation_messages_consultation_id_created_at_index` (`consultation_id`,`created_at`);

--
-- Indeks untuk tabel `coupons`
--
ALTER TABLE `coupons`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `coupons_code_unique` (`code`),
  ADD KEY `coupons_tenant_id_foreign` (`tenant_id`),
  ADD KEY `coupons_assigned_user_id_status_expires_at_index` (`assigned_user_id`,`status`,`expires_at`);

--
-- Indeks untuk tabel `coupon_tenant`
--
ALTER TABLE `coupon_tenant`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `coupon_tenant_coupon_id_tenant_id_unique` (`coupon_id`,`tenant_id`),
  ADD KEY `coupon_tenant_tenant_id_foreign` (`tenant_id`);

--
-- Indeks untuk tabel `coupon_usages`
--
ALTER TABLE `coupon_usages`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `coupon_usages_platform_order_id_unique` (`platform_order_id`),
  ADD KEY `coupon_usages_user_id_foreign` (`user_id`),
  ADD KEY `coupon_usages_coupon_id_user_id_index` (`coupon_id`,`user_id`);

--
-- Indeks untuk tabel `customer_addresses`
--
ALTER TABLE `customer_addresses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `customer_addresses_user_id_is_default_index` (`user_id`,`is_default`);

--
-- Indeks untuk tabel `delivery_shipments`
--
ALTER TABLE `delivery_shipments`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `delivery_shipments_seller_order_id_unique` (`seller_order_id`),
  ADD UNIQUE KEY `delivery_shipments_tracking_number_unique` (`tracking_number`),
  ADD UNIQUE KEY `delivery_shipments_reference_id_unique` (`reference_id`),
  ADD UNIQUE KEY `delivery_shipments_external_id_unique` (`external_id`),
  ADD KEY `delivery_shipments_outlet_id_foreign` (`outlet_id`),
  ADD KEY `delivery_shipments_tenant_id_status_created_at_index` (`tenant_id`,`status`,`created_at`),
  ADD KEY `delivery_shipments_provider_index` (`provider`),
  ADD KEY `delivery_shipments_booking_started_at_index` (`booking_started_at`),
  ADD KEY `delivery_shipments_shipping_quote_id_foreign` (`shipping_quote_id`);

--
-- Indeks untuk tabel `device_push_tokens`
--
ALTER TABLE `device_push_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `device_push_tokens_token_unique` (`token`),
  ADD KEY `device_push_tokens_user_id_platform_index` (`user_id`,`platform`);

--
-- Indeks untuk tabel `digital_prescriptions`
--
ALTER TABLE `digital_prescriptions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `digital_prescriptions_prescription_number_unique` (`prescription_number`),
  ADD UNIQUE KEY `digital_prescriptions_consultation_id_unique` (`consultation_id`),
  ADD KEY `digital_prescriptions_doctor_profile_id_foreign` (`doctor_profile_id`),
  ADD KEY `digital_prescriptions_patient_user_id_status_index` (`patient_user_id`,`status`);

--
-- Indeks untuk tabel `digital_prescription_items`
--
ALTER TABLE `digital_prescription_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `digital_prescription_items_digital_prescription_id_foreign` (`digital_prescription_id`),
  ADD KEY `digital_prescription_items_product_id_foreign` (`product_id`);

--
-- Indeks untuk tabel `doctor_bank_accounts`
--
ALTER TABLE `doctor_bank_accounts`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `doctor_bank_accounts_doctor_profile_id_account_number_unique` (`doctor_profile_id`,`account_number`),
  ADD KEY `doctor_bank_accounts_verified_by_foreign` (`verified_by`);

--
-- Indeks untuk tabel `doctor_earnings`
--
ALTER TABLE `doctor_earnings`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `doctor_earnings_consultation_id_unique` (`consultation_id`),
  ADD KEY `doctor_earnings_doctor_profile_id_status_index` (`doctor_profile_id`,`status`);

--
-- Indeks untuk tabel `doctor_profiles`
--
ALTER TABLE `doctor_profiles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `doctor_profiles_user_id_unique` (`user_id`),
  ADD UNIQUE KEY `doctor_profiles_slug_unique` (`slug`),
  ADD UNIQUE KEY `doctor_profiles_registration_number_unique` (`registration_number`),
  ADD KEY `doctor_profiles_status_specialty_index` (`status`,`specialty`);

--
-- Indeks untuk tabel `doctor_schedules`
--
ALTER TABLE `doctor_schedules`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `doctor_schedule_slot_unique` (`doctor_profile_id`,`day_of_week`,`starts_at`,`ends_at`);

--
-- Indeks untuk tabel `doctor_withdrawal_requests`
--
ALTER TABLE `doctor_withdrawal_requests`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `doctor_withdrawal_requests_withdrawal_number_unique` (`withdrawal_number`),
  ADD UNIQUE KEY `doctor_withdrawal_requests_idempotency_key_unique` (`idempotency_key`),
  ADD KEY `doctor_withdrawal_requests_doctor_bank_account_id_foreign` (`doctor_bank_account_id`),
  ADD KEY `doctor_withdrawal_requests_requested_by_foreign` (`requested_by`),
  ADD KEY `doctor_withdrawal_requests_reviewed_by_foreign` (`reviewed_by`),
  ADD KEY `doctor_withdrawal_requests_doctor_profile_id_status_index` (`doctor_profile_id`,`status`);

--
-- Indeks untuk tabel `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`),
  ADD KEY `failed_jobs_connection_queue_failed_at_index` (`connection`,`queue`,`failed_at`);

--
-- Indeks untuk tabel `financial_ledger_entries`
--
ALTER TABLE `financial_ledger_entries`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `financial_ledger_entries_idempotency_key_unique` (`idempotency_key`),
  ADD KEY `financial_ledger_entries_platform_order_id_foreign` (`platform_order_id`),
  ADD KEY `financial_ledger_entries_refund_id_foreign` (`refund_id`),
  ADD KEY `financial_ledger_entries_created_by_foreign` (`created_by`),
  ADD KEY `financial_ledger_entries_tenant_id_account_occurred_at_index` (`tenant_id`,`account`,`occurred_at`),
  ADD KEY `financial_ledger_entries_seller_order_id_occurred_at_index` (`seller_order_id`,`occurred_at`),
  ADD KEY `financial_ledger_entries_withdrawal_request_id_occurred_at_index` (`withdrawal_request_id`,`occurred_at`);

--
-- Indeks untuk tabel `inventory_batches`
--
ALTER TABLE `inventory_batches`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `inventory_batch_identity_unique` (`tenant_id`,`outlet_id`,`product_id`,`batch_number`),
  ADD KEY `inventory_batches_product_id_foreign` (`product_id`),
  ADD KEY `inventory_batch_expiry_index` (`tenant_id`,`expired_at`,`quantity`),
  ADD KEY `inventory_batch_fefo_index` (`outlet_id`,`product_id`,`expired_at`);

--
-- Indeks untuk tabel `inventory_reservations`
--
ALTER TABLE `inventory_reservations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `inventory_reservations_order_item_id_unique` (`order_item_id`),
  ADD KEY `inventory_reservations_tenant_id_foreign` (`tenant_id`),
  ADD KEY `inventory_reservations_seller_order_id_status_index` (`seller_order_id`,`status`),
  ADD KEY `inventory_reservations_outlet_inventory_id_status_index` (`outlet_inventory_id`,`status`);

--
-- Indeks untuk tabel `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

--
-- Indeks untuk tabel `job_batches`
--
ALTER TABLE `job_batches`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `medical_device_profiles`
--
ALTER TABLE `medical_device_profiles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `medical_device_profiles_product_id_unique` (`product_id`);

--
-- Indeks untuk tabel `medical_records`
--
ALTER TABLE `medical_records`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `medical_records_consultation_id_unique` (`consultation_id`),
  ADD KEY `medical_records_doctor_profile_id_foreign` (`doctor_profile_id`),
  ADD KEY `medical_records_patient_user_id_recorded_at_index` (`patient_user_id`,`recorded_at`);

--
-- Indeks untuk tabel `medicine_profiles`
--
ALTER TABLE `medicine_profiles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `medicine_profiles_product_id_unique` (`product_id`),
  ADD KEY `medicine_profiles_medicine_class_index` (`medicine_class`);

--
-- Indeks untuk tabel `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `mobile_cart_items`
--
ALTER TABLE `mobile_cart_items`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `mobile_cart_items_user_id_product_id_unique` (`user_id`,`product_id`),
  ADD KEY `mobile_cart_items_product_id_foreign` (`product_id`);

--
-- Indeks untuk tabel `notifications`
--
ALTER TABLE `notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`);

--
-- Indeks untuk tabel `order_items`
--
ALTER TABLE `order_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_items_seller_order_id_foreign` (`seller_order_id`),
  ADD KEY `order_items_product_id_foreign` (`product_id`),
  ADD KEY `order_items_tenant_id_seller_order_id_index` (`tenant_id`,`seller_order_id`);

--
-- Indeks untuk tabel `outlet_inventories`
--
ALTER TABLE `outlet_inventories`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `inventory_tenant_outlet_product_unique` (`tenant_id`,`outlet_id`,`product_id`),
  ADD KEY `outlet_inventories_outlet_id_foreign` (`outlet_id`),
  ADD KEY `outlet_inventories_product_id_foreign` (`product_id`),
  ADD KEY `inventory_tenant_outlet_product_index` (`tenant_id`,`outlet_id`,`product_id`);

--
-- Indeks untuk tabel `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indeks untuk tabel `patient_profiles`
--
ALTER TABLE `patient_profiles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `patient_profiles_user_id_unique` (`user_id`);

--
-- Indeks untuk tabel `payments`
--
ALTER TABLE `payments`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `payments_external_id_unique` (`external_id`),
  ADD KEY `payments_platform_order_id_foreign` (`platform_order_id`),
  ADD KEY `payments_seller_order_id_status_index` (`seller_order_id`,`status`);

--
-- Indeks untuk tabel `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`),
  ADD KEY `personal_access_tokens_expires_at_index` (`expires_at`);

--
-- Indeks untuk tabel `pharmacists`
--
ALTER TABLE `pharmacists`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `pharmacists_tenant_id_professional_registration_number_unique` (`tenant_id`,`professional_registration_number`),
  ADD UNIQUE KEY `pharmacists_tenant_id_user_id_unique` (`tenant_id`,`user_id`),
  ADD KEY `pharmacists_user_id_foreign` (`user_id`),
  ADD KEY `pharmacists_outlet_id_foreign` (`outlet_id`),
  ADD KEY `pharmacists_tenant_id_verification_status_is_active_index` (`tenant_id`,`verification_status`,`is_active`);

--
-- Indeks untuk tabel `pharmacy_chat_blocks`
--
ALTER TABLE `pharmacy_chat_blocks`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `pharmacy_chat_blocks_customer_user_id_tenant_id_unique` (`customer_user_id`,`tenant_id`),
  ADD KEY `pharmacy_chat_blocks_tenant_id_foreign` (`tenant_id`);

--
-- Indeks untuk tabel `pharmacy_conversations`
--
ALTER TABLE `pharmacy_conversations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `pharmacy_conversations_product_id_foreign` (`product_id`),
  ADD KEY `pharmacy_conversations_tenant_id_status_last_message_at_index` (`tenant_id`,`status`,`last_message_at`),
  ADD KEY `pharmacy_conversations_customer_user_id_last_message_at_index` (`customer_user_id`,`last_message_at`);

--
-- Indeks untuk tabel `pharmacy_messages`
--
ALTER TABLE `pharmacy_messages`
  ADD PRIMARY KEY (`id`),
  ADD KEY `pharmacy_messages_sender_user_id_foreign` (`sender_user_id`),
  ADD KEY `pharmacy_messages_pharmacy_conversation_id_created_at_index` (`pharmacy_conversation_id`,`created_at`);

--
-- Indeks untuk tabel `pharmacy_outlets`
--
ALTER TABLE `pharmacy_outlets`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `pharmacy_outlets_tenant_id_code_unique` (`tenant_id`,`code`),
  ADD UNIQUE KEY `pharmacy_outlets_tenant_unique` (`tenant_id`);

--
-- Indeks untuk tabel `platform_orders`
--
ALTER TABLE `platform_orders`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `platform_orders_order_number_unique` (`order_number`),
  ADD KEY `platform_orders_user_id_foreign` (`user_id`),
  ADD KEY `platform_orders_coupon_id_foreign` (`coupon_id`),
  ADD KEY `platform_orders_customer_address_id_foreign` (`customer_address_id`);

--
-- Indeks untuk tabel `point_transactions`
--
ALTER TABLE `point_transactions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `point_transactions_idempotency_key_unique` (`idempotency_key`),
  ADD KEY `point_transactions_point_wallet_id_foreign` (`point_wallet_id`),
  ADD KEY `point_transactions_source_type_source_id_index` (`source_type`,`source_id`),
  ADD KEY `point_transactions_user_id_occurred_at_index` (`user_id`,`occurred_at`);

--
-- Indeks untuk tabel `point_wallets`
--
ALTER TABLE `point_wallets`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `point_wallets_user_id_unique` (`user_id`);

--
-- Indeks untuk tabel `prescriptions`
--
ALTER TABLE `prescriptions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `prescriptions_ulid_unique` (`ulid`),
  ADD UNIQUE KEY `prescriptions_digital_prescription_id_unique` (`digital_prescription_id`),
  ADD KEY `prescriptions_user_id_foreign` (`user_id`);

--
-- Indeks untuk tabel `prescription_review_logs`
--
ALTER TABLE `prescription_review_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `prescription_review_logs_prescription_review_request_id_foreign` (`prescription_review_request_id`),
  ADD KEY `prescription_review_logs_reviewer_id_foreign` (`reviewer_id`),
  ADD KEY `prescription_review_logs_tenant_id_created_at_index` (`tenant_id`,`created_at`);

--
-- Indeks untuk tabel `prescription_review_requests`
--
ALTER TABLE `prescription_review_requests`
  ADD PRIMARY KEY (`id`),
  ADD KEY `prescription_review_requests_prescription_id_foreign` (`prescription_id`),
  ADD KEY `prescription_review_requests_outlet_id_foreign` (`outlet_id`),
  ADD KEY `prescription_review_requests_reviewed_by_foreign` (`reviewed_by`),
  ADD KEY `prescription_review_requests_tenant_id_status_index` (`tenant_id`,`status`),
  ADD KEY `prescription_review_requests_customer_address_id_foreign` (`customer_address_id`);

--
-- Indeks untuk tabel `products`
--
ALTER TABLE `products`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `products_ulid_unique` (`ulid`),
  ADD UNIQUE KEY `products_slug_unique` (`slug`),
  ADD UNIQUE KEY `products_tenant_sku_unique` (`tenant_id`,`sku`),
  ADD KEY `products_product_type_index` (`product_type`),
  ADD KEY `products_category_index` (`category`),
  ADD KEY `products_status_index` (`status`),
  ADD KEY `products_created_by_foreign` (`created_by`),
  ADD KEY `products_approved_by_foreign` (`approved_by`),
  ADD KEY `products_tenant_id_status_index` (`tenant_id`,`status`),
  ADD KEY `products_platform_disabled_by_foreign` (`platform_disabled_by`),
  ADD KEY `products_marketplace_visibility_index` (`tenant_id`,`status`,`marketplace_visible`,`platform_visibility_status`);

--
-- Indeks untuk tabel `product_regulatory_histories`
--
ALTER TABLE `product_regulatory_histories`
  ADD PRIMARY KEY (`id`),
  ADD KEY `product_regulatory_histories_changed_by_foreign` (`changed_by`),
  ADD KEY `product_regulatory_histories_product_id_changed_at_index` (`product_id`,`changed_at`);

--
-- Indeks untuk tabel `referral_attributions`
--
ALTER TABLE `referral_attributions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `referral_attributions_referred_user_id_unique` (`referred_user_id`),
  ADD KEY `referral_attributions_eligible_seller_order_id_foreign` (`eligible_seller_order_id`),
  ADD KEY `referral_attributions_fraud_reviewed_by_foreign` (`fraud_reviewed_by`),
  ADD KEY `referral_referrer_status_registered_idx` (`referrer_user_id`,`status`,`registered_at`),
  ADD KEY `referral_attributions_device_hash_registered_at_index` (`device_hash`,`registered_at`),
  ADD KEY `referral_ip_registered_idx` (`registration_ip_hash`,`registered_at`);

--
-- Indeks untuk tabel `referral_rewards`
--
ALTER TABLE `referral_rewards`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `referral_rewards_referral_attribution_id_unique` (`referral_attribution_id`),
  ADD UNIQUE KEY `referral_rewards_coupon_id_unique` (`coupon_id`),
  ADD KEY `referral_rewards_user_id_status_issued_at_index` (`user_id`,`status`,`issued_at`);

--
-- Indeks untuk tabel `refunds`
--
ALTER TABLE `refunds`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `refunds_refund_key_unique` (`refund_key`),
  ADD UNIQUE KEY `refunds_provider_refund_id_unique` (`provider_refund_id`),
  ADD KEY `refunds_payment_id_foreign` (`payment_id`),
  ADD KEY `refunds_requested_by_foreign` (`requested_by`),
  ADD KEY `refunds_processed_by_foreign` (`processed_by`),
  ADD KEY `refunds_seller_order_id_status_index` (`seller_order_id`,`status`),
  ADD KEY `refunds_platform_order_id_status_index` (`platform_order_id`,`status`),
  ADD KEY `refunds_processing_started_at_index` (`processing_started_at`);

--
-- Indeks untuk tabel `regulatory_rules`
--
ALTER TABLE `regulatory_rules`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `regulatory_rules_rule_code_unique` (`rule_code`),
  ADD KEY `regulatory_rule_lookup` (`product_type`,`medicine_class`,`is_active`);

--
-- Indeks untuk tabel `seller_orders`
--
ALTER TABLE `seller_orders`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `seller_orders_seller_order_number_unique` (`seller_order_number`),
  ADD KEY `seller_orders_platform_order_id_foreign` (`platform_order_id`),
  ADD KEY `seller_orders_outlet_id_foreign` (`outlet_id`),
  ADD KEY `seller_orders_tenant_id_status_index` (`tenant_id`,`status`),
  ADD KEY `seller_orders_shipping_quote_id_foreign` (`shipping_quote_id`);

--
-- Indeks untuk tabel `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indeks untuk tabel `settlements`
--
ALTER TABLE `settlements`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `settlements_tenant_id_period_start_period_end_unique` (`tenant_id`,`period_start`,`period_end`),
  ADD UNIQUE KEY `settlements_settlement_number_unique` (`settlement_number`),
  ADD KEY `settlements_generated_by_foreign` (`generated_by`),
  ADD KEY `settlements_paid_by_foreign` (`paid_by`),
  ADD KEY `settlements_status_period_end_index` (`status`,`period_end`);

--
-- Indeks untuk tabel `settlement_items`
--
ALTER TABLE `settlement_items`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `settlement_items_seller_order_id_unique` (`seller_order_id`),
  ADD KEY `settlement_items_settlement_id_foreign` (`settlement_id`);

--
-- Indeks untuk tabel `settlement_ledger_allocations`
--
ALTER TABLE `settlement_ledger_allocations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `settlement_ledger_allocation_unique` (`settlement_id`,`financial_ledger_entry_id`),
  ADD KEY `ledger_allocation_amount_index` (`financial_ledger_entry_id`,`amount`);

--
-- Indeks untuk tabel `shipping_quotes`
--
ALTER TABLE `shipping_quotes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `shipping_quotes_reference_unique` (`reference`),
  ADD KEY `shipping_quotes_outlet_id_foreign` (`outlet_id`),
  ADD KEY `shipping_quotes_customer_address_id_foreign` (`customer_address_id`),
  ADD KEY `shipping_quotes_platform_order_id_foreign` (`platform_order_id`),
  ADD KEY `shipping_quotes_seller_order_id_foreign` (`seller_order_id`),
  ADD KEY `shipping_quotes_user_id_status_expires_at_index` (`user_id`,`status`,`expires_at`),
  ADD KEY `shipping_quotes_tenant_id_outlet_id_status_index` (`tenant_id`,`outlet_id`,`status`);

--
-- Indeks untuk tabel `tenants`
--
ALTER TABLE `tenants`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `tenants_ulid_unique` (`ulid`),
  ADD UNIQUE KEY `tenants_slug_unique` (`slug`),
  ADD KEY `tenants_status_index` (`status`);

--
-- Indeks untuk tabel `tenant_bank_accounts`
--
ALTER TABLE `tenant_bank_accounts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `tenant_bank_accounts_verified_by_foreign` (`verified_by`),
  ADD KEY `tenant_bank_accounts_tenant_id_verification_status_index` (`tenant_id`,`verification_status`);

--
-- Indeks untuk tabel `tenant_licenses`
--
ALTER TABLE `tenant_licenses`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `tenant_licenses_tenant_id_license_type_license_number_unique` (`tenant_id`,`license_type`,`license_number`),
  ADD KEY `tenant_licenses_outlet_id_foreign` (`outlet_id`),
  ADD KEY `tenant_licenses_verified_by_foreign` (`verified_by`),
  ADD KEY `tenant_licenses_verification_status_expired_at_index` (`verification_status`,`expired_at`);

--
-- Indeks untuk tabel `tenant_users`
--
ALTER TABLE `tenant_users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `tenant_users_tenant_id_user_id_unique` (`tenant_id`,`user_id`),
  ADD UNIQUE KEY `tenant_users_tenant_unique` (`tenant_id`),
  ADD UNIQUE KEY `tenant_users_user_unique` (`user_id`),
  ADD KEY `tenant_users_tenant_id_role_status_index` (`tenant_id`,`role`,`status`);

--
-- Indeks untuk tabel `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`),
  ADD UNIQUE KEY `users_phone_unique` (`phone`),
  ADD UNIQUE KEY `users_referral_code_unique` (`referral_code`),
  ADD UNIQUE KEY `users_google_id_unique` (`google_id`),
  ADD KEY `users_platform_role_index` (`platform_role`),
  ADD KEY `users_account_deleted_at_index` (`account_deleted_at`);

--
-- Indeks untuk tabel `withdrawal_requests`
--
ALTER TABLE `withdrawal_requests`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `withdrawal_requests_withdrawal_number_unique` (`withdrawal_number`),
  ADD UNIQUE KEY `withdrawal_requests_idempotency_key_unique` (`idempotency_key`),
  ADD KEY `withdrawal_requests_tenant_bank_account_id_foreign` (`tenant_bank_account_id`),
  ADD KEY `withdrawal_requests_requested_by_foreign` (`requested_by`),
  ADD KEY `withdrawal_requests_reviewed_by_foreign` (`reviewed_by`),
  ADD KEY `withdrawal_requests_processed_by_foreign` (`processed_by`),
  ADD KEY `withdrawal_requests_reserve_ledger_entry_id_foreign` (`reserve_ledger_entry_id`),
  ADD KEY `withdrawal_requests_tenant_id_status_requested_at_index` (`tenant_id`,`status`,`requested_at`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `articles`
--
ALTER TABLE `articles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `chat_content_reports`
--
ALTER TABLE `chat_content_reports`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `commission_rules`
--
ALTER TABLE `commission_rules`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `consultations`
--
ALTER TABLE `consultations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `consultation_messages`
--
ALTER TABLE `consultation_messages`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `coupons`
--
ALTER TABLE `coupons`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT untuk tabel `coupon_tenant`
--
ALTER TABLE `coupon_tenant`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `coupon_usages`
--
ALTER TABLE `coupon_usages`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `customer_addresses`
--
ALTER TABLE `customer_addresses`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `delivery_shipments`
--
ALTER TABLE `delivery_shipments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `device_push_tokens`
--
ALTER TABLE `device_push_tokens`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `digital_prescriptions`
--
ALTER TABLE `digital_prescriptions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `digital_prescription_items`
--
ALTER TABLE `digital_prescription_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `doctor_bank_accounts`
--
ALTER TABLE `doctor_bank_accounts`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `doctor_earnings`
--
ALTER TABLE `doctor_earnings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `doctor_profiles`
--
ALTER TABLE `doctor_profiles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `doctor_schedules`
--
ALTER TABLE `doctor_schedules`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=30;

--
-- AUTO_INCREMENT untuk tabel `doctor_withdrawal_requests`
--
ALTER TABLE `doctor_withdrawal_requests`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `financial_ledger_entries`
--
ALTER TABLE `financial_ledger_entries`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `inventory_batches`
--
ALTER TABLE `inventory_batches`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `inventory_reservations`
--
ALTER TABLE `inventory_reservations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT untuk tabel `medical_device_profiles`
--
ALTER TABLE `medical_device_profiles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;

--
-- AUTO_INCREMENT untuk tabel `medical_records`
--
ALTER TABLE `medical_records`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `medicine_profiles`
--
ALTER TABLE `medicine_profiles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=141;

--
-- AUTO_INCREMENT untuk tabel `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=87;

--
-- AUTO_INCREMENT untuk tabel `mobile_cart_items`
--
ALTER TABLE `mobile_cart_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT untuk tabel `order_items`
--
ALTER TABLE `order_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `outlet_inventories`
--
ALTER TABLE `outlet_inventories`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=156;

--
-- AUTO_INCREMENT untuk tabel `patient_profiles`
--
ALTER TABLE `patient_profiles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `payments`
--
ALTER TABLE `payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `pharmacists`
--
ALTER TABLE `pharmacists`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `pharmacy_chat_blocks`
--
ALTER TABLE `pharmacy_chat_blocks`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `pharmacy_conversations`
--
ALTER TABLE `pharmacy_conversations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `pharmacy_messages`
--
ALTER TABLE `pharmacy_messages`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `pharmacy_outlets`
--
ALTER TABLE `pharmacy_outlets`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `platform_orders`
--
ALTER TABLE `platform_orders`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `point_transactions`
--
ALTER TABLE `point_transactions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `point_wallets`
--
ALTER TABLE `point_wallets`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `prescriptions`
--
ALTER TABLE `prescriptions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `prescription_review_logs`
--
ALTER TABLE `prescription_review_logs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `prescription_review_requests`
--
ALTER TABLE `prescription_review_requests`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `products`
--
ALTER TABLE `products`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=156;

--
-- AUTO_INCREMENT untuk tabel `product_regulatory_histories`
--
ALTER TABLE `product_regulatory_histories`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `referral_attributions`
--
ALTER TABLE `referral_attributions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `referral_rewards`
--
ALTER TABLE `referral_rewards`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `refunds`
--
ALTER TABLE `refunds`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `regulatory_rules`
--
ALTER TABLE `regulatory_rules`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `seller_orders`
--
ALTER TABLE `seller_orders`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `settlements`
--
ALTER TABLE `settlements`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `settlement_items`
--
ALTER TABLE `settlement_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `settlement_ledger_allocations`
--
ALTER TABLE `settlement_ledger_allocations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `shipping_quotes`
--
ALTER TABLE `shipping_quotes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;

--
-- AUTO_INCREMENT untuk tabel `tenants`
--
ALTER TABLE `tenants`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `tenant_bank_accounts`
--
ALTER TABLE `tenant_bank_accounts`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `tenant_licenses`
--
ALTER TABLE `tenant_licenses`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `tenant_users`
--
ALTER TABLE `tenant_users`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT untuk tabel `withdrawal_requests`
--
ALTER TABLE `withdrawal_requests`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- Ketidakleluasaan untuk tabel pelimpahan (Dumped Tables)
--

--
-- Ketidakleluasaan untuk tabel `articles`
--
ALTER TABLE `articles`
  ADD CONSTRAINT `articles_author_id_foreign` FOREIGN KEY (`author_id`) REFERENCES `users` (`id`);

--
-- Ketidakleluasaan untuk tabel `chat_content_reports`
--
ALTER TABLE `chat_content_reports`
  ADD CONSTRAINT `chat_content_reports_pharmacy_conversation_id_foreign` FOREIGN KEY (`pharmacy_conversation_id`) REFERENCES `pharmacy_conversations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `chat_content_reports_pharmacy_message_id_foreign` FOREIGN KEY (`pharmacy_message_id`) REFERENCES `pharmacy_messages` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `chat_content_reports_reporter_user_id_foreign` FOREIGN KEY (`reporter_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `chat_content_reports_reviewed_by_foreign` FOREIGN KEY (`reviewed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `chat_content_reports_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `commission_rules`
--
ALTER TABLE `commission_rules`
  ADD CONSTRAINT `commission_rules_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `commission_rules_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `consultations`
--
ALTER TABLE `consultations`
  ADD CONSTRAINT `consultations_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`),
  ADD CONSTRAINT `consultations_patient_user_id_foreign` FOREIGN KEY (`patient_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `consultation_messages`
--
ALTER TABLE `consultation_messages`
  ADD CONSTRAINT `consultation_messages_consultation_id_foreign` FOREIGN KEY (`consultation_id`) REFERENCES `consultations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `consultation_messages_sender_user_id_foreign` FOREIGN KEY (`sender_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `coupons`
--
ALTER TABLE `coupons`
  ADD CONSTRAINT `coupons_assigned_user_id_foreign` FOREIGN KEY (`assigned_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `coupons_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `coupon_tenant`
--
ALTER TABLE `coupon_tenant`
  ADD CONSTRAINT `coupon_tenant_coupon_id_foreign` FOREIGN KEY (`coupon_id`) REFERENCES `coupons` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `coupon_tenant_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `coupon_usages`
--
ALTER TABLE `coupon_usages`
  ADD CONSTRAINT `coupon_usages_coupon_id_foreign` FOREIGN KEY (`coupon_id`) REFERENCES `coupons` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `coupon_usages_platform_order_id_foreign` FOREIGN KEY (`platform_order_id`) REFERENCES `platform_orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `coupon_usages_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `customer_addresses`
--
ALTER TABLE `customer_addresses`
  ADD CONSTRAINT `customer_addresses_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `delivery_shipments`
--
ALTER TABLE `delivery_shipments`
  ADD CONSTRAINT `delivery_shipments_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`),
  ADD CONSTRAINT `delivery_shipments_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `delivery_shipments_shipping_quote_id_foreign` FOREIGN KEY (`shipping_quote_id`) REFERENCES `shipping_quotes` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `delivery_shipments_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `device_push_tokens`
--
ALTER TABLE `device_push_tokens`
  ADD CONSTRAINT `device_push_tokens_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `digital_prescriptions`
--
ALTER TABLE `digital_prescriptions`
  ADD CONSTRAINT `digital_prescriptions_consultation_id_foreign` FOREIGN KEY (`consultation_id`) REFERENCES `consultations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `digital_prescriptions_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`),
  ADD CONSTRAINT `digital_prescriptions_patient_user_id_foreign` FOREIGN KEY (`patient_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `digital_prescription_items`
--
ALTER TABLE `digital_prescription_items`
  ADD CONSTRAINT `digital_prescription_items_digital_prescription_id_foreign` FOREIGN KEY (`digital_prescription_id`) REFERENCES `digital_prescriptions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `digital_prescription_items_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `doctor_bank_accounts`
--
ALTER TABLE `doctor_bank_accounts`
  ADD CONSTRAINT `doctor_bank_accounts_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `doctor_bank_accounts_verified_by_foreign` FOREIGN KEY (`verified_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `doctor_earnings`
--
ALTER TABLE `doctor_earnings`
  ADD CONSTRAINT `doctor_earnings_consultation_id_foreign` FOREIGN KEY (`consultation_id`) REFERENCES `consultations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `doctor_earnings_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `doctor_profiles`
--
ALTER TABLE `doctor_profiles`
  ADD CONSTRAINT `doctor_profiles_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `doctor_schedules`
--
ALTER TABLE `doctor_schedules`
  ADD CONSTRAINT `doctor_schedules_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `doctor_withdrawal_requests`
--
ALTER TABLE `doctor_withdrawal_requests`
  ADD CONSTRAINT `doctor_withdrawal_requests_doctor_bank_account_id_foreign` FOREIGN KEY (`doctor_bank_account_id`) REFERENCES `doctor_bank_accounts` (`id`),
  ADD CONSTRAINT `doctor_withdrawal_requests_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `doctor_withdrawal_requests_requested_by_foreign` FOREIGN KEY (`requested_by`) REFERENCES `users` (`id`),
  ADD CONSTRAINT `doctor_withdrawal_requests_reviewed_by_foreign` FOREIGN KEY (`reviewed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `financial_ledger_entries`
--
ALTER TABLE `financial_ledger_entries`
  ADD CONSTRAINT `financial_ledger_entries_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `financial_ledger_entries_platform_order_id_foreign` FOREIGN KEY (`platform_order_id`) REFERENCES `platform_orders` (`id`),
  ADD CONSTRAINT `financial_ledger_entries_refund_id_foreign` FOREIGN KEY (`refund_id`) REFERENCES `refunds` (`id`),
  ADD CONSTRAINT `financial_ledger_entries_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`),
  ADD CONSTRAINT `financial_ledger_entries_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`),
  ADD CONSTRAINT `financial_ledger_entries_withdrawal_request_id_foreign` FOREIGN KEY (`withdrawal_request_id`) REFERENCES `withdrawal_requests` (`id`);

--
-- Ketidakleluasaan untuk tabel `inventory_batches`
--
ALTER TABLE `inventory_batches`
  ADD CONSTRAINT `inventory_batches_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `inventory_batches_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`),
  ADD CONSTRAINT `inventory_batches_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `inventory_reservations`
--
ALTER TABLE `inventory_reservations`
  ADD CONSTRAINT `inventory_reservations_order_item_id_foreign` FOREIGN KEY (`order_item_id`) REFERENCES `order_items` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `inventory_reservations_outlet_inventory_id_foreign` FOREIGN KEY (`outlet_inventory_id`) REFERENCES `outlet_inventories` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `inventory_reservations_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `inventory_reservations_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `medical_device_profiles`
--
ALTER TABLE `medical_device_profiles`
  ADD CONSTRAINT `medical_device_profiles_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `medical_records`
--
ALTER TABLE `medical_records`
  ADD CONSTRAINT `medical_records_consultation_id_foreign` FOREIGN KEY (`consultation_id`) REFERENCES `consultations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `medical_records_doctor_profile_id_foreign` FOREIGN KEY (`doctor_profile_id`) REFERENCES `doctor_profiles` (`id`),
  ADD CONSTRAINT `medical_records_patient_user_id_foreign` FOREIGN KEY (`patient_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `medicine_profiles`
--
ALTER TABLE `medicine_profiles`
  ADD CONSTRAINT `medicine_profiles_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `mobile_cart_items`
--
ALTER TABLE `mobile_cart_items`
  ADD CONSTRAINT `mobile_cart_items_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `mobile_cart_items_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `order_items`
--
ALTER TABLE `order_items`
  ADD CONSTRAINT `order_items_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`),
  ADD CONSTRAINT `order_items_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_items_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `outlet_inventories`
--
ALTER TABLE `outlet_inventories`
  ADD CONSTRAINT `outlet_inventories_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `outlet_inventories_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`),
  ADD CONSTRAINT `outlet_inventories_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `patient_profiles`
--
ALTER TABLE `patient_profiles`
  ADD CONSTRAINT `patient_profiles_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `payments`
--
ALTER TABLE `payments`
  ADD CONSTRAINT `payments_platform_order_id_foreign` FOREIGN KEY (`platform_order_id`) REFERENCES `platform_orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `payments_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pharmacists`
--
ALTER TABLE `pharmacists`
  ADD CONSTRAINT `pharmacists_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pharmacists_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pharmacists_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pharmacy_chat_blocks`
--
ALTER TABLE `pharmacy_chat_blocks`
  ADD CONSTRAINT `pharmacy_chat_blocks_customer_user_id_foreign` FOREIGN KEY (`customer_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pharmacy_chat_blocks_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pharmacy_conversations`
--
ALTER TABLE `pharmacy_conversations`
  ADD CONSTRAINT `pharmacy_conversations_customer_user_id_foreign` FOREIGN KEY (`customer_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pharmacy_conversations_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pharmacy_conversations_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pharmacy_messages`
--
ALTER TABLE `pharmacy_messages`
  ADD CONSTRAINT `pharmacy_messages_pharmacy_conversation_id_foreign` FOREIGN KEY (`pharmacy_conversation_id`) REFERENCES `pharmacy_conversations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pharmacy_messages_sender_user_id_foreign` FOREIGN KEY (`sender_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pharmacy_outlets`
--
ALTER TABLE `pharmacy_outlets`
  ADD CONSTRAINT `pharmacy_outlets_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `platform_orders`
--
ALTER TABLE `platform_orders`
  ADD CONSTRAINT `platform_orders_coupon_id_foreign` FOREIGN KEY (`coupon_id`) REFERENCES `coupons` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `platform_orders_customer_address_id_foreign` FOREIGN KEY (`customer_address_id`) REFERENCES `customer_addresses` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `platform_orders_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `point_transactions`
--
ALTER TABLE `point_transactions`
  ADD CONSTRAINT `point_transactions_point_wallet_id_foreign` FOREIGN KEY (`point_wallet_id`) REFERENCES `point_wallets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `point_transactions_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `point_wallets`
--
ALTER TABLE `point_wallets`
  ADD CONSTRAINT `point_wallets_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `prescriptions`
--
ALTER TABLE `prescriptions`
  ADD CONSTRAINT `prescriptions_digital_prescription_id_foreign` FOREIGN KEY (`digital_prescription_id`) REFERENCES `digital_prescriptions` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `prescriptions_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `prescription_review_logs`
--
ALTER TABLE `prescription_review_logs`
  ADD CONSTRAINT `prescription_review_logs_prescription_review_request_id_foreign` FOREIGN KEY (`prescription_review_request_id`) REFERENCES `prescription_review_requests` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `prescription_review_logs_reviewer_id_foreign` FOREIGN KEY (`reviewer_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `prescription_review_logs_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `prescription_review_requests`
--
ALTER TABLE `prescription_review_requests`
  ADD CONSTRAINT `prescription_review_requests_customer_address_id_foreign` FOREIGN KEY (`customer_address_id`) REFERENCES `customer_addresses` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `prescription_review_requests_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `prescription_review_requests_prescription_id_foreign` FOREIGN KEY (`prescription_id`) REFERENCES `prescriptions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `prescription_review_requests_reviewed_by_foreign` FOREIGN KEY (`reviewed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `prescription_review_requests_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `products`
--
ALTER TABLE `products`
  ADD CONSTRAINT `products_approved_by_foreign` FOREIGN KEY (`approved_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `products_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `products_platform_disabled_by_foreign` FOREIGN KEY (`platform_disabled_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `products_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `product_regulatory_histories`
--
ALTER TABLE `product_regulatory_histories`
  ADD CONSTRAINT `product_regulatory_histories_changed_by_foreign` FOREIGN KEY (`changed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `product_regulatory_histories_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`);

--
-- Ketidakleluasaan untuk tabel `referral_attributions`
--
ALTER TABLE `referral_attributions`
  ADD CONSTRAINT `referral_attributions_eligible_seller_order_id_foreign` FOREIGN KEY (`eligible_seller_order_id`) REFERENCES `seller_orders` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `referral_attributions_fraud_reviewed_by_foreign` FOREIGN KEY (`fraud_reviewed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `referral_attributions_referred_user_id_foreign` FOREIGN KEY (`referred_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `referral_attributions_referrer_user_id_foreign` FOREIGN KEY (`referrer_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `referral_rewards`
--
ALTER TABLE `referral_rewards`
  ADD CONSTRAINT `referral_rewards_coupon_id_foreign` FOREIGN KEY (`coupon_id`) REFERENCES `coupons` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `referral_rewards_referral_attribution_id_foreign` FOREIGN KEY (`referral_attribution_id`) REFERENCES `referral_attributions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `referral_rewards_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `refunds`
--
ALTER TABLE `refunds`
  ADD CONSTRAINT `refunds_payment_id_foreign` FOREIGN KEY (`payment_id`) REFERENCES `payments` (`id`),
  ADD CONSTRAINT `refunds_platform_order_id_foreign` FOREIGN KEY (`platform_order_id`) REFERENCES `platform_orders` (`id`),
  ADD CONSTRAINT `refunds_processed_by_foreign` FOREIGN KEY (`processed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `refunds_requested_by_foreign` FOREIGN KEY (`requested_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `refunds_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`);

--
-- Ketidakleluasaan untuk tabel `seller_orders`
--
ALTER TABLE `seller_orders`
  ADD CONSTRAINT `seller_orders_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`),
  ADD CONSTRAINT `seller_orders_platform_order_id_foreign` FOREIGN KEY (`platform_order_id`) REFERENCES `platform_orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `seller_orders_shipping_quote_id_foreign` FOREIGN KEY (`shipping_quote_id`) REFERENCES `shipping_quotes` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `seller_orders_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `settlements`
--
ALTER TABLE `settlements`
  ADD CONSTRAINT `settlements_generated_by_foreign` FOREIGN KEY (`generated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `settlements_paid_by_foreign` FOREIGN KEY (`paid_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `settlements_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `settlement_items`
--
ALTER TABLE `settlement_items`
  ADD CONSTRAINT `settlement_items_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`),
  ADD CONSTRAINT `settlement_items_settlement_id_foreign` FOREIGN KEY (`settlement_id`) REFERENCES `settlements` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `settlement_ledger_allocations`
--
ALTER TABLE `settlement_ledger_allocations`
  ADD CONSTRAINT `settlement_ledger_allocations_financial_ledger_entry_id_foreign` FOREIGN KEY (`financial_ledger_entry_id`) REFERENCES `financial_ledger_entries` (`id`),
  ADD CONSTRAINT `settlement_ledger_allocations_settlement_id_foreign` FOREIGN KEY (`settlement_id`) REFERENCES `settlements` (`id`);

--
-- Ketidakleluasaan untuk tabel `shipping_quotes`
--
ALTER TABLE `shipping_quotes`
  ADD CONSTRAINT `shipping_quotes_customer_address_id_foreign` FOREIGN KEY (`customer_address_id`) REFERENCES `customer_addresses` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `shipping_quotes_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`),
  ADD CONSTRAINT `shipping_quotes_platform_order_id_foreign` FOREIGN KEY (`platform_order_id`) REFERENCES `platform_orders` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `shipping_quotes_seller_order_id_foreign` FOREIGN KEY (`seller_order_id`) REFERENCES `seller_orders` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `shipping_quotes_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `shipping_quotes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `tenant_bank_accounts`
--
ALTER TABLE `tenant_bank_accounts`
  ADD CONSTRAINT `tenant_bank_accounts_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tenant_bank_accounts_verified_by_foreign` FOREIGN KEY (`verified_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `tenant_licenses`
--
ALTER TABLE `tenant_licenses`
  ADD CONSTRAINT `tenant_licenses_outlet_id_foreign` FOREIGN KEY (`outlet_id`) REFERENCES `pharmacy_outlets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tenant_licenses_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tenant_licenses_verified_by_foreign` FOREIGN KEY (`verified_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `tenant_users`
--
ALTER TABLE `tenant_users`
  ADD CONSTRAINT `tenant_users_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tenant_users_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `withdrawal_requests`
--
ALTER TABLE `withdrawal_requests`
  ADD CONSTRAINT `withdrawal_requests_processed_by_foreign` FOREIGN KEY (`processed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `withdrawal_requests_requested_by_foreign` FOREIGN KEY (`requested_by`) REFERENCES `users` (`id`),
  ADD CONSTRAINT `withdrawal_requests_reserve_ledger_entry_id_foreign` FOREIGN KEY (`reserve_ledger_entry_id`) REFERENCES `financial_ledger_entries` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `withdrawal_requests_reviewed_by_foreign` FOREIGN KEY (`reviewed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `withdrawal_requests_tenant_bank_account_id_foreign` FOREIGN KEY (`tenant_bank_account_id`) REFERENCES `tenant_bank_accounts` (`id`),
  ADD CONSTRAINT `withdrawal_requests_tenant_id_foreign` FOREIGN KEY (`tenant_id`) REFERENCES `tenants` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
