13. Custom Operator Logo
Custom Operator Logo
Custom operator logos are managed in /admin/resources under the custom operator logo section.
1. Naming and priority
Allowed naming patterns:
- generic logo:
OPERATOR.bmporOPERATOR.png - type-specific logo:
OPERATOR-ICAOTYPE.bmporOPERATOR-ICAOTYPE.png
Runtime priority:
- type-specific logo is preferred,
- generic logo is fallback.
Examples:
DLH.pngapplies to all Lufthansa aircraft that resolve toDLH,DLH-A321.pngapplies only when the resolved operator isDLHand the aircraft ICAO type isA321,- if both files exist,
DLH-A321.pngwins forA321aircraft andDLH.pngremains the generic fallback.
2. Admin workflow
In /admin/resources:
- enter the operator code,
- optionally enter the ICAO type for a type-specific logo,
- upload a
.bmpor.pngimage, - confirm downscale if the image has correct proportions but is larger than
85x20, - enable overwrite only when replacing an existing logo for the same key.
The same page lists uploaded custom logos and allows deleting them. Deleting a custom logo removes the file, synchronizes metadata, and reloads resources immediately.
3. Validation rules
- file type must be
.bmpor.png, - file size limit is
2 MB, - required aspect ratio is
17:4, - template size is
85x20, - if image has valid ratio but larger dimensions, explicit downscale confirmation is required,
- operator code accepts
A-Z,0-9,@,.,_,+,-(2-40chars), - optional ICAO type accepts
A-Z,0-9(2-12chars).
3.4. Overwrite behavior
- if target logo already exists and
overwrite=false, upload returns conflict, - when saving one extension, counterpart extension for same key is removed to keep deterministic lookup.
4.5. Storage and metadata
- files are stored in
Images/AirlineLogos, - upload metadata is tracked in
custom-operator-flags.json, - after upload/delete,
OperatorFlagsList.csvis synchronized, - resource service is reloaded immediately.
6. Troubleshooting
- If the uploaded image is rejected, check aspect ratio first. Valid examples are
85x20,170x40, and255x60. - If the logo uploads but is not visible, verify the operator code used by the aircraft. Operator aliases can help callsign-derived codes resolve to expected carrier names, but logo lookup still needs matching operator/type metadata.
- If an older logo keeps appearing, clear browser cache and verify that the opposite extension was removed for the same key.