;; mawlid-event -- Mawlid celebration event planner
(define-data-var event-count uint u0)
(define-map events uint { host: principal, venue: (string-ascii 30), date: uint, guests: uint, active: bool })
(define-public (create-event (venue (string-ascii 30)) (date uint) (guests uint))
(let ((id (+ (var-get event-count) u1)))
(var-set event-count id)
(map-set events id { host: tx-sender, venue: venue, date: date, guests: guests, active: true }) (ok id)))
(define-public (cancel-event (id uint))
(let ((e (unwrap! (map-get? events id) (err u404))))
(asserts! (is-eq tx-sender (get host e)) (err u401))
(map-set events id (merge e { active: false })) (ok true)))
(define-read-only (get-event (id uint)) (map-get? events id))
(define-read-only (get-count) (var-get event-count))