export declare enum CostType { TRANSPORT = "TRANSPORT", ACCOMMODATION = "ACCOMMODATION", FOOD = "FOOD", ACTIVITY = "ACTIVITY", OTHER = "OTHER" } export declare enum TripStatus { IDEA = "IDEA", IN_PROCESS = "IN_PROCESS", COMPLETED = "COMPLETED" } export declare enum LinkType { AIRCRAFT = "AIRCRAFT", BIKE = "BIKE", BUS = "BUS", CAR = "CAR", FOOT = "FOOT", MOTORBIKE = "MOTORBIKE", TRAIN = "TRAIN", SHIP = "SHIP" } export declare enum WaypointType { PLACE = "PLACE", LINK = "LINK", EXCURSION = "EXCURSION" } export declare enum TripType { ROUNDTRIP = "ROUNDTRIP", CITYTRIP = "CITYTRIP", COMMERCIAL = "COMMERCIAL", PROPOSAL = "PROPOSAL", SUGGESTION = "SUGGESTION", USERMAP = "USERMAP", TRAVELERS_CENTURY_CLUB = "TRAVELERS_CENTURY_CLUB", REPORT = "REPORT" } export interface PlannedCost { costType: CostType; value: number; currency: string; description: string; perCapita: boolean; perNight: boolean; source: string; } export interface Waypoint { waypointType: WaypointType; linkType: LinkType; cityName: string; countryName: string; displayName: string; latitude: number; longitude: number; description: string; commentConnection: string; commentAccommodation: string; countOfNights: number; position: number; publicActivities: Activity[]; privateActivities: Activity[]; timedActivities: TimedActivity[]; plannedCosts: PlannedCost[]; regionPath?: string; arrival?: Date; departure?: Date; } export interface Activity { value: string; selected: boolean; } export interface TimedActivity { day: number; time: string; text: string; } export interface TagId { tagId: string; } export interface Trip { tripType: TripType; tripNumber: number; title: string; description: string; popularity: number; urlSuffix?: string; } export interface CityTrip extends Trip { linkType: LinkType; cityName: string; countryName: string; latitude: number; longitude: number; startDate: Date; endDate?: Date; countOfNights?: number; status: TripStatus; numberOfPeople: number; currency: string; publicly: boolean; feedback: boolean; popularity: number; owners: string[]; tags: TagId[]; plannedCosts: PlannedCost[]; publicActivities: Activity[]; privateActivities: Activity[]; timedActivities: TimedActivity[]; } export interface CommercialTrip extends Trip { popularity: number; waypoints: Waypoint[]; tags: TagId[]; ownerId: string; locale: string; } export interface ProposalTrip extends Trip { startDate: Date; endDate?: Date; countOfNights?: number; status: TripStatus; numberOfPeople: number; currency: string; popularity: number; owners: string[]; tags: TagId[]; waypoints: Waypoint[]; plannedCosts: PlannedCost[]; } export interface RoundTrip extends Trip { startDate: Date; endDate?: Date; countOfNights?: number; status: TripStatus; numberOfPeople: number; currency: string; publicly: boolean; popularity: number; feedback: boolean; owners: string[]; tags: TagId[]; waypoints: Waypoint[]; plannedCosts: PlannedCost[]; creationSource: string; } export interface SimpleTrip extends Trip { countOfNights?: number; } export interface SuggestionTrip extends Trip { descriptionShort: string; popularity: number; waypoints: Waypoint[]; tags: TagId[]; ownerId: string; locale: string; } export interface UsermapWaypoint { cityName: string; countryName: string; latitude: number; longitude: number; } export interface UsermapTrip { waypoints: UsermapWaypoint[]; } export interface TravelersCenturyClubWaypoint { countryName: string; latitude: number; longitude: number; } export interface TravelersCenturyClubTrip { waypoints: TravelersCenturyClubWaypoint[]; } export interface Report extends Trip { startDate: Date; endDate?: Date; countOfNights?: number; posts: ReportPost[]; } export interface ReportPost { postNumber: number; linkType: LinkType; cityName: string; countryName: string; displayName: string; latitude: number; longitude: number; description: string; commentConnection: string; commentAccommodation: string; countOfNights: number; }