/** Batasan bisnis & input (Phase 2) */
export const LIMITS = {
  /** Maks trip yang bisa dibuat satu organizer per hari kalender (UTC) */
  MAX_TRIPS_PER_ORGANIZER_PER_DAY: 15,
  MIN_PARTICIPANTS: 1,
  /** Cap small-group experience: 5–10 ideal, 15 sebagai batas atas fleksibel */
  MAX_PARTICIPANTS: 15,
  MAX_PRICE_IDR: 100_000_000,
  MAX_TITLE_LENGTH: 120,
  MAX_DESTINATION_LENGTH: 100,
  MAX_LOCATION_LENGTH: 120,
  MAX_DESCRIPTION_LENGTH: 5000,
  /** Meeting point & tiap blok include/exclude */
  MAX_MEETING_POINT_LENGTH: 500,
  MAX_TRIP_ITINERARY_LENGTH: 8000,
  /** Itinerary baru terstruktur: maksimal hari dalam satu trip. */
  MAX_ITINERARY_DAYS: 14,
  /** Maksimal item itinerary per trip (lintas hari). */
  MAX_ITINERARY_ITEMS: 60,
  /** Maksimal panjang deskripsi satu aktivitas. */
  MAX_ITINERARY_ACTIVITY_LENGTH: 200,
  MAX_TRIP_BULLET_SECTION_LENGTH: 4000,
  MAX_REVIEW_COMMENT: 500,
  MAX_IMAGE_URLS: 5,
  MAX_URL_LENGTH: 2048,
  MAX_NAME_LENGTH: 80,
  MAX_PASSWORD_LENGTH: 72,
  /** Profil sosial publik */
  MAX_PROFILE_BIO_LENGTH: 500,
  MAX_PROFILE_CITY_LENGTH: 60,
  MAX_PROFILE_INTEREST_LENGTH: 30,
  MAX_PROFILE_INTERESTS_COUNT: 10,
  MAX_PROFILE_INSTAGRAM_LENGTH: 30,
  /** Verifikasi organizer (KTP + bank) */
  MAX_ADDRESS_LENGTH: 500,
  MAX_BANK_NAME_LENGTH: 60,
  MAX_BANK_ACCOUNT_NUMBER_LENGTH: 32,
  MAX_REJECTION_REASON_LENGTH: 500,
  NIK_LENGTH: 16,
  /** Catatan laporan dari peserta/organizer + catatan admin pada refund. */
  MAX_REFUND_NOTE_LENGTH: 1000,
} as const;
