Skip to main content

Overview

The Service model represents services and organizations available in the Dzaleka Refugee Camp. Services can include cultural organizations, educational institutions, healthcare facilities, and community services.

Schema Definition

The Service model is defined using Zod schema validation in src/content.config.ts:38-76.

TypeScript Type

Fields

Core Fields

string
required
The name of the service or organization.
string
required
A detailed description of the service, its mission, and what it offers to the community.
string
required
The category of service (e.g., “Cultural & Arts”, “Education”, “Healthcare”, “Community Services”).
Whether this service should be featured prominently on the platform. Defaults to false.
boolean
Indicates if the service has been verified by administrators.
Path to the service’s logo image (e.g., “/images/ayap.jpg”).
string
Path to a cover or promotional image for the service.
enum
Current operational status of the service. Options: 'active' | 'inactive'. Defaults to 'active'.
Date
Timestamp of when the service information was last updated.
string[]
Array of tags for categorization and searchability.

Contact Information

object

Location Information

object

Social Media

object

Business Hours

array
Array of objects defining operating hours for each day of the week.

Example

Here’s a complete example of a Service object from the African Youth Artistic Poetry organization:

Usage in Content

Services are stored as Markdown files in src/content/services/ with YAML frontmatter:

Validation Rules

  • title, description, and category are required fields
  • status must be either 'active' or 'inactive'
  • Coordinates must be valid numbers representing latitude and longitude
  • Email addresses in contact information are not validated but should follow standard email format
  • URLs in social media fields should be complete URLs including protocol