;; jummah-rsvp -- Friday prayer RSVP system
(define-data-var event-count uint u0)
(define-map events uint { mosque: (string-ascii 30), date: uint, capacity: uint, rsvps: uint })
(define-map rsvps { event-id: uint, user: principal } bool)
(define-public (create-event (mosque (string-ascii 30)) (date uint) (capacity uint))
(let ((id (+ (var-get event-count) u1)))
(var-set event-count id)
(map-set events id { mosque: mosque, date: date, capacity: capacity, rsvps: u0 }) (ok id)))
(define-public (rsvp (event-id uint))
(let ((e (unwrap! (map-get? events event-id) (err u404))))
(asserts! (< (get rsvps e) (get capacity e)) (err u401))
(map-set rsvps { event-id: event-id, user: tx-sender } true)
(map-set events event-id (merge e { rsvps: (+ (get rsvps e) u1) })) (ok true)))
(define-read-only (get-event (id uint)) (map-get? events id))