Skip to content

Commit a8b74c0

Browse files
committed
Added Simbrief to the PDK
1 parent 4d1c56b commit a8b74c0

File tree

2 files changed

+365
-2
lines changed

2 files changed

+365
-2
lines changed

src/types/global.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ declare global {
5757
* where the rule evaluation takes place. This method is evaluated often (many times a second),
5858
* and if at any point before the timeout is hit, it will stop and reset.
5959
*
60-
* @param id The ID of the rule to be tracked. You can add additional info
60+
* @param name The ID of the rule to be tracked. You can add additional info
6161
* @param timeout Amount of time, in milliseconds
6262
* @param callback Needs to return an array matching the RuleValue type
6363
*/
6464
function ViolatedAfterDelay(
65-
id: string,
65+
name: string,
6666
timeout: number,
6767
callback: () => RuleValue,
6868
): RuleValue {}

src/types/types.d.ts

Lines changed: 363 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,8 @@ export interface FlightPlan {
236236
pointCount: number
237237
points: RoutePoint[]
238238
route: string
239+
/** Holds the details of the SimBrief flight plan */
240+
simBriefFlightPlan?: SimBriefFlightPlan
239241
simbriefId: string
240242
toc?: Coords
241243
tod?: Coords
@@ -474,6 +476,367 @@ export interface Runway {
474476
thresholdOffset: Length
475477
width: Length
476478
}
479+
/** Data Transfer Object for SimBrief flight plan information. */
480+
export interface SimBriefFlightPlan {
481+
/** Aircraft information including type and registration. */
482+
aircraft: SimBriefAircraft
483+
/** Alternate airport information. */
484+
alternate: SimBriefLocation
485+
/** Air Traffic Control related information. */
486+
atc: SimBriefAtc
487+
/** Destination airport information. */
488+
destination: SimBriefLocation
489+
/** En-route alternate airport identifier. */
490+
enrouteAltn: string
491+
/** Fuel planning information. */
492+
fuel: SimBriefFuel
493+
/** General flight information including route, airline, and flight number. */
494+
general: SimBriefGeneral
495+
/** Generation timestamp. */
496+
generated: number
497+
/** Parameters related to the flight plan request and generation. */
498+
meta: SimBriefParams
499+
/** Navigation log containing waypoints and fixes along the route. */
500+
navlog: SimBriefNavLog
501+
/** Origin airport information. */
502+
origin: SimBriefLocation
503+
/** Takeoff alternate airport identifier. */
504+
takeoffAltn: string
505+
/** Text entries associated with the flight plan. */
506+
text: string[]
507+
/** Flight timing information. */
508+
times: SimBriefTimes
509+
/** Type of the flight plan. */
510+
type: string
511+
/** Version number of the flight plan. */
512+
version: number
513+
/** Weight information for the flight. */
514+
weights: SimBriefWeights
515+
}
516+
/** Parameters related to the flight plan request and generation. */
517+
export interface SimBriefParams {
518+
/** AIRAC cycle used for the flight plan. */
519+
airac: string
520+
/** Layout used for the operational flight plan. */
521+
ofpLayout: string
522+
/** Unique identifier for the request. */
523+
requestId: number
524+
/** Timestamp when the flight plan was generated. */
525+
timeGenerated: number
526+
/** Unit system used in the flight plan (metric/imperial). */
527+
units: string
528+
/** User identifier who created the flight plan. */
529+
userId: number
530+
}
531+
/** General flight information including route, airline, and flight number. */
532+
export interface SimBriefGeneral {
533+
/** Air distance for the flight. */
534+
airDistance: number
535+
/** Alternate profile used for the flight plan. */
536+
alternateProfile: string
537+
/** Average temperature deviation. */
538+
avgTempDev: number
539+
/** Average tropopause altitude. */
540+
avgTropopause: number
541+
/** Average wind component. */
542+
avgWindComp: number
543+
/** Average wind direction. */
544+
avgWindDir: number
545+
/** Average wind speed. */
546+
avgWindSpd: number
547+
/** Climb profile used for the flight plan. */
548+
climbProfile: string
549+
/** Cost index used for the flight. */
550+
costIndex: number
551+
/** Cruise Mach number. */
552+
cruiseMach: number
553+
/** Cruise profile used for the flight plan. */
554+
cruiseProfile: string
555+
/** Cruise true airspeed. */
556+
cruiseTas: number
557+
/** Descent profile used for the flight plan. */
558+
descentProfile: string
559+
/** DX remarks for the flight plan. */
560+
dxRmk: string
561+
/** Flight number for the trip. */
562+
flightNumber: string
563+
/** Great circle distance of the route. */
564+
gcDistance: number
565+
/** ICAO code for the airline. */
566+
icaoAirline: string
567+
/** Initial altitude for the flight. */
568+
initialAltitude: number
569+
/** Flag indicating if the flight plan uses a detailed profile. */
570+
isDetailedProfile: number
571+
/** Flag indicating if the flight is ETOPS (Extended-range Twin-engine Operation Performance Standards). */
572+
isEtops: number
573+
/** Number of passengers on the flight. */
574+
passengers: number
575+
/** Release number of the flight plan. */
576+
release: number
577+
/** Reserve profile used for the flight plan. */
578+
reserveProfile: string
579+
/** Flight route string. */
580+
route: string
581+
/** Total route distance. */
582+
routeDistance: number
583+
/** IFPS (Integrated Flight Plan Processing System) route. */
584+
routeIfps: string
585+
/** Navigraph format route. */
586+
routeNavigraph: string
587+
/** Step climb information as a string. */
588+
stepclimbString: string
589+
/** System remarks for the flight plan. */
590+
sysRmk: string
591+
/** Total fuel burn estimate. */
592+
totalBurn: number
593+
}
594+
/** Airport or location information. */
595+
export interface SimBriefLocation {
596+
/** Air distance for this segment. */
597+
airDistance: number
598+
/** Average temperature deviation for this segment. */
599+
avgTdv: string
600+
/** Average tropopause altitude for this segment. */
601+
avgTropopause: number
602+
/** Average wind component for this segment. */
603+
avgWindComp: string
604+
/** Average wind direction for this segment. */
605+
avgWindDir: number
606+
/** Average wind speed for this segment. */
607+
avgWindSpd: number
608+
/** Fuel burn estimate for this segment. */
609+
burn: number
610+
/** Cruise altitude for this segment in feet. */
611+
cruiseAltitude: number
612+
/** Distance for this segment. */
613+
distance: number
614+
/** Elevation of the location in feet. */
615+
elevation: number
616+
/** Estimated time en route for this segment. */
617+
ete: number
618+
/** FAA code for the location. */
619+
faaCode: string
620+
/** Great circle distance for this segment. */
621+
gcDistance: number
622+
/** Ground speed for this segment. */
623+
gs: number
624+
/** IATA code for the location. */
625+
iataCode: string
626+
/** ICAO code for the location. */
627+
icaoCode: string
628+
/** Latitude coordinate. */
629+
latitude: number
630+
/** Longitude coordinate. */
631+
longitude: number
632+
/** Name of the location. */
633+
name: string
634+
/** Planned runway for takeoff or landing. */
635+
planRwy: string
636+
/** Route for this segment. */
637+
route: string
638+
/** IFPS (Integrated Flight Plan Processing System) route for this segment. */
639+
routeIfps: string
640+
/** True airspeed for this segment. */
641+
tas: number
642+
/** Magnetic track for this segment. */
643+
trackMag: number
644+
/** True track for this segment. */
645+
trackTrue: number
646+
}
647+
/** Waypoint or fix information for the navigation log. */
648+
export interface SimBriefFix {
649+
/** Altitude at this fix in feet. */
650+
altitudeFeet: number
651+
/** Distance to this fix from the previous point. */
652+
distance: number
653+
/** Magnetic heading to this fix. */
654+
headingMag: number
655+
/** True heading to this fix. */
656+
headingTrue: number
657+
/** Identifier of the fix or waypoint. */
658+
ident: string
659+
/** Flag indicating if the fix is part of a SID or STAR procedure. */
660+
isSidStar: number
661+
/** Latitude coordinate of the fix. */
662+
latitude: number
663+
/** Longitude coordinate of the fix. */
664+
longitude: number
665+
/** Name of the fix or waypoint. */
666+
name: string
667+
/** Flight stage of this fix (climb, cruise, descent). */
668+
stage: string
669+
/** Magnetic track to this fix. */
670+
trackMag: number
671+
/** True track to this fix. */
672+
trackTrue: number
673+
/** Type of the fix or waypoint. */
674+
type: string
675+
/** Airway via which this fix is reached. */
676+
viaAirway: string
677+
}
678+
/** Navigation log containing waypoints and fixes along the route. */
679+
export interface SimBriefNavLog {
680+
/** List of fixes or waypoints in the navigation log. */
681+
fix: SimBriefFix[]
682+
}
683+
/** Air Traffic Control related information. */
684+
export interface SimBriefAtc {
685+
/** ATC callsign for the flight. */
686+
callsign: string
687+
/** Alternate FIR (Flight Information Region). */
688+
firAltn: string
689+
/** Destination FIR (Flight Information Region). */
690+
firDest: string
691+
/** En-route FIR (Flight Information Region). */
692+
firEnroute: string
693+
/** ETOPS FIR (Flight Information Region). */
694+
firEtops: string
695+
/** Origin FIR (Flight Information Region). */
696+
firOrig: string
697+
/** Flight plan text for ATC filing. */
698+
flightplanText: string
699+
/** Initial altitude for departure. */
700+
initialAlt: number
701+
/** Unit for initial altitude (feet, meters). */
702+
initialAltUnit: string
703+
/** Initial speed for departure. */
704+
initialSpd: number
705+
/** Unit for initial speed (knots, Mach). */
706+
initialSpdUnit: string
707+
/** Route string for ATC. */
708+
route: string
709+
/** IFPS (Integrated Flight Plan Processing System) route for ATC. */
710+
routeIfps: string
711+
/** Section 18 information for the flight plan. */
712+
section18: string
713+
}
714+
/** Aircraft information. */
715+
export interface SimBriefAircraft {
716+
/** Equipment codes for the aircraft. */
717+
equip: string
718+
/** Fleet identification number. */
719+
fin: number
720+
/** Fuel factor for planning. */
721+
fuelfact: number
722+
/** IATA code for the aircraft type. */
723+
iatacode: number
724+
/** ICAO code for the aircraft type. */
725+
icaocode: string
726+
/** Maximum passenger capacity. */
727+
maxPassengers: number
728+
/** Name of the aircraft. */
729+
name: string
730+
/** Registration number of the aircraft. */
731+
reg: string
732+
/** SELCAL (Selective Calling) code for the aircraft. */
733+
selcal: string
734+
}
735+
/** Fuel planning information. */
736+
export interface SimBriefFuel {
737+
/** Alternate route fuel burn estimate. */
738+
alternateBurn: number
739+
/** Average fuel flow rate. */
740+
avgFuelFlow: number
741+
/** Contingency fuel amount. */
742+
contingency: number
743+
/** En-route fuel burn estimate. */
744+
enrouteBurn: number
745+
/** ETOPS fuel amount. */
746+
etops: number
747+
/** Extra fuel amount. */
748+
extra: number
749+
/** Maximum fuel tank capacity. */
750+
maxTanks: number
751+
/** Minimum takeoff fuel required. */
752+
minTakeoff: number
753+
/** Planned landing fuel amount. */
754+
planLanding: number
755+
/** Planned ramp fuel amount. */
756+
planRamp: number
757+
/** Planned takeoff fuel amount. */
758+
planTakeoff: number
759+
/** Reserve fuel amount. */
760+
reserve: number
761+
/** Taxi fuel amount. */
762+
taxi: number
763+
}
764+
/** Flight timing information. */
765+
export interface SimBriefTimes {
766+
/** Contingency fuel time (how long contingency fuel will last). */
767+
contfuelTime: number
768+
/** Destination timezone offset. */
769+
destTimezone: number
770+
/** Total fuel endurance. */
771+
endurance: number
772+
/** Estimated block time (total gate-to-gate time). */
773+
estBlock: number
774+
/** Estimated in time (gate arrival). */
775+
estIn: number
776+
/** Estimated off time (takeoff). */
777+
estOff: number
778+
/** Estimated on time (landing). */
779+
estOn: number
780+
/** Estimated out time (gate departure). */
781+
estOut: number
782+
/** Estimated time en route. */
783+
estTimeEnroute: number
784+
/** ETOPS fuel time (how long ETOPS fuel will last). */
785+
etopsfuelTime: number
786+
/** Extra fuel time (how long extra fuel will last). */
787+
extrafuelTime: number
788+
/** Origin timezone offset. */
789+
origTimezone: number
790+
/** Reserve fuel time (how long reserve fuel will last). */
791+
reserveTime: number
792+
/** Scheduled block time (total gate-to-gate time). */
793+
schedBlock: number
794+
/** Scheduled in time (gate arrival). */
795+
schedIn: number
796+
/** Scheduled off time (takeoff). */
797+
schedOff: number
798+
/** Scheduled on time (landing). */
799+
schedOn: number
800+
/** Scheduled out time (gate departure). */
801+
schedOut: number
802+
/** Scheduled time en route. */
803+
schedTimeEnroute: number
804+
/** Taxi in time estimate. */
805+
taxiIn: number
806+
/** Taxi out time estimate. */
807+
taxiOut: number
808+
}
809+
/** Weight information for the flight. */
810+
export interface SimBriefWeights {
811+
/** Cargo weight. */
812+
cargo: number
813+
/** Estimated landing weight. */
814+
estLdw: number
815+
/** Estimated ramp weight. */
816+
estRamp: number
817+
/** Estimated takeoff weight. */
818+
estTow: number
819+
/** Estimated zero fuel weight. */
820+
estZfw: number
821+
/** Maximum landing weight. */
822+
maxLdw: number
823+
/** Maximum takeoff weight. */
824+
maxTow: number
825+
/** Maximum structural takeoff weight. */
826+
maxTowStruct: number
827+
/** Maximum zero fuel weight. */
828+
maxZfw: number
829+
/** Operating empty weight. */
830+
oew: number
831+
/** Passenger count. */
832+
paxCount: number
833+
/** Passenger weight. */
834+
paxWeight: number
835+
/** Total payload weight (passengers + cargo). */
836+
payload: number
837+
/** Takeoff weight limit code. */
838+
towLimitCode: string
839+
}
477840
export interface User {
478841
airline: Airline
479842
/**

0 commit comments

Comments
 (0)