;; wudu-station -- wudu facility locator and ratings
(define-data-var station-count uint u0)
(define-map stations uint { owner: principal, location: (string-ascii 50), rating: uint, reviews: uint, active: bool })
(define-public (add-station (location (string-ascii 50)))
(let ((id (+ (var-get station-count) u1)))
(var-set station-count id)
(map-set stations id { owner: tx-sender, location: location, rating: u0, reviews: u0, active: true }) (ok id)))
(define-public (rate-station (id uint) (score uint))
(let ((s (unwrap! (map-get? stations id) (err u404))))
(map-set stations id (merge s { rating: (+ (get rating s) score), reviews: (+ (get reviews s) u1) })) (ok true)))
(define-read-only (get-station (id uint)) (map-get? stations id))
(define-read-only (get-count) (var-get station-count))