Petra2 Java API – SjOrderFacadeInterface.validateOrderForSpecificBusinessRules

Method description

Metoden kontrollerar specifika affärsregler för en beställning.

Denna metod är tänkt att användas för att kunna kontrollera olika affärsregler på en beställning. Exempel på regler som kan efterfrågas är möjliga betalningsmedel, uthämtningsregler, krediteringsregler samt om en beställning är giltig att användas som betalning vid ombokning (ValidToBeUsedAsVoucherType) eller för att betalas med ombokningsbara biljetter ( ValidForPaymentWithVoucherType). Uthämtningsmöjlighet kontrolleras alltid via denna metod.

Indata till metoden utgörs av ett antal optionella flaggor man kan sätta till true beroende på vad man vill kontrollera.

Svaret är ett antal optionella listor med svar som är kopplade till de flaggor som finns i frågan, så beroende på vad man frågat efter får man olika listor tillbaka i svaret.


For Javadoc, click here.

Input

SpecificBusinessRulesQuery

Några av fälten i frågestrukturen beskrivs nedan. För övriga fält hänvisas till den generella beskrivningen för respektive fält.

IgnoreDBPostDays
Denna struktur har endast betydelse när fältet DistributionCodes=true.
IgnoreDBPostDays=true innebär att ingen kontroll av antal dagar kvar till
avgång görs för distributionskod direktbrev.

Output

SpecificBusinessRulesData

Några av fälten i svarsstrukturen beskrivs nedan. För övriga fält hänvisas till den generella beskrivningen för respektive fält.

PaymentTypesDebitResult
Denna struktur innehållet svaret på en fråga med PaymentTypesDebit=true.
PaymentTypeListDebit
Listan innehåller de tillåtna betalningsmedlen för beställningen. Om listan är tom kan betalning ej utföras i aktuell klient på aktuellt säljställe eftersom giltiga betalningssätt saknas.
Code
Betalningskoden identifierar betalningsmedlet. Klartext finns i fältet Text.
Model
"N1" används för beställningar där beloppet att betala är 0 kr via till exempel standardrabatten Årskort Guld.
"K1" kräver kontokortskoppling via Netgiro
"K2" är en betalningsmodell för klienter som använder EFT-klienten för kontokortsbetalning i stället för den kontokortshantering som finns i Provider-gränssnittet.
"K3" kräver kontokortskoppling via Postnet
"K4" kräver kontokortskoppling via EFT-server
"K5" kontrollerar om kund har Resekontonummer samt kontokortskoppling via EFT-server.
"K6" CVV-uppgifter krävs samt kontokortskoppling via EFT-server.
"K7" fullmaktskontroll krävs samt kontokortskoppling via EFT-server.
"R1" kräver Rekvisitionsnummer i vissa säljkanaler.
"R2" kräver Rekvisitionsnummer i vissa säljkanaler.
"P1" används för betalning via Plusgiro.
Text
En klartext för betalningskoden.
Mixable
Värdet true innebär att detta betalningssätt går att blanda med andra betalningssätt vid betalning i kassan. Det kan vara frågan om att till exempel betala en eller flera beställningar med både kontanter och presentkort i samma kassahändelse.
NotAllowedPaymentTypeList
Listan innehåller de betalningssätt som generellt är tillåtna för säljstället, men som inte är tillåtna för den aktuella beställningen. För varje otillåtet betalningssätt finns ett felmeddelande som förklarar varför.
NotAllowedToDebit
Om beställningen inte kan betalas finns här ett felmeddelande som förklarar varför, till exempel att resenärskoppling saknas eller att beställningen redan är betald.

TicketableOrderResult
Denna struktur innehållet svaret på en fråga med TicketableOrder=true.
TicketableOrder
Värdet true innebär att det är tillåtet att uthämta beställningen. Klienter som inte presenterar beställningsrader behöver endast kontrollera om beställningen är möjlig att uthämta i detta fält.
NotAllowedToTicketOrder
Information om varför beställningen inte går att hämta ut.
OrderItemId
Beställningsradens nummer. Uthämtning görs alltid av en hel beställning så denna information används endast vid felhantering.
TicketableOrderItem
Värdet false innebär att det är denna beställningsrad som förhindrar uthämtning, vilket kan vara intressant att visa för användaren.
NotAllowedToTicketOrderItem
Information om varför beställningsraden inte går att hämta ut.

