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.
- SpecificBusinessRulesQuery
- [{PaymentTypesDebit:boolean}
eller (paymentTypesDebitXor, optionell)
- {PaymentTypesDebitKpsPin:IntegerString}
eller (paymentTypesDebitXor, optionell)
- {PaymentTypesDebitKpsWithoutPin:boolean}]
- [TicketableOrder:boolean]
- [DistributionCodes:boolean]
- [IgnoreDBPostDays:boolean]
- [ValidForCredit:boolean]
- [ValidForCancel:boolean]
- [ValidForDebitAndCredit:boolean]
- [ValidForDebitQuery:ValidForDebitQuery]
- [KpsPin:IntegerString]
- [TotalBasePaymentTypeAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [PreliminaryPaymentCode:String]
- [PreliminaryMeansOfDistribution:Code]
- [ValidForPaymentWithVoucherType:Code]
- [ValidToBeUsedAsVoucherType:Code]
- [ValidForSendInfo:boolean]
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().
- SpecificBusinessRulesData
- [PaymentTypesDebitResult:PaymentTypesDebitResult]
- PaymentTypeListDebit, sekvens av:
- [PaymentTypeDebit]
- Code:String
- Model:String
- Text:String
- DefaultCode:boolean
- ValidForCreditWithoutOrderCode:Code
- Mixable:boolean
- [PaymentFeeServiceId:Identity]
- [DBRestrictionCode:Code]
- [MaxAmount:DecimalString]
- [CustomerBarredCheck:Code]
- [AllowCreditMemo:Code]
- [DirectLetterDocCode:Code]
- [CreditRating:boolean]
- [CreditRatingDays:int]
- NotAllowedPaymentTypeList, sekvens av:
- [NotAllowedPaymentType]
- Code:String
- Text:String
- ErrorNo:String
- ErrorText:String
- [NotAllowedToDebit:NotAllowedToDebit]
- ErrorNo:String
- ErrorText:String
- [TicketableOrderResult:TicketableOrderResult]
- TicketableOrder:boolean
- TicketableOrderItemList, sekvens av:
- [TicketableOrderItem]
- OrderItemId:Identity
- TicketableOrderItem:boolean
- [NotAllowedToTicketOrderItem:NotAllowedToTicketOrderItem]
- ErrorNo:String
- ErrorText:String
- [NotAllowedToTicketOrder:NotAllowedToTicketOrder]
- ErrorNo:String
- ErrorText:String
- [DistributionCodesResult:DistributionCodesResult]
- DistributionCodeList, sekvens av:
- [DistributionCode]
- Code:String
- OrderDistributionType:String
- [ExpressDistributionCode:String]
- [NotAllowedDistributionCodeList], sekvens av:
- [NotAllowedDistributionCode]
- Code:String
- ErrorNo:String
- ErrorText:String
- [ValidForCreditResult:ValidForCreditResult]
- ValidForCredit:boolean
- CreditRule:String
- CreditCode:String
- PaymentModel:String
- ValidForCreditOrderItemList, sekvens av:
- [ValidForCreditOrderItem]
- OrderItemId:Identity
- ValidForCredit:boolean
- [NotAllowedToCreditOrderItem:NotAllowedToCreditOrderItem]
- ErrorNo:String
- ErrorText:String
- [NotAllowedToCredit:NotAllowedToCredit]
- ErrorNo:String
- ErrorText:String
- [ValidForCancelResult:ValidForCancelResult]
- ValidForCancel:boolean
- ValidForCancelOrderItemList, sekvens av:
- [ValidForCancelOrderItem]
- OrderItemId:Identity
- ValidForCancel:boolean
- [NotAllowedToCancelOrderItem:NotAllowedToCancelOrderItem]
- ErrorNo:String
- ErrorText:String
- [NotAllowedToCancel:NotAllowedToCancel]
- ErrorNo:String
- ErrorText:String
- [ValidForDebitAndCreditResult:ValidForDebitAndCreditResult]
- ValidForDebitAndCredit:boolean
- [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]
- [ValidForDebitResult:ValidForDebitResult]
- PaymentTypeListDebit, sekvens av:
- [PaymentTypeDebit]
- Code:String
- Model:String
- Text:String
- DefaultCode:boolean
- ValidForCreditWithoutOrderCode:Code
- Mixable:boolean
- [PaymentFeeServiceId:Identity]
- [DBRestrictionCode:Code]
- [MaxAmount:DecimalString]
- [CustomerBarredCheck:Code]
- [AllowCreditMemo:Code]
- [DirectLetterDocCode:Code]
- [CreditRating:boolean]
- [CreditRatingDays:int]
- NotAllowedPaymentTypeList, sekvens av:
- [NotAllowedPaymentType]
- Code:String
- Text:String
- ErrorNo:String
- ErrorText:String
- [NotAllowedToDebit:NotAllowedToDebit]
- ErrorNo:String
- ErrorText:String
- [ValidForPaymentWithVoucherTypeResult:ValidForPaymentWithVoucherTypeResult]
- ValidForPaymentWithVoucherType:boolean
- VoucherType:Code
- [ValidForPaymentWithVoucherTypeOrderItemList], sekvens av:
- [VoucherTypeOrderItem]
- OrderItemId:Identity
- ValidForVoucherType:boolean
- VoucherAmount:Money
- CurrencyCode:Code
- Amount:DecimalString
- [VoucherVatAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [NotValidForVoucherTypeOrderItem:NotValidForVoucherTypeOrderItem]
- ErrorNo:String
- ErrorText:String
- [NotValidForPaymentWithVoucherType:NotValidForPaymentWithVoucherType]
- ErrorNo:String
- ErrorText:String
- [ValidToBeUsedAsVoucherTypeResult:ValidToBeUsedAsVoucherTypeResult]
- ValidToBeUsedAsVoucherType:boolean
- VoucherType:Code
- [ValidToBeUsedAsVoucherTypeOrderItemList], sekvens av:
- [VoucherTypeOrderItem]
- OrderItemId:Identity
- ValidForVoucherType:boolean
- VoucherAmount:Money
- CurrencyCode:Code
- Amount:DecimalString
- [VoucherVatAmount:Money]
- CurrencyCode:Code
- Amount:DecimalString
- [NotValidForVoucherTypeOrderItem:NotValidForVoucherTypeOrderItem]
- ErrorNo:String
- ErrorText:String
- [NotValidToBeUsedAsVoucherType:NotValidToBeUsedAsVoucherType]
- ErrorNo:String
- ErrorText:String
- [ValidForSendInfoResult:ValidForSendInfoResult]