version: "1.0"

project:
  id: urban-bird-watch
  name: Urban Bird Watch
  description: Citizen-science survey of bird abundance and distribution
  timezone: America/Toronto
  contact_email: surveys@example.org

survey:
  protocol: stationary_point_count
  season:
    start_date: 2026-04-15
    end_date: 2026-06-30
  observation_period_minutes: 10
  minimum_start_offset_minutes: -30
  maximum_start_offset_minutes: 240
  repeat_visits_per_site: 3
  minimum_days_between_visits: 7
  allowed_weather:
    precipitation: none_or_light
    maximum_wind_beaufort: 3
    minimum_visibility_m: 500
  distance_bands_m:
    - min: 0
      max: 25
    - min: 25
      max: 50
    - min: 50
      max: 100
    - min: 100
      max: null

observations:
  required_fields:
    - site_id
    - observer_id
    - started_at
    - species_code
    - count
    - detection_type
  detection_types:
    - visual
    - song
    - call
    - flyover
  allow_unknown_species: true
  require_zero_count_submission: true
  maximum_count_per_record: 500
  evidence:
    photos:
      enabled: true
      maximum_files: 5
      maximum_size_mb: 20
    audio:
      enabled: true
      maximum_duration_seconds: 180
      maximum_size_mb: 50

participants:
  minimum_age: 13
  guardian_consent_required_under: 18
  training:
    required: true
    minimum_quiz_score_percent: 80
  privacy:
    public_display_name: optional
    obscure_home_locations: true
    location_precision_public_m: 1000

sites:
  assignment_method: nearest_available
  maximum_active_assignments_per_participant: 5
  location_precision_collection_m: 20
  sensitive_site_precision_public_m: 10000
  habitats:
    - urban_park
    - residential
    - wetland
    - woodland
    - grassland
    - agricultural

quality_control:
  taxonomy_reference: eBird/Clements
  taxonomy_version: "2025"
  duplicate_window_seconds: 30
  flag_unusual_species: true
  flag_out_of_range_dates: true
  flag_high_counts: true
  expert_review:
    enabled: true
    triggers:
      - rare_species
      - sensitive_species
      - count_above_threshold
      - missing_location
  automated_checks:
    - coordinates_within_project_boundary
    - duration_within_tolerance
    - timestamp_not_in_future
    - species_valid_for_taxonomy

data:
  license: CC-BY-4.0
  export_formats:
    - csv
    - geojson
    - darwin_core
  retention_years: 10
  backup:
    schedule: "0 3 * * *"
    retention_days: 90
  sensitive_species:
    conceal_exact_locations: true
    embargo_days: 180

notifications:
  visit_reminders:
    enabled: true
    hours_before: 24
  review_results:
    enabled: true
  channels:
    - email
    - in_app

integrations:
  weather:
    provider: environment_canada
    cache_minutes: 30
  maps:
    provider: openstreetmap
  biodiversity_repository:
    enabled: true
    provider: gbif
    publish_schedule: "0 6 1 * *"

monitoring:
  healthcheck_path: /health
  metrics_path: /metrics
  alert_email: operations@example.org
  thresholds:
    failed_submission_rate_percent: 5
    pending_review_count: 250
    export_age_hours: 48