Petra2 Java API – SjItineraryResultInterface.calculateTravelServiceDetailedPriceBasedOnLightSpecification
Method description
Metoden används för att ställa en prisfråga för en eller flera förbindelser, med en eller flera prisgrupper (en s k multiprisfråga). Prisfrågan utförs på ett förbindelseresultat. Det innebär att en förbindelsesökning måste ha utförts innan en prisfråga kan ställas.
Resultatet av förbindelsesökningen innehåller eventuellt även aktuella prisgrupper (priceGroupList) för respektive förbindelse, vilka man kan fråga pris på. Observera att när man är klar med hela förbindelseresultatet ska metoden SjItineraryResultInterface.close() anropas.
Det är möjligt att skicka in en lista med flera förbindelser i ItineraryReferenceList (t ex Stockholm - Göteborg kl 07.15, Stockholm - Göteborg kl 08.15, Stockholm - Göteborg via Västerås kl 09.30 och Stockholm - Göteborg kl 10.15) och en lista med en eller flera prisgrupper i PriceGroupCodeWithOptionList eller PriceGroupCode (t ex Just nu 2 klass, 2 klass, Just nu 1 klass och 1 klass). Multiprisfrågan beräknar ett pris för varje prisgrupp för varje förbindelse. För de prisgrupper som inte passar till en viss förbindelse returneras inget pris.
Om listan med prisgrupper utelämnas i frågan, innehåller svaret samtliga möjliga prisgrupper.
Om KpsBurnCode har värdet SJPConstants.VKpsBurnCodeYes
i frågan, innehåller svaret enbart prisgrupper som kan användas för att beställa poängresor, dvs sådana tjänster som betalas med SJ Prio-poäng. Om en sådan prisgrupp används vid beställning, t ex med addTravelServiceOrderItemsBasedOnLightSpecification, kan KpsBurnCode utelämnas.
Om KpsBurnCode utelämnas eller har värdet SJPConstants.VKpsBurnCodeNo
, innehåller svaret samtliga prisgrupper som kan användas för att beställa normala resor, som betalas med pengar.
För varje prisgrupp (PriceGroupCodeWithOption) finns det möjlighet att skicka in en lista med tillval för att få tillbaka priset för de tillval som finns tillgängliga för förbindelsen. Information om vilka tillval som finns tillgängliga på förbindelsen finns i svaret på getItineraries. För att få maximal nytta och prestanda av multiprisfrågan bör säljklienten normalt ställa prisfrågor utan några tillval specificerade. Svaret innehåller då priser för samtliga möjliga tillval. Säljklienten kan sedan addera respektive tillvals pris till baspriset vid presentation av priserna.
Reviderad 2009-02-04
For Javadoc, click here.
Input
TravelServiceDetailedPriceLightSpecification
Strukturen innehåller i stort sett samma information som används vid beställ resa med den skillnaden att antalet prisgrupper och tillval i frågan kan variera.
- ItineraryRefereceList
- Här anger man en eller flera förbindelsreferenser inom det aktuella resultatobjekt från den förbindelsefråga, som man vill fråga pris på.
- PriceGroupCodeList
- Här anger man en eller flera prisgrupper (biljettyper) som man vill fråga pris på. Valbara prisgrupper har man redan fått som svar i metoden SjItineraryResultInterface.getItineraries(...). Om listan utelämnas, vilket är det normala, innehåller svaret samtliga möjliga prisgrupper.
- PriceGroupCodeWithOptionList
- Här anger man en eller flera prisgrupper (biljettyper) som man vill fråga pris på. Valbara prisgrupper har man redan fått som svar i metoden SjItineraryResultInterface.getItineraries(...). Man anger även en lista med de tillval (OptionSpecificationList) man vill ha pris för. Om listan utelämnas, vilket är det normala, innehåller svaret samtliga möjliga prisgrupper och tillval.
- Group
- Om det är en gruppresa sätts detta fält lika med
true
, vilket innebär att resenärslistan nedan anger ingående gruppmedlemarna.
- GroupReference
- Om det är en gruppresa ska detta fält innehålla en frivilig text för att hålla ihop gruppen (t.ex. gruppledarens namn).
- TravelDocumentCode
- Anger vilka resedokument som ska ingå, endast färd eller endast reservation(plats) eller både och, d.v.s. bokad resa. Standardvärde är bokad resa om inget annat anges. Följande konstanter ska användas.
SJPConstants.VTravelDocumentCodeJourney
- Endast färdbiljett.
SJPConstants.VTravelDocumentCodeSeat
- Endast platsresevation.
SJPConstants.VTravelDocumentCodeSeatAndJourney
- Bokad resa. Både färdbiljett och platsreservation.
SJPConstants.TravelDocumentCodeSeparateDocuments
- Både färdbiljett och platsreservation men som egna tjänster (var sin beställningsrad).
- Offer
- Här anges eventuellt ett erbjudande (en fördefinierad tjänst). Erbjudanden hämtas med metoden SjStinaInformationProviderInterface.getOfferList(...)
- PlacementLightSpecification
- Här anger man olika platsegenskaper för resan. Möjliga värden hämtas med metoden SjItineraryResultInterface.getItineraryCharacteristics(...)
- CustomerId
- Här är det möjligt att ange betalande kundnummer (SJ avtalskund) för att få med eventuella kundrabatter för betalare.
- ContractNo
- Fr o m 2009-03-21 kan en företagskund (CustomerId) ha mer än ett avtal (ContractNo) och därför måste avtalsnumret anges i detta fält för att få rätt kundrabatt.
- VatFree
- Anges om resetjänsten skall vara momsfri.
- IncludeDetails
- Om
true
returneras strukturen PriceSectionDescriptionList i svaret.
- ConsumerSingleLightSpecificationenList
- Här anges en lista med ingående resenärer. varje resenär har sin egen struktur ConsumerSingleLightSpecification, som innehåller resenärstyp, eventuell rabatt, samt eventuellt restypsval (t.ex. 10-biljett).
Reviderad 2008-10-14
- TravelServiceDetailedPriceLightSpecification
- ItineraryReferenceList, sekvens av:
- ItineraryReferenceSpecification
- ItineraryReference:ObjectStringRef
- [PriceGroupCodeWithOptionList], sekvens av:
- PriceGroupCodeWithOption
- PriceGroupCode:Code
- [PriceQuoteState:String]
- [OptionSpecificationList], sekvens av:
- OptionSpecification
- ComponentNumber:IntegerString
- VariantNumber:IntegerString
- [SectionReference:ObjectStringRef]
- [{PriceGroupCodeList}, sekvens av:
eller (travelServiceDetailedPriceLightSpecification, optionell)
- {PriceGroupCodeWithOptionList}], sekvens av:
- PriceGroupCodeWithOption
- PriceGroupCode:Code
- [PriceQuoteState:String]
- [OptionSpecificationList], sekvens av:
- OptionSpecification
- ComponentNumber:IntegerString
- VariantNumber:IntegerString
- [SectionReference:ObjectStringRef]
- [Group:boolean]
- [GroupReference:String]
- [TravelDocumentCode:Code]
- [Offer:Identity]
- [CampaignCode:Code]
- [PlacementLightSpecification:PlacementLightSpecification]
- [SmokingDepartment:String]
- [PlacementCharacteristics:String]
- [PlacementOrientation:String]
- [CompartmentCode:Code]
- [CarriageId:Identity]
- [PlacementNumber:Identity]
- [NeighbourPlacement:boolean]
- [PlacementDirection:String]
- [CustomerID:Identity]
- [ContractNo:String]
- [VatFree:boolean]
- [IncludeDetails:boolean]
- [DetailedPriceQuote:boolean]
- ConsumerSingleLightSpecificationList, sekvens av:
- ConsumerSingleLightSpecification
- [Traveller:TravellerSpecification]
- [{CustomerId:Identity}
eller (customerXor, optionell)
- [TravellerCustomerId:Identity]
- FirstName:String
- LastName:String
- [CountryOfOrigin:String]
- [TravellerPassNumber:String]
- [BirthDate:Date]
- TimeZone:String
- Year:int
- Month:int
- Day:int
- [ExternalCustomerReference:String]
- [FormOfIdentification:ETicketCard]}
- CardType:String
- CardNumber:String
- [EncryptedCardNumber:EncryptedDataInfo]
- EncryptionRoutineId:String
- EncryptionRoutineVersion:String
- EncryptedData:ByteArray
- [MembershipIdentification:MembershipIdentification]
- CardType:String
- CardNumber:String
- [TravellerExtraInfoSpecification:TravellerExtraInfoSpecification]
- [MobilePhoneNumber:String]
- [MultiRideTicketNumber:String]
- Category:String
- [DiscountCode:Code]
- [KpsBurnCode:Code]
- [TravelType:String]
- [OptionSpecificationList], sekvens av:
- OptionSpecification
- ComponentNumber:IntegerString
- VariantNumber:IntegerString
- [SectionReference:ObjectStringRef]
- [SectionLightSpecificationList], sekvens av:
- SectionLightSpecification
- SectionReference:ObjectStringRef
- [PriceLevelCode:Code]
- [TravelDocumentCode:Code]
- [PlacementSpecification:PlacementSpecification]
- [Comfort:String]
- [PlacementType:String]
- [PlacementCharacteristics:String]
- [PlacementOrientation:String]
- [SmokingDepartment:String]
- [CompartmentCode:Code]
- [CompartmentSize:Code]
- [CarriageId:Identity]
- [PlacementNumber:Identity]
- [NeighbourPlacement:boolean]
- [PlacementDirection:String]
Output
TravelServiceDetailedPriceLightResult
Strukturen utgör utdata för metoden och returnerar priser för specificerade förbindelser, resenärer och tillval.
Här beskrivs endast vissa av elementen i TravelServiceDetailedPriceLight. För de enkla fälten finns förklaringar vid respektive fält.
- TravelServiceDetailedPriceLight
-
- TravelServiceDetailedPriceLight innehåller samtliga resenärers priser i en viss prisgrupp.
- PriceGroupCode
- Aktuell prisgrupp.
- Price
- Summan av samtliga tjänsters (PriceItemLightDescription) priser inklusive alla tillvalskomponenter och alla deras varianter och därför bör fältet endast användas vid en specifik prisfråga.
- Points
- Summan av samtliga tjänsters priser inklusive alla tillvalskomponenter och alla deras varianter uttryckt i SJ Prio-poäng för poängtjänster. Detta fält används enbart för SJ-tjänster, som kan betalas med SJ Prio-poäng och bör endast användas vid en specifik prisfråga.
- PriceItemLightList
- En lista med priser för respektive resenär.
- Price
- Summan av priserna för tjänstens samtliga komponenter och alla deras varianter och därför bör fältet endast användas vid en specifik prisfråga. För att presentera ett korrekt tjänstepris ska BasePriceDescription.PriceInclVat, PlacementPriceDescription.PriceInclVat och Variant.Price för de valda tillvalskomponentvarianterna summeras.
- ExchangeVoucherAmount
- Tjänstens ombokningsvärde.
- OtherProducersFees
- Summan av av tjänstens samtliga komponentvarianters bokningsavgift och därför bör fältet endast användas vid en specifik prisfråga.
- BasePriceDescription
- Fr o m 2009-03-21 basresan, som består av färdkomponenter, obligatoriska platskomponenter och obligatoriska tillvalskomponenter inklusive de vars pris ska särredovisas som ett "varav-pris".
- PriceInclVat
- Basresans pris. Observera att även de obligatoriska tillvalskomponenter, vars pris ska särredovisas som ett "varav-pris", ingår här.
- SeparateServiceOptionList
- De obligatoriska tillvalskomponenter, vars pris ska särredovisas som ett "varav-pris", t ex Stationsavgift Arlanda C.
- TransportPriceDescription
- Summan av färdkomponenternas priser. Färdkomponenternas priser ska aldrig presenteras var för sig eftersom alla färdkomponenter måste säljas tillsammans för att bilda en komplett resa. Fr o m 2009-03-21 används inte denna struktur. Priset på färdkomponenterna ingår i stället i BasePriceDescription.
- PlacementPriceDescription
- Samtliga platskomponenter finns med i denna struktur.
- PriceInclVat
- Summan av de frivilliga platskomponenternas priser. De obligatoriska platskomponenternas priser ingår i BasePriceDescription.
- PlacementPriceSectionDescriptionList
- En lista med samtliga platskomponenter i varsin PlacementPriceSectionDescription.
- PriceInclVat
- Platskomponentens pris, om den är frivillig. En obligatorisk platskomponents pris ingår i BasePriceDescription.
- DepartureLocation
- Stationen där resan börjar, dvs första delsträckans frånstation.
- ArrivalLocation
- Stationen där resan slutar, dvs sista delsträckans tillstation.
- ServiceOptionList
- En lista med möjliga tillvalskomponenter i varsin ServiceOption och deras varianter. Om tillvalet bara finns på en delsträcka identifieras den med SectionReference. Om tillvalet gäller hela resan finns ingen SectionReference.
- OptionDescription
- En beskrivning av tillvalskomponenten.
- VariantNumber
- Fr o m 2009-03-21 används inte detta fält. I stället returneras tillvalskomponentens möjliga varianter i VariantList.
- VariantList
- Fr o m 2009-03-21 en lista med de olika varianterna av tillvalskomponenten i varsin Variant.
- Price
- Tillvalskomponentvariantens pris. De tillvalskomponenter som finns i SeparateServiceOptionList har inget pris här för att undvika felaktig summering av priser.
- Mandatory
- Fr o m 2009-03-21 markerar detta fält att tillvalskomponenten är obligatorisk.
- Price
- Fr o m 2009-03-21 finns priset för tillvalskomponenten endast i bokningssvar, aldrig i svaret på en prisfråga. Priset på respektive tillvalskomponentvariant finns i stället i VariantList.
- Points
- Tjänstens pris inklusive alla tillvalskomponenter och alla deras varianter uttryckt i SJ Prio-poäng för poängtjänster. Detta fält används enbart för SJ-tjänster, som kan betalas med SJ Prio-poäng och bör endast användas vid en specifik prisfråga.
- ServiceName
- Varunamnet är en beteckning på tjänst eller vara som ingår i försäljningsutbudet, t ex Normalbiljett.
- DiscountTypeList
- Här redovisas om någon av resenärerna i ConsumerDescription har någon form av rabatt samt hur mycket den i så fall utgör av det aktuella priset. Bör endast användas för en specifik prisfråga.
- ConsumerDescriptionList
- Innehåller en lista med alla resenärernas resenärstyp.
- PriceSectionDescriptionList
- Innehåller en beskrivning av resans delsträckor om IncludeDetails i frågan är
true
.
Reviderad 2008-10-14
- TravelServiceDetailedPriceLightResult
- TravelServiceDetailedPriceLightList, sekvens av:
- TravelServiceDetailedPriceLight
- ItineraryReference:ObjectStringRef
- [JourneyConnectionReference:String]
- PriceGroupCode:Code
- [{PriceCoefficient:String}
eller (priceCoefficientXor, optionell)
- {PriceQuoteState:String}]
- [Price:PriceVat]
- PriceInclVat:Money
- CurrencyCode:Code
- Amount:DecimalString
- Vat:Money
- CurrencyCode:Code
- Amount:DecimalString
- [VatPercentage:DecimalString]
- [Points:int]
- PriceItemLightList, sekvens av:
- PriceItemLightDescription
- [Price:PriceVat]
- PriceInclVat:Money
- CurrencyCode:Code
- Amount:DecimalString
- Vat:Money
- CurrencyCode:Code
- Amount:DecimalString
- [VatPercentage:DecimalString]
- [isTrustWorthy:boolean]
- [ExchangeVoucherAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [OtherProducersFees:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [BasePriceDescription:BasePriceDescription]
- PriceInclVat:Money
- CurrencyCode:Code
- Amount:DecimalString
- [OtherProducersFees:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [ExchangeVoucherAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [SeparateServiceOptionList], sekvens av:
- [ServiceOption]
- OptionDescription:OptionDescription
- TypeOfOption:String
- ComponentNumber:IntegerString
- [VariantNumber:IntegerString]
- [Description:String]
- [VariantList], sekvens av:
- Variant
- VariantNumber:IntegerString
- Description:String
- [DefaultVariant:boolean]
- [Price:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [OtherProducersFees:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [ExchangeVoucherAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [SummarizeAmountCode:Code]
- [PaymentInformationList], sekvens av:
- PaymentInformation
- PaymentType:Code
- [CardNumber:String]
- Amount:Money
- CurrencyCode:Code
- Amount:DecimalString
- [VariantHelpText:String]
- [OptionHelpText:String]
- [Mandatory:boolean]
- [Price:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [SectionReference:ObjectStringRef]
- [TransportPriceDescription:TransportPriceDescription]
- PriceInclVat:Money
- CurrencyCode:Code
- Amount:DecimalString
- [PlacementPriceDescription:PlacementPriceDescription]
- PriceInclVat:Money
- CurrencyCode:Code
- Amount:DecimalString
- [PlacementPriceSectionDescriptionList], sekvens av:
- [PlacementPriceSectionDescription]
- SectionReference:ObjectStringRef
- [PriceInclVat:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [OtherProducersFees:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [ExchangeVoucherAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [Mandatory:boolean]
- [DefaultReservation:boolean]
- [DepartureLocation:Location]
- ProducerCode:Code
- LocationId:Identity
- LocationName:String
- [LocationLongName:String]
- [HotelLocationId:Identity]
- [LocationCode:String]
- [ExistsInTimetable:boolean]
- [ArrivalLocation:Location]
- ProducerCode:Code
- LocationId:Identity
- LocationName:String
- [LocationLongName:String]
- [HotelLocationId:Identity]
- [LocationCode:String]
- [ExistsInTimetable:boolean]
- [ServiceOptionList], sekvens av:
- ServiceOption
- OptionDescription:OptionDescription
- TypeOfOption:String
- ComponentNumber:IntegerString
- [VariantNumber:IntegerString]
- [Description:String]
- [VariantList], sekvens av:
- Variant
- VariantNumber:IntegerString
- Description:String
- [DefaultVariant:boolean]
- [Price:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [OtherProducersFees:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [ExchangeVoucherAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [SummarizeAmountCode:Code]
- [PaymentInformationList], sekvens av:
- PaymentInformation
- PaymentType:Code
- [CardNumber:String]
- Amount:Money
- CurrencyCode:Code
- Amount:DecimalString
- [VariantHelpText:String]
- [OptionHelpText:String]
- [Mandatory:boolean]
- [Price:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [SectionReference:ObjectStringRef]
- [Points:int]
- [ServiceName:String]
- [DiscountTypeList], sekvens av:
- DiscountType
- DiscountType:String
- DiscountList, sekvens av:
- Discount
- DiscountCode:Code
- NumberOfDiscounts:IntegerString
- Amount:Money
- CurrencyCode:Code
- Amount:DecimalString
- [ConsumerDescriptionList], sekvens av:
- [TravelType:String]
- [PriceSectionDescriptionList], sekvens av:
- PriceSectionDescription
- PriceDepartureLocation:PriceLocation
- ProducerCode:Code
- LocationId:Identity
- LocationName:String
- DepartureDateTime:DateTime
- TimeZone:String
- Year:int
- Month:int
- Day:int
- Hour:int
- Minute:int
- [Second:int]
- PriceArrivalLocation:PriceLocation
- ProducerCode:Code
- LocationId:Identity
- LocationName:String
- ArrivalDateTime:DateTime
- TimeZone:String
- Year:int
- Month:int
- Day:int
- Hour:int
- Minute:int
- [Second:int]
- ProductCode:Code
- TransportId:Identity
- [PriceTransportDescription:PriceTransportDescription]
- PriceLevelCode:Code
- TravelMethodCode:Code
- [ViaStringList], sekvens av:
- [SectionReference:ObjectStringRef]
- [ClientInformation:ClientInformation]
- ClientSessionData:ClientSessionData
- SessionId:String
- [SessionLanguageCode:String]
- [OrderNumber:String]
- [CustomerRoleCode:Code]
- [OrderCreatorCustomerId:String]
- [LockId:String]
- [ClientVersion:String]
- Protocol:Protocol
- Compressed:boolean
- [Algorithm:String]
- [Encoding:String]
- [CachePolicy:String]
- [TimeInformation], sekvens av:
- [TimeInformation]
- [CloneName:String]
- Description:String
- MethodName:String
- Time:String
- LogTime:String
- [TimeInformation:TimeInformation]
- [InitialCloneName:String]
- [ExternalEventSpecification:ExternalEventSpecification]
- [OverrideTimeLogLevel:boolean]