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

de.vdv.ojp20.FareProductStructure Maven / Gradle / Ivy

The newest version!
//
// This file was generated by the Eclipse Implementation of JAXB, v4.0.5 
// See https://eclipse-ee4j.github.io/jaxb-ri 
// Any modifications to this file will be lost upon recompilation of the source schema. 
//


package de.vdv.ojp20;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import de.vdv.ojp20.siri.FareClassEnumeration;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlSchemaType;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.opentripplanner.ojp.netex.OmitNullsToStringStyle;
import org.opentripplanner.ojp.util.DurationXmlAdapter;


/**
 * [related to FARE PRODUCT in TM and NeTEx] different FARE PRODUCTs that may be available with related information
 * 
 * 

Java class for FareProductStructure complex type

. * *

The following schema fragment specifies the expected content contained within this class.

* *
{@code
 * 
 *   
 *     
 *       
 *         
 *         
 *         
 *         
 *         
 *         
 *         
 *         
 *         
 *       
 *     
 *   
 * 
 * }
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "FareProductStructure", propOrder = { "fareProductId", "fareProductName", "fareAuthorityRef", "fareAuthorityText", "protoProduct", "price", "netPrice", "currency", "vatRate", "fareQuota", "fareClass", "requiredCard", "validFor", "validityDuration", "validityDurationText", "validityTariffZones", "validityAreaText", "infoUrl", "saleUrl", "bookingArrangements", "extension" }) public class FareProductStructure { /** * Identifier of a FareProduct * */ @XmlElement(name = "FareProductId", required = true) @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "NMTOKEN") protected String fareProductId; /** * Printable FareProduct name * */ @XmlElement(name = "FareProductName", required = true) protected String fareProductName; /** * Reference to a Fare Authority. * */ @XmlElement(name = "FareAuthorityRef", required = true) protected FareAuthorityRefStructure fareAuthorityRef; /** * Textual description or name of Fare authority. * */ @XmlElement(name = "FareAuthorityText", required = true) protected String fareAuthorityText; /** * Is this product a proto product? Default is false. If true, it should not be shown to the user. In a distributed environment (e.g., EU-Spirit) partial systems may generate incomplete product information (proto product), which has to be processed further and combined with other information before it is a complete fare product and can be shown to the user. See https://eu-spirit.eu/ * */ @XmlElement(name = "ProtoProduct", defaultValue = "false") protected Boolean protoProduct; /** * FareProduct price as decimal number. * */ @XmlElement(name = "Price") protected BigDecimal price; /** * Net FareProduct price as decimal number for accounting purposes. * */ @XmlElement(name = "NetPrice") protected BigDecimal netPrice; /** * iso 4217 currency code, e.g., EUR for Euro or GBP for Pound Sterling * */ @XmlElement(name = "Currency") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "NMTOKEN") protected String currency; /** * Rate of value added tax. * */ @XmlElement(name = "VatRate") protected BigDecimal vatRate; /** * Remaining offered tickets in this FARE PRODUCT. When absent, the number of remaining tickets is unknown or not limited. In most cases if the FareQuota is zero then the FareProduct is not shown. * */ @XmlElement(name = "FareQuota") protected BigInteger fareQuota; /** * Fare class for which the FareProduct is valid (Transmodel: CLASS OF USE). * */ @XmlElement(name = "FareClass") @XmlSchemaType(name = "NMTOKEN") protected FareClassEnumeration fareClass; /** * One or more ENTITLEMENT PRODUCTs required for the purchase of this FareProduct. In most cases, ENTITLEMENT PRODUCTs offer discounts, e.g., the "BahnCard50" of "Deutsche Bahn". * */ @XmlElement(name = "RequiredCard") protected List requiredCard; /** * Sequence of all passenger categories for which this FareProduct is valid. * */ @XmlElement(name = "ValidFor") @XmlSchemaType(name = "string") protected List validFor; /** * Maximum duration of FareProduct validity starting with purchase of ticket or begin of journey (ticket validation). * */ @XmlElement(name = "ValidityDuration", type = String.class) @XmlJavaTypeAdapter(DurationXmlAdapter.class) @XmlSchemaType(name = "duration") protected Duration validityDuration; /** * Textual description of maximum validity duration. * */ @XmlElement(name = "ValidityDurationText") protected InternationalTextStructure validityDurationText; /** * Spatial validity of FareProduct defined as list of fare zones. * */ @XmlElement(name = "ValidityTariffZones") protected List validityTariffZones; /** * Textual description of spatial validity. * */ @XmlElement(name = "ValidityAreaText") protected InternationalTextStructure validityAreaText; /** * URL to information for this FareProduct * */ @XmlElement(name = "InfoUrl") protected List infoUrl; /** * URL to buy the FareProduct online. * */ @XmlElement(name = "SaleUrl") protected List saleUrl; /** * Multiple sets of multiple booking arrangements for different legs of a journey. * */ @XmlElement(name = "BookingArrangements") protected List bookingArrangements; @XmlElement(name = "Extension") protected Object extension; /** * Identifier of a FareProduct * * @return * possible object is * {@link String } * */ public String getFareProductId() { return fareProductId; } /** * Sets the value of the fareProductId property. * * @param value * allowed object is * {@link String } * * @see #getFareProductId() */ public void setFareProductId(String value) { this.fareProductId = value; } /** * Printable FareProduct name * * @return * possible object is * {@link String } * */ public String getFareProductName() { return fareProductName; } /** * Sets the value of the fareProductName property. * * @param value * allowed object is * {@link String } * * @see #getFareProductName() */ public void setFareProductName(String value) { this.fareProductName = value; } /** * Reference to a Fare Authority. * * @return * possible object is * {@link FareAuthorityRefStructure } * */ public FareAuthorityRefStructure getFareAuthorityRef() { return fareAuthorityRef; } /** * Sets the value of the fareAuthorityRef property. * * @param value * allowed object is * {@link FareAuthorityRefStructure } * * @see #getFareAuthorityRef() */ public void setFareAuthorityRef(FareAuthorityRefStructure value) { this.fareAuthorityRef = value; } /** * Textual description or name of Fare authority. * * @return * possible object is * {@link String } * */ public String getFareAuthorityText() { return fareAuthorityText; } /** * Sets the value of the fareAuthorityText property. * * @param value * allowed object is * {@link String } * * @see #getFareAuthorityText() */ public void setFareAuthorityText(String value) { this.fareAuthorityText = value; } /** * Is this product a proto product? Default is false. If true, it should not be shown to the user. In a distributed environment (e.g., EU-Spirit) partial systems may generate incomplete product information (proto product), which has to be processed further and combined with other information before it is a complete fare product and can be shown to the user. See https://eu-spirit.eu/ * * @return * possible object is * {@link Boolean } * */ public Boolean isProtoProduct() { return protoProduct; } /** * Sets the value of the protoProduct property. * * @param value * allowed object is * {@link Boolean } * * @see #isProtoProduct() */ public void setProtoProduct(Boolean value) { this.protoProduct = value; } /** * FareProduct price as decimal number. * * @return * possible object is * {@link BigDecimal } * */ public BigDecimal getPrice() { return price; } /** * Sets the value of the price property. * * @param value * allowed object is * {@link BigDecimal } * * @see #getPrice() */ public void setPrice(BigDecimal value) { this.price = value; } /** * Net FareProduct price as decimal number for accounting purposes. * * @return * possible object is * {@link BigDecimal } * */ public BigDecimal getNetPrice() { return netPrice; } /** * Sets the value of the netPrice property. * * @param value * allowed object is * {@link BigDecimal } * * @see #getNetPrice() */ public void setNetPrice(BigDecimal value) { this.netPrice = value; } /** * iso 4217 currency code, e.g., EUR for Euro or GBP for Pound Sterling * * @return * possible object is * {@link String } * */ public String getCurrency() { return currency; } /** * Sets the value of the currency property. * * @param value * allowed object is * {@link String } * * @see #getCurrency() */ public void setCurrency(String value) { this.currency = value; } /** * Rate of value added tax. * * @return * possible object is * {@link BigDecimal } * */ public BigDecimal getVatRate() { return vatRate; } /** * Sets the value of the vatRate property. * * @param value * allowed object is * {@link BigDecimal } * * @see #getVatRate() */ public void setVatRate(BigDecimal value) { this.vatRate = value; } /** * Remaining offered tickets in this FARE PRODUCT. When absent, the number of remaining tickets is unknown or not limited. In most cases if the FareQuota is zero then the FareProduct is not shown. * * @return * possible object is * {@link BigInteger } * */ public BigInteger getFareQuota() { return fareQuota; } /** * Sets the value of the fareQuota property. * * @param value * allowed object is * {@link BigInteger } * * @see #getFareQuota() */ public void setFareQuota(BigInteger value) { this.fareQuota = value; } /** * Fare class for which the FareProduct is valid (Transmodel: CLASS OF USE). * * @return * possible object is * {@link FareClassEnumeration } * */ public FareClassEnumeration getFareClass() { return fareClass; } /** * Sets the value of the fareClass property. * * @param value * allowed object is * {@link FareClassEnumeration } * * @see #getFareClass() */ public void setFareClass(FareClassEnumeration value) { this.fareClass = value; } /** * One or more ENTITLEMENT PRODUCTs required for the purchase of this FareProduct. In most cases, ENTITLEMENT PRODUCTs offer discounts, e.g., the "BahnCard50" of "Deutsche Bahn". * * Gets the value of the requiredCard property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the requiredCard property.

* *

* For example, to add a new item, do as follows: *

*
     * getRequiredCard().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link EntitlementProductStructure } *

* * * @return * The value of the requiredCard property. */ public List getRequiredCard() { if (requiredCard == null) { requiredCard = new ArrayList<>(); } return this.requiredCard; } /** * Sequence of all passenger categories for which this FareProduct is valid. * * Gets the value of the validFor property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the validFor property.

* *

* For example, to add a new item, do as follows: *

*
     * getValidFor().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link PassengerCategoryEnumeration } *

* * * @return * The value of the validFor property. */ public List getValidFor() { if (validFor == null) { validFor = new ArrayList<>(); } return this.validFor; } /** * Maximum duration of FareProduct validity starting with purchase of ticket or begin of journey (ticket validation). * * @return * possible object is * {@link String } * */ public Duration getValidityDuration() { return validityDuration; } /** * Sets the value of the validityDuration property. * * @param value * allowed object is * {@link String } * * @see #getValidityDuration() */ public void setValidityDuration(Duration value) { this.validityDuration = value; } /** * Textual description of maximum validity duration. * * @return * possible object is * {@link InternationalTextStructure } * */ public InternationalTextStructure getValidityDurationText() { return validityDurationText; } /** * Sets the value of the validityDurationText property. * * @param value * allowed object is * {@link InternationalTextStructure } * * @see #getValidityDurationText() */ public void setValidityDurationText(InternationalTextStructure value) { this.validityDurationText = value; } /** * Spatial validity of FareProduct defined as list of fare zones. * * Gets the value of the validityTariffZones property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the validityTariffZones property.

* *

* For example, to add a new item, do as follows: *

*
     * getValidityTariffZones().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link TariffZoneListInAreaStructure } *

* * * @return * The value of the validityTariffZones property. */ public List getValidityTariffZones() { if (validityTariffZones == null) { validityTariffZones = new ArrayList<>(); } return this.validityTariffZones; } /** * Textual description of spatial validity. * * @return * possible object is * {@link InternationalTextStructure } * */ public InternationalTextStructure getValidityAreaText() { return validityAreaText; } /** * Sets the value of the validityAreaText property. * * @param value * allowed object is * {@link InternationalTextStructure } * * @see #getValidityAreaText() */ public void setValidityAreaText(InternationalTextStructure value) { this.validityAreaText = value; } /** * URL to information for this FareProduct * * Gets the value of the infoUrl property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the infoUrl property.

* *

* For example, to add a new item, do as follows: *

*
     * getInfoUrl().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link WebLinkStructure } *

* * * @return * The value of the infoUrl property. */ public List getInfoUrl() { if (infoUrl == null) { infoUrl = new ArrayList<>(); } return this.infoUrl; } /** * URL to buy the FareProduct online. * * Gets the value of the saleUrl property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the saleUrl property.

* *

* For example, to add a new item, do as follows: *

*
     * getSaleUrl().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link WebLinkStructure } *

* * * @return * The value of the saleUrl property. */ public List getSaleUrl() { if (saleUrl == null) { saleUrl = new ArrayList<>(); } return this.saleUrl; } /** * Multiple sets of multiple booking arrangements for different legs of a journey. * * Gets the value of the bookingArrangements property. * *

This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the bookingArrangements property.

* *

* For example, to add a new item, do as follows: *

*
     * getBookingArrangements().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link BookingArrangementsContainerStructure } *

* * * @return * The value of the bookingArrangements property. */ public List getBookingArrangements() { if (bookingArrangements == null) { bookingArrangements = new ArrayList<>(); } return this.bookingArrangements; } /** * Gets the value of the extension property. * * @return * possible object is * {@link Object } * */ public Object getExtension() { return extension; } /** * Sets the value of the extension property. * * @param value * allowed object is * {@link Object } * */ public void setExtension(Object value) { this.extension = value; } public FareProductStructure withFareProductId(String value) { setFareProductId(value); return this; } public FareProductStructure withFareProductName(String value) { setFareProductName(value); return this; } public FareProductStructure withFareAuthorityRef(FareAuthorityRefStructure value) { setFareAuthorityRef(value); return this; } public FareProductStructure withFareAuthorityText(String value) { setFareAuthorityText(value); return this; } public FareProductStructure withProtoProduct(Boolean value) { setProtoProduct(value); return this; } public FareProductStructure withPrice(BigDecimal value) { setPrice(value); return this; } public FareProductStructure withNetPrice(BigDecimal value) { setNetPrice(value); return this; } public FareProductStructure withCurrency(String value) { setCurrency(value); return this; } public FareProductStructure withVatRate(BigDecimal value) { setVatRate(value); return this; } public FareProductStructure withFareQuota(BigInteger value) { setFareQuota(value); return this; } public FareProductStructure withFareClass(FareClassEnumeration value) { setFareClass(value); return this; } public FareProductStructure withRequiredCard(EntitlementProductStructure... values) { if (values!= null) { for (EntitlementProductStructure value: values) { getRequiredCard().add(value); } } return this; } public FareProductStructure withRequiredCard(Collection values) { if (values!= null) { getRequiredCard().addAll(values); } return this; } public FareProductStructure withValidFor(PassengerCategoryEnumeration... values) { if (values!= null) { for (PassengerCategoryEnumeration value: values) { getValidFor().add(value); } } return this; } public FareProductStructure withValidFor(Collection values) { if (values!= null) { getValidFor().addAll(values); } return this; } public FareProductStructure withValidityDuration(Duration value) { setValidityDuration(value); return this; } public FareProductStructure withValidityDurationText(InternationalTextStructure value) { setValidityDurationText(value); return this; } public FareProductStructure withValidityTariffZones(TariffZoneListInAreaStructure... values) { if (values!= null) { for (TariffZoneListInAreaStructure value: values) { getValidityTariffZones().add(value); } } return this; } public FareProductStructure withValidityTariffZones(Collection values) { if (values!= null) { getValidityTariffZones().addAll(values); } return this; } public FareProductStructure withValidityAreaText(InternationalTextStructure value) { setValidityAreaText(value); return this; } public FareProductStructure withInfoUrl(WebLinkStructure... values) { if (values!= null) { for (WebLinkStructure value: values) { getInfoUrl().add(value); } } return this; } public FareProductStructure withInfoUrl(Collection values) { if (values!= null) { getInfoUrl().addAll(values); } return this; } public FareProductStructure withSaleUrl(WebLinkStructure... values) { if (values!= null) { for (WebLinkStructure value: values) { getSaleUrl().add(value); } } return this; } public FareProductStructure withSaleUrl(Collection values) { if (values!= null) { getSaleUrl().addAll(values); } return this; } public FareProductStructure withBookingArrangements(BookingArrangementsContainerStructure... values) { if (values!= null) { for (BookingArrangementsContainerStructure value: values) { getBookingArrangements().add(value); } } return this; } public FareProductStructure withBookingArrangements(Collection values) { if (values!= null) { getBookingArrangements().addAll(values); } return this; } public FareProductStructure withExtension(Object value) { setExtension(value); return this; } /** * Generates a String representation of the contents of this type. * This is an extension method, produced by the 'ts' xjc plugin * */ @Override public String toString() { return ToStringBuilder.reflectionToString(this, OmitNullsToStringStyle.INSTANCE); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy