All Downloads are FREE. Search and download functionalities are using the official Maven repository.

travel.izi.api.model.entity.MtgObject Maven / Gradle / Ivy

Go to download

A java wrapper around the izi.TRAVEL API using Retrofit. Remote services are grouped into local service objects which can be centrally managed by a IZITravel instance. It will act as a factory for all of the services and will automatically initialize them with your credentials and API key.

The newest version!
/*
 * Copyright (C) 2014 IZITEQ B.V.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package travel.izi.api.model.entity;

import travel.izi.api.model.enumeration.*;

import javax.annotation.Nullable;
import java.io.Serializable;
import java.util.List;

/**
 * MTG Object (Mobile Traveller Guide Object) is a core content object. MTGObject, depending on
 * its "type" property, represents any MTG Content object (museum, tour, navigation story,
 * tourist attraction, publisher, country or city).
 * MTGObject can be requested in full and compact formats.
 */
public abstract class MtgObject implements Serializable {

    /**
     * Universally Unique Identifier of MtgObject.
     */
    public abstract String uuid();

    /**
     * Type of MtgObject.
     */
    public abstract MtgObjectType type();

    /**
     * Category of tour.
     */
    @Nullable
    public abstract Category category();

    /**
     * Type of playback algorithm. The field is returned for museum, collection and tour objects.
     */
    @Nullable
    public abstract PlaybackType playbackType();

    /**
     * Content publication status.
     */
    public abstract Status status();

    /**
     * Publisher.
     */
    @Nullable
    public abstract CompactMtgObject publisher();

    /**
     * Content provider.
     */
    @Nullable
    public abstract ContentProvider contentProvider();

    /**
     * Array of all available languages of MtgObject content (ISO 639-1).
     * 

EXCEPTION: For countries and cities is an array of languages * for which there are MTGObject in this locality.

*/ @Nullable public abstract List languages(); /** * Location of MtgObject. */ @Nullable public abstract Location location(); /** * Compact version of country. */ @Nullable public abstract CompactMtgObject country(); /** * Compact version of city. */ @Nullable public abstract CompactMtgObject city(); /** * Array of trigger zones. */ @Nullable public abstract List triggerZones(); /** * Object with mapping details. */ @Nullable public abstract Map map(); /** * Tour placement. */ @Nullable public abstract Placement placement(); /** * Distance of tour (in meters). */ @Nullable public abstract Integer distance(); /** * Total duration of tour (in seconds). *

NOTE: Value is calculated as: distance / category speed.

*/ @Nullable public abstract Integer duration(); /** * Object with product purchasing details. */ @Nullable public abstract Purchase purchase(); /** * Available translations of the locality name (typical for city and country). */ @Nullable public abstract List translations(); /** * Country code (ISO 3166-1) (typical for country). */ @Nullable public abstract String countryCode(); /** * The average of ratings/reviews. The section will be returned if the average was calculated. */ @Nullable public abstract ReviewsResponse.Estimation reviews(); /** * Tourist attraction map visibility. Can be: false – object shall be displayed on a map; * true – object is hidden from the user. */ @Nullable public abstract Boolean hidden(); /** * Typical for city. Defines if the city should be displayed on izi.TRAVEL site main page. */ @Nullable public abstract Boolean visible(); /** * SHA1 hash from "uuid + last updated" string. */ public abstract String hash(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy