{
    "info": {
        "_postman_id": "tirta-ulul-albab-3-api-v1",
        "name": "Tirta Ulul Albab 3 - Mobile REST API (V1)",
        "description": "Koleksi API resmi untuk Aplikasi Mobile & Pelanggan UPAB Pesantren Ulul Albab Cabang 3, Komplek Bumi Agnes Nanjung, Desa Sangkanhurip, Kec. Katapang, Kab. Bandung.\n\n### Panduan Otorisasi:\n1. Jalankan request **Login** atau **Aktivasi Akun**.\n2. Salin `token` dari response.\n3. Masukkan ke variable environment Postman `bearer_token` atau tab Authorization (Bearer Token).",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "variable": [
        {
            "key": "base_url",
            "value": "https://ula-water.epraja.net/api/v1",
            "type": "string"
        },
        {
            "key": "bearer_token",
            "value": "",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "1. Autentikasi & Akun Warga",
            "item": [
                {
                    "name": "Login Pelanggan",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"login\": \"warga@agnesnanjung.id\",\n    \"password\": \"password\",\n    \"device_name\": \"Samsung Galaxy A54\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/auth/login",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "login"
                            ]
                        },
                        "description": "Login menggunakan Email atau Nomor Sambungan Pelanggan (contoh: PDAM-2026-0001)."
                    }
                },
                {
                    "name": "Aktivasi Akun Mandiri (Warga Terdaftar)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"connection_number\": \"PDAM-2026-0001\",\n    \"meter_serial_number\": \"WM-AGNES-001\",\n    \"email\": \"warga@agnesnanjung.id\",\n    \"phone\": \"081234567890\",\n    \"password\": \"password123\",\n    \"password_confirmation\": \"password123\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/auth/activate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "activate"
                            ]
                        },
                        "description": "Aktivasi portal mandiri untuk warga yang nomor sambungannya sudah terdaftar di data pengelola."
                    }
                },
                {
                    "name": "Registrasi Pasang Baru Mandiri",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Bpk. Hendra Wijaya\",\n    \"identity_card_number\": \"3204123456780001\",\n    \"email\": \"hendra@gmail.com\",\n    \"phone\": \"08122334455\",\n    \"address\": \"Komplek Bumi Agnes Nanjung Blok C2 No. 12\",\n    \"category_id\": 1,\n    \"zone_id\": 1,\n    \"password\": \"password123\",\n    \"password_confirmation\": \"password123\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/auth/register",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "register"
                            ]
                        },
                        "description": "Pendaftaran akun baru sekaligus permohonan pasang baru jaringan air UPAB."
                    }
                },
                {
                    "name": "Get Profil User (Me)",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/auth/me",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "me"
                            ]
                        },
                        "description": "Mengambil data profil pelanggan yang sedang login beserta data sambungan airnya."
                    }
                },
                {
                    "name": "Logout Mobile",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/auth/logout",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "logout"
                            ]
                        },
                        "description": "Revoke token autentikasi perangkat saat ini."
                    }
                }
            ]
        },
        {
            "name": "2. Master Data & Utilitas Publik",
            "item": [
                {
                    "name": "Daftar Zonasi Wilayah",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/zones",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "zones"
                            ]
                        }
                    }
                },
                {
                    "name": "Daftar Golongan Tarif Air",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/categories",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "categories"
                            ]
                        }
                    }
                },
                {
                    "name": "Kalkulasi Estimasi Tarif (Simulasi Kubikasi)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"category_id\": 1,\n    \"usage_m3\": 25.5\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/tariffs/calculate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "tariffs",
                                "calculate"
                            ]
                        }
                    }
                },
                {
                    "name": "Status Pasokan Air & Mutu WTP",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/water-status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "water-status"
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "3. Dashboard & Tagihan Rekening Air",
            "item": [
                {
                    "name": "Ringkasan Dashboard Mobile",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/dashboard",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "dashboard"
                            ]
                        }
                    }
                },
                {
                    "name": "Daftar Tagihan Rekening Pelanggan",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/bills?status=UNPAID",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "bills"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "UNPAID",
                                    "description": "UNPAID, PAID, OVERDUE"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Detail Tagihan & Rincian Biaya",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/bills/1",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "bills",
                                "1"
                            ]
                        }
                    }
                },
                {
                    "name": "Konfirmasi Pembayaran Online (VA / QRIS)",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"payment_method\": \"QRIS\",\n    \"notes\": \"Pembayaran via QRIS Mandiri\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/bills/1/pay",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "bills",
                                "1",
                                "pay"
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "4. Catat Meter Mandiri",
            "item": [
                {
                    "name": "Info Periode Catat Meter Aktif",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/meters/current-period",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "meters",
                                "current-period"
                            ]
                        }
                    }
                },
                {
                    "name": "Kirim Angka Stand Meter & Foto Bukti",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "reading_value",
                                    "value": "142.50",
                                    "type": "text"
                                },
                                {
                                    "key": "notes",
                                    "value": "Kondisi meteran bersih dan jelas",
                                    "type": "text"
                                },
                                {
                                    "key": "photo",
                                    "type": "file",
                                    "description": "File foto angka meteran air"
                                }
                            ]
                        },
                        "url": {
                            "raw": "{{base_url}}/meters/record",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "meters",
                                "record"
                            ]
                        }
                    }
                },
                {
                    "name": "Riwayat Pencatatan Stand Meter",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/meters/history",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "meters",
                                "history"
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "5. Pengaduan Gangguan TRC & Helpdesk",
            "item": [
                {
                    "name": "Daftar Pengaduan Pelanggan",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/complaints",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "complaints"
                            ]
                        }
                    }
                },
                {
                    "name": "Kirim Laporan Gangguan Baru",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "category",
                                    "value": "Pipa Bocor",
                                    "type": "text"
                                },
                                {
                                    "key": "description",
                                    "value": "Pipa utama di depan rumah ada rembesan air cukup deras.",
                                    "type": "text"
                                },
                                {
                                    "key": "location_notes",
                                    "value": "Blok C2 No. 12 dekat pohon mangga",
                                    "type": "text"
                                },
                                {
                                    "key": "photo",
                                    "type": "file",
                                    "description": "Foto bukti kondisi kebocoran"
                                }
                            ]
                        },
                        "url": {
                            "raw": "{{base_url}}/complaints",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "complaints"
                            ]
                        }
                    }
                },
                {
                    "name": "Detail & Timeline Penanganan Gangguan",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "{{bearer_token}}",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/complaints/1",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "complaints",
                                "1"
                            ]
                        }
                    }
                }
            ]
        }
    ]
}