Skip to main content

Spotter Photos

Backoffice path: backoffice/spotters

Available to roles: System Administrator, Administrator; Operations Staff can view, edit, and delete

Overview

The Spotter Photos page is a moderation interface for community-submitted aircraft and airport photographs. Pilots and community members submit photos, which enter a review queue. Staff review each submission and either approve it (awarding Points to the uploader) or reject it (with a required reason). This feature encourages community engagement and builds a visual library of your airline's fleet.

Photo Statuses

Each submitted photo has one of three statuses:

StatusDescription
PENDINGThe photo has been submitted and is awaiting staff review. This is the initial status for all new submissions.
APPROVEDThe photo has been reviewed and accepted. Points are awarded to the uploader upon approval.
REJECTEDThe photo has been reviewed and declined. A rejection reason is required and visible to the uploader.

Photo Grid and Filtering

The main view displays photos in a grid layout with status filter buttons at the top. Staff can filter the grid to show:

  • All photos -- the complete collection regardless of status.
  • Pending -- only photos awaiting review (the primary moderation queue).
  • Approved -- only photos that have been accepted.
  • Rejected -- only photos that have been declined.

Each photo card in the grid shows:

  • Image -- a thumbnail of the submitted photo.
  • Subject -- the aircraft or airport the photo depicts.
  • Uploader -- the pilot or community member who submitted the photo.
  • Timestamp -- when the photo was submitted.
  • Status badge -- a visual indicator of the current status (pending, approved, rejected).

Staff Actions

Approve

Approving a photo marks it as accepted and triggers a Points reward for the uploader:

  • Standard reward: The uploader receives SPOTTER_PHOTO_POINTS for each approved photo.
  • First photo bonus: If this is the first approved photo of that specific aircraft, the uploader receives an additional SPOTTER_FIRST_PHOTO_POINTS bonus on top of the standard reward. This incentivizes pilots to photograph aircraft that have not yet been captured.

Points are recorded as a transaction with the type spotter.

Reject

Rejecting a photo requires staff to provide a reason explaining why the photo was declined. Common rejection reasons include:

  • Low image quality or resolution.
  • Incorrect subject identification.
  • Duplicate of an existing approved photo.
  • Inappropriate or off-topic content.
  • Copyright or attribution concerns.

The rejection reason is visible to the uploader so they understand why their submission was not accepted and can improve future submissions.

Delete

Staff can permanently delete a photo from the system. This removes the image and all associated metadata. Deletion is typically reserved for inappropriate content or spam submissions.

Points Configuration

SettingDescription
SPOTTER_PHOTO_POINTSPoints awarded to the uploader for each approved photo.
SPOTTER_FIRST_PHOTO_POINTSAdditional bonus Points awarded when the photo is the first approved photo of a specific aircraft.

Both values are configured at the airline level and apply uniformly to all spotter photo approvals.

Pilot Spotter Center

Pilot path: spotters

The pilot-facing Spotter Center features:

  • Recent Photos Carousel -- A horizontal scrollable carousel at the top showing the latest 12 approved spotter photos. Each card displays the image, subject badge (aircraft registration or airport ICAO), and photographer name. Clicking a photo opens a full-size lightbox.
  • Upload Form -- A full-width card below the carousel where pilots can select a subject type (aircraft or airport), search for the subject, and upload a photo with a built-in crop editor.
  • Photo Crop Editor -- The upload area is a visual dropzone (click or drag-and-drop) with an amber badge warning that cropping is required. When a photo is selected, a crop editor opens with the image displayed statically and a freely movable, resizable crop box locked to 16:9 aspect ratio. A dashed amber overlay inside the crop box indicates the 32:9 banner crop zone (used for hero banners). Pilots can drag and resize the crop area to frame their shot, use zoom buttons to scale the image, and rotate (90° increments), then click "Crop & Upload" to produce a cropped JPEG (max 1920x1080).
  • My Submissions -- A grid showing all photos the pilot has submitted, with status badges and rejection reasons where applicable.

Photographer Credit

Wherever a spotter photo is displayed in the system (fleet page, booking page, briefing page, dashboard), the photographer's first name is shown as a small credit overlay on the image (e.g., "Photo by John"). This provides recognition for community contributions.

When the displayed image is the model's own uploaded picture (not a spotter photo), no credit is shown.

Approved spotter photos are available via three public API endpoints. These can be used by external websites, widgets, or apps to display the airline's photo gallery.

EndpointDescription
GET /api/public/galleryAll approved photos across the airline, newest first.
GET /api/public/data/airports/{id}/galleryApproved photos for a specific airport.
GET /api/public/data/fleet/{id}/galleryApproved photos for a specific aircraft.

All gallery endpoints support pagination via page and per_page query parameters (default 20 items per page, maximum 50).

Each photo in the response includes:

FieldDescription
idPhoto ID
urlFull URL to the image
creditPhotographer's first name
subject_type"aircraft" or "airport"
subject_idID of the subject
subject_labelAircraft registration or airport ICAO code
created_atSubmission timestamp (ISO 8601)

The fleet and live flight API endpoints also include a picture_credit field alongside picture_url, providing the photographer's first name when the displayed image is a spotter photo.