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.

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

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