Skip to content

Enums & Constants

Miranda uses PHP 8.1+ backed enums for all status fields, type discriminators, and categorical values. All enums are string-backed and live in App\Enums.

Platform-level role assigned to each user.

ValueDescription
ownerFoundation owner — full access, billing, and deletion rights
adminFull operational access, cannot manage billing or delete foundation
memberStandard team member with role-based permissions
readonlyView-only access to all data

Defines the nature of a contact’s relationship with a foundation. A single contact can hold multiple relationship types simultaneously.

ValueDescription
donorHas made or intends to make financial contributions
applicantHas submitted a scholarship or grant application
subscriberSubscribed to communications (newsletter, updates)
generalGeneral contact without a specific relationship category

Events recorded in a contact’s activity timeline.

ValueDescription
donatedMade a donation
email_sentReceived an email
email_openedOpened an email
sms_sentReceived an SMS message
application_submittedSubmitted a scholarship application
scholarship_awardedWas awarded a scholarship
tag_addedHad a tag applied
note_addedHad a note added to their record
importedWas imported from an external source

ValueDescription
one_timeSingle donation
recurringRecurring donation on a schedule
ValueDescription
pendingPayment initiated but not yet confirmed
succeededPayment completed successfully
failedPayment attempt failed
refundedPayment was refunded

Schedule for recurring donations.

ValueDescription
monthlyCharged every month
quarterlyCharged every three months
annualCharged once per year
ValueDescription
draftPage is being edited, not publicly accessible
publishedPage is live and accepting donations
offlinePage is disabled but preserved

Determines the purpose and configuration schema of a donation page. Each type has a label(), description(), icon(), and configSchema() method.

ValueLabelDescription
generalGeneral FundUnrestricted giving to support your mission
scholarshipScholarship FundDonations fund a specific scholarship
campaignCampaignTime-bound campaign with a fundraising goal
memorialMemorial / TributeGiving in memory or honor of someone
emergencyEmergency FundUrgent, time-sensitive need
sustainerMonthly SustainerFocused on building recurring monthly support

Type-specific configuration fields:

  • Scholarship: scholarship_id (required select), show_scholarship_details (boolean)
  • Campaign: goal_amount (required currency), end_date (date), show_progress_bar (boolean), show_donor_count (boolean)
  • Memorial: honoree_name (required text), dedication_message (textarea), honoree_photo (image), notify_family_email (email), tribute_type (in_memory/in_honor)
  • Emergency: urgency_message (text), expiration_date (date), goal_amount (currency), show_share_prompt (boolean)
  • Sustainer: impact_per_month (textarea), recurring_only (boolean), suggested_monthly (amounts, default: 10/25/50/100)

ValueDescription
emailEmail delivery
smsSMS text message delivery
ValueDescription
draftCampaign is being composed
scheduledCampaign is queued for future delivery
sendingCampaign is actively being sent
sentCampaign delivery is complete
ValueDescription
outboundMessage sent from the foundation to a contact
inboundMessage received from a contact

Tracks delivery lifecycle of individual messages.

ValueDescription
sentMessage handed off to delivery provider
deliveredConfirmed delivered to recipient
openedRecipient opened the message
clickedRecipient clicked a link in the message
bouncedMessage bounced (invalid address or mailbox full)
failedDelivery failed permanently

Events that automatically enroll a contact into a sequence.

ValueDescription
donation_receivedA donation was successfully processed
application_submittedA scholarship application was submitted
subscriber_addedA new subscriber was added
donation_failedA donation attempt failed

Lifecycle status of a scholarship program.

ValueDescription
draftScholarship is being configured
acceptingAccepting applications
reviewingApplication period closed, under review
awardedAwards have been granted
closedScholarship cycle is complete

Review stage of an individual scholarship application.

ValueDescription
newApplication received, not yet reviewed
under_reviewApplication is being evaluated
acceptedApplication was approved for an award
declinedApplication was not selected

How an application was submitted.

ValueDescription
formSubmitted through the web form
apiSubmitted via the API
webhookReceived via webhook from an external system

Categorizes outgoing financial disbursements for reporting.

ValueDescription
scholarshipScholarship award payment
grantGrant disbursement
operationalOperational expense
programProgram-related expense
adminAdministrative expense