DistributionCodesResult
Denna struktur innehållet svaret på en fråga med DistributionCodes=true och visar vilka distributionssätt som är tillåtna för beställningen.
DistributionCodeList
De av säljstället hanterade distributionssätt som är tillåtna för beställningen.
NotAllowedDistributionCodeList
De av säljstället hanterade distributionssätt som inte är tillåtna för beställningen. Innehåller även information om varför det inte tillåts.

ValidForCreditResult
Denna struktur innehållet svaret på en fråga med ValidForCredit=true.
ValidForCredit
Värdet true innebär att det är tillåtet att kreditera.
NotAllowedToCredit
Information om varför beställningen inte gör att kreditera. T ex att säljstället inte får kreditera aktuellt betalningssätt.
OrderItemId
Beställningsradens nummer. Kreditering görs på radnivå.
ValidForCredit
Värdet true innebär att det är tillåtet att kreditera beställningsraden.
NotAllowedToCreditOrderItem
Information om varför beställningsraden inte gör att kreditera. T ex att raden redan är krediterad.

ValidForCancelResult
Denna struktur innehållet svaret på en fråga med ValidForCancel=true och visar om det är tillåtet att avbeställa.
ValidForCancel
Värdet true innebär att det är tillåtet att avboka.
NotAllowedToCancel
Information om varför beställningen inte gör att avboka. T ex skälet för att en viss rad inte går att avboka.
OrderItemId
Beställningsradens nummer. Avbokning görs på radnivå.
ValidForCancel
Värdet true innebär att det är tillåtet att avboka beställningsraden.
NotAllowedToCancelOrderItem
Information om varför beställningsraden inte gör att avboka. T ex att raden redan är avbokad.

ValidForDebitAndCreditResult
Denna struktur innehållet svaret på en fråga med ValidForDebitAndCredit=true. Vissa värdebevis debiteras och krediteras i samma transaktion och värdet true innebär att det är tillåtet att debitera och kreditera värdebeviset.

ValidToBeUsedAsVoucherTypeResult
Denna struktur innehållet svaret på en fråga med ValidForVoucherType=true och kontrollerar vilka rader och vilka belopp från den aktuella beställningen som kan användas som betalning för en annan tjänst.
ValidForVoucherType
Värdet true betyder att hela beställningen är godkänd att använda som betalning.
VoucherType
Visar vilken typ av voucher beställningen är giltig som, antingen ombokning eller värdebevis.
ValidForPaymentWithVoucherTypeOrderItemList
En lista med beställningsrader.
OrderItemId
Beställningsradnummer
ValidForVoucherType
Visar vilken typ av voucher raden är giltig för, antingen ombokning eller värdebevis.
VoucherAmount
Beloppet som kan användas för betalning.
NotValidForVoucherTypeOrderItem
Felmeddelande som beskriver varför raden inte kan användas som betalning.
NotValidForVoucherType
Felmeddelande som beskriver varför beställningen inte kan användas som betalning.

ValidForPaymentWithVoucherTypeResult
Denna struktur innehållet svaret på en fråga med ValidForPaymentWithVoucherType=true och kontroll sker av hur mycket av priset som kan betalas med en ombokningsbar biljett eller värdebevis.
ValidForPaymentWithVoucherType
Värdet true betyder att hela beställningen är godkänd att betala med ombokningsbar biljett eller värdebevis.
VoucherType
Visar vilken typ av voucher som beställningen kan betalas med, antingen ombokning eller värdebevis.
ValidForPaymentWithVoucherTypeOrderItemList
En lista med beställningsrader.
OrderItemId
Beställningsradnummer
ValidForVoucherType
Visar vilken typ av voucher raden kan betalas med, antingen ombokning eller värdebevis.
VoucherAmount
Beloppet som kan användas för betalning.
NotValidForVoucherTypeOrderItem
Felmeddelande som beskriver varför raden inte kan betalas med voucher (ombokningsbar biljett eller värdebevis).
NotValidForPaymentWithVoucherType
Felmeddelande som beskriver varför beställningen inte kan betalas med voucher.

ValidForSendInfoResult
Denna struktur innehållet svaret på en fråga med ValidForSendInfo=true.
validForSendInfo
Värdet true betyder att hela beställningen är godkänd att sända som SMS eller e-post med metoden sendInfo().