Aller au contenu principal

Platform Admin: Clinic Approvals

This guide covers the platform administration workflow for reviewing and approving veterinary clinic applications.

:::caution Restricted Access Platform admin features are only available to users with the platformAdmin custom claim. This role must be assigned through the Firebase Admin SDK by authorized personnel. It cannot be self-assigned or requested through the platform. :::

Overview

As a platform admin, you are responsible for:

  • Reviewing clinic applications
  • Verifying clinic legitimacy
  • Approving or rejecting applications
  • Maintaining platform quality

Accessing Admin Features

Prerequisites

You must have:

  • A valid Putra account
  • The platformAdmin: true custom claim in Firebase Auth
  • This claim is set via the admin bootstrap script, never through the UI

When you have admin access:

  1. Sign in to your Putra account
  2. Your navigation will include Admin section
  3. Click Clinic Approvals to access the review queue

Workspace Switching

As an admin, you can switch between:

  • Client Workspace - Personal pet management
  • Admin Workspace - Platform administration

The sidebar badge indicates your current workspace.

The Approval Queue

Viewing Applications

The Clinic Approvals page shows:

  • All pending clinic applications
  • Application submission date
  • Basic clinic information
  • Status of each application

Application Statuses

StatusMeaning
PendingAwaiting initial review
Under ReviewCurrently being evaluated
More Info NeededAwaiting applicant response
ApprovedApplication accepted
RejectedApplication denied

Sorting and Filtering

Filter the queue by:

  • Status (Pending, Under Review, etc.)
  • Submission date
  • Application type

Reviewing an Application

Application Details

Click on any application to view:

Clinic Information

  • Clinic name
  • Registration number (if provided)
  • Address and contact details
  • Website (if provided)

Applicant Information

  • Name and email of person who applied
  • Account creation date
  • Profile details

Services and Hours

  • Services listed
  • Operating hours declared
  • Emergency availability

Supporting Information

  • Professional credentials mentioned
  • Any additional notes from applicant

Review Checklist

Consider these factors when reviewing:

FactorWhat to Check
Business NameIs it a legitimate veterinary business name?
AddressIs this a real, verifiable location?
Contact InfoCan the clinic be contacted?
ServicesAre services appropriate for a vet clinic?
CredentialsAny professional registration mentioned?
CompletenessIs the application reasonably complete?

Verification Steps

Depending on your verification requirements:

  1. Basic Verification

    • Application is complete
    • Information appears reasonable
    • No obvious red flags
  2. Standard Verification

    • Business exists at stated address
    • Contact information works
    • Online presence matches claims
  3. Enhanced Verification

    • Professional registration confirmed
    • Business license verified
    • Direct contact with applicant

Taking Action

Approving an Application

To approve a clinic:

  1. Review the application thoroughly
  2. Click Approve
  3. Optionally add approval notes
  4. Confirm the action

What happens upon approval:

  • Clinic status changes to Approved
  • Applicant receives notification email
  • Clinic gains full access to Clinic workspace
  • Public profile becomes available

Rejecting an Application

To reject a clinic:

  1. Review the application
  2. Click Reject
  3. Required: Provide a rejection reason
  4. Confirm the action

Rejection reasons might include:

  • Incomplete information
  • Unable to verify business
  • Not a legitimate veterinary practice
  • Duplicate application
  • Violation of terms

What happens upon rejection:

  • Clinic status changes to Rejected
  • Applicant receives notification with reason
  • They may reapply with corrected information

Requesting More Information

If you need clarification:

  1. Click Request Info
  2. Specify what additional information is needed
  3. Applicant receives notification
  4. Status changes to More Info Needed

The applicant can then:

  • Update their application
  • Resubmit for review

Best Practices

Timely Reviews

  • Process applications promptly
  • Set expectations for review timeframes
  • Prioritize oldest pending applications

Consistent Standards

  • Apply the same criteria to all applications
  • Document any unusual decisions
  • Maintain fairness and transparency

Clear Communication

  • Provide specific rejection reasons
  • Be helpful in requesting more info
  • Maintain professional tone

Security Awareness

Watch for:

  • Suspicious patterns
  • Duplicate submissions
  • False information
  • Impersonation attempts

Application History

Viewing Past Applications

Access history to see:

  • Previously approved clinics
  • Rejected applications
  • Timeline of decisions

Audit Trail

Each application maintains:

  • All status changes
  • Who made decisions
  • When decisions were made
  • Notes and reasons

Handling Special Cases

Reapplications

When someone reapplies after rejection:

  • Review the new application fresh
  • Check if previous issues were addressed
  • Reference previous rejection reason

Appeals

If an applicant disputes a rejection:

  • Review the application again
  • Consider any new information
  • Maintain documented reasoning
  • Escalate if necessary

Clinic Issues Post-Approval

If issues arise with an approved clinic:

  • This is handled through separate processes
  • Contact support for guidance
  • Document concerns

Technical Notes

The platformAdmin Claim

The platformAdmin custom claim:

  • Is set in Firebase Auth
  • Must be set via Admin SDK (never client-side)
  • Is checked by Firestore security rules
  • Grants access to admin features

Setting the Claim

For authorized personnel only:

# From the repository root
npm run bootstrap:platform-admin -- <firebase-auth-uid>

This runs the scripts/bootstrap-platform-admin.mjs script with proper credentials.

Verifying the Claim

To verify a user has admin access:

GCLOUD_PROJECT=putra-al npm run verify:live-iam -- <firebase-auth-uid>

Support

Admin Issues

If you encounter issues with admin functions:

  • Check your Firebase Auth claims
  • Verify your account has proper access
  • Contact the technical team

Application Questions

For questions about specific applications:

  • Document your concerns
  • Consult with other admins if available
  • Escalate unusual cases