validate([ 'lat' => ['required', 'numeric', 'between:-90,90'], 'lng' => ['required', 'numeric', 'between:-180,180'], ]); $barangay = $geo->findBarangayByCoordinates((float) $data['lat'], (float) $data['lng']); if (! $barangay) { return $this->fail( 'No barangay matched the given coordinates', ['coordinates' => ['out_of_coverage']], 404, ); } $barangay->loadMissing('cityMunicipality.province.region'); return $this->ok([ 'barangay' => new BarangayResource($barangay), 'city_municipality' => $barangay->cityMunicipality?->name, 'province' => $barangay->cityMunicipality?->province?->name, 'region' => $barangay->cityMunicipality?->province?->region?->name, ], 'Coordinates resolved'); } }