-- https://www.phpmyadmin.net/
--
-- Waktu pembuatan: 03 Jul 2025 pada 08.03
-- Versi server: 10.4.32-MariaDB
-- Versi PHP: 8.2.12

START TRANSACTION;



--
-- Database: `db_manajemen_ac`
--

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

--
-- Struktur dari tabel `billing`
--

CREATE TABLE `billing` (
  `id` int(11) NOT NULL,
  `penugasan_id` int(11) NOT NULL,
  `total_tagihan` decimal(10,2) NOT NULL,
  `metode_pembayaran` enum('cash','transfer','belum_dipilih') DEFAULT 'belum_dipilih',
  `status_pembayaran` enum('belum_lunas','lunas') DEFAULT 'belum_lunas',
  `tanggal_kirim_tagihan` datetime DEFAULT NULL,
  `tanggal_lunas` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `billing`
--

INSERT INTO `billing` (`id`, `penugasan_id`, `total_tagihan`, `metode_pembayaran`, `status_pembayaran`, `tanggal_kirim_tagihan`, `tanggal_lunas`) VALUES
(1, 1, 80000.00, 'transfer', 'lunas', NULL, '2025-07-03 12:29:05'),
(2, 2, 200000.00, 'cash', 'lunas', '2025-07-03 12:27:15', '2025-07-03 12:28:18');

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

--
-- Struktur dari tabel `pelanggan`
--

CREATE TABLE `pelanggan` (
  `id` int(11) NOT NULL,
  `nama_pelanggan` varchar(100) NOT NULL,
  `no_whatsapp` varchar(20) NOT NULL,
  `alamat_lengkap` text NOT NULL,
  `koordinat_gps` varchar(100) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `last_service_date` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `pelanggan`
--

INSERT INTO `pelanggan` (`id`, `nama_pelanggan`, `no_whatsapp`, `alamat_lengkap`, `koordinat_gps`, `created_at`, `last_service_date`) VALUES
(1, 'Jennahara', '08213621632173213', 'Jl. Kamboja II, Delima, Kec. Tampan, Kota Pekanbaru, Riau 28289', '0.468911, 101.411086', '2025-07-03 05:12:25', NULL),
(2, 'Jasmine', '08236817261', 'Delima, Kec. Tampan, Kota Pekanbaru, Riau 28289', '0.468383, 101.411789', '2025-07-03 05:23:15', NULL);

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

--
-- Struktur dari tabel `penugasan`
--

CREATE TABLE `penugasan` (
  `id` int(11) NOT NULL,
  `pesanan_id` int(11) NOT NULL,
  `teknisi_id` int(11) NOT NULL,
  `tanggal_penjadwalan` date NOT NULL,
  `waktu_check_in` datetime DEFAULT NULL,
  `waktu_checkout` datetime DEFAULT NULL,
  `durasi_kerja_menit` int(11) DEFAULT 0,
  `catatan_perbaikan` text DEFAULT NULL,
  `biaya_final` decimal(10,2) DEFAULT 0.00,
  `status_tugas` enum('akan_datang','dikerjakan','pending','selesai') DEFAULT 'akan_datang',
  `alasan_pending` text DEFAULT NULL,
  `jadwal_lanjutan` date DEFAULT NULL,
  `catatan_khusus` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `penugasan`
--

INSERT INTO `penugasan` (`id`, `pesanan_id`, `teknisi_id`, `tanggal_penjadwalan`, `waktu_check_in`, `waktu_checkout`, `durasi_kerja_menit`, `catatan_perbaikan`, `biaya_final`, `status_tugas`, `alasan_pending`, `jadwal_lanjutan`, `catatan_khusus`) VALUES
(1, 1, 1, '2025-07-03', '2025-07-03 12:14:37', '2025-07-03 12:16:39', 2, 'cuci ac', 80000.00, 'selesai', NULL, NULL, ''),
(2, 2, 1, '2025-07-03', '2025-07-03 12:25:05', '2025-07-03 12:27:15', 2, 'isi freon', 200000.00, 'selesai', NULL, NULL, ''),
(3, 3, 1, '2025-07-03', '2025-07-03 12:49:10', NULL, 0, NULL, 0.00, 'pending', 'Pindah lokasi pemasangan', '2025-07-04', 'Permintaan kunjungan jam 16:00-18:00'),
(4, 4, 1, '2025-07-04', NULL, NULL, 0, NULL, 0.00, 'akan_datang', NULL, NULL, 'Pelanggan minta kunjungan pagi hari menjelang pukul 11:00');

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

--
-- Struktur dari tabel `pesanan_layanan`
--

CREATE TABLE `pesanan_layanan` (
  `id` int(11) NOT NULL,
  `pelanggan_id` int(11) NOT NULL,
  `keluhan_awal` text NOT NULL,
  `estimasi_biaya_awal` decimal(10,2) DEFAULT 0.00,
  `status_pesanan` enum('baru','dijadwalkan','dikerjakan','pending','selesai','dibatalkan') DEFAULT 'baru',
  `tanggal_pesanan` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `pesanan_layanan`
--

INSERT INTO `pesanan_layanan` (`id`, `pelanggan_id`, `keluhan_awal`, `estimasi_biaya_awal`, `status_pesanan`, `tanggal_pesanan`) VALUES
(1, 1, 'AC Bocor', 80000.00, 'selesai', '2025-07-03 05:12:56'),
(2, 2, 'AC Kurang Dingin', 2000000.00, 'selesai', '2025-07-03 05:24:14'),
(3, 2, 'AC Berbunyi keras', 50000.00, 'pending', '2025-07-03 05:34:05'),
(4, 1, 'AC Rembes', 80000.00, 'dijadwalkan', '2025-07-03 05:47:53');

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

--
-- Struktur dari tabel `teknisi`
--

CREATE TABLE `teknisi` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `no_telepon` varchar(20) NOT NULL,
  `alamat` text DEFAULT NULL,
  `status` enum('tersedia','bertugas','tidak_aktif') DEFAULT 'tersedia'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `teknisi`
--

INSERT INTO `teknisi` (`id`, `user_id`, `no_telepon`, `alamat`, `status`) VALUES
(1, 2, '08121625312', 'Kompleks Pergudangan Platinum, Jalan Air Hitam Blok A4, Kelurahan Simpang Baru, Simpangbaru, Tampan', 'tersedia');

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `billing`
--
ALTER TABLE `billing`
  ADD PRIMARY KEY (`id`),
  ADD KEY `penugasan_id` (`penugasan_id`);

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

--
-- Indeks untuk tabel `penugasan`
--
ALTER TABLE `penugasan`
  ADD PRIMARY KEY (`id`),
  ADD KEY `pesanan_id` (`pesanan_id`),
  ADD KEY `teknisi_id` (`teknisi_id`);

--
-- Indeks untuk tabel `pesanan_layanan`
--
ALTER TABLE `pesanan_layanan`
  ADD PRIMARY KEY (`id`),
  ADD KEY `pelanggan_id` (`pelanggan_id`);

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

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `billing`
--
ALTER TABLE `billing`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `pelanggan`
--
ALTER TABLE `pelanggan`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `penugasan`
--
ALTER TABLE `penugasan`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `pesanan_layanan`
--
ALTER TABLE `pesanan_layanan`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `teknisi`
--
ALTER TABLE `teknisi`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

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

--
-- Ketidakleluasaan untuk tabel `billing`
--
ALTER TABLE `billing`
  ADD CONSTRAINT `billing_ibfk_1` FOREIGN KEY (`penugasan_id`) REFERENCES `penugasan` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `penugasan`
--
ALTER TABLE `penugasan`
  ADD CONSTRAINT `penugasan_ibfk_1` FOREIGN KEY (`pesanan_id`) REFERENCES `pesanan_layanan` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `penugasan_ibfk_2` FOREIGN KEY (`teknisi_id`) REFERENCES `teknisi` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pesanan_layanan`
--
ALTER TABLE `pesanan_layanan`
  ADD CONSTRAINT `pesanan_layanan_ibfk_1` FOREIGN KEY (`pelanggan_id`) REFERENCES `pelanggan` (`id`) ON DELETE CASCADE;

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

