ますます多くの乗客が電子チケットを使用しています-これは事実です。 そして、それらの多くはさまざまなボーナスプログラムに参加しており、陸上と空中の両方でマイルを貯めようとしています。 これは楽しいです。 これらのマイルの数を増やすために、この残高を増やすために支払うことで、特別な銀行カードも発行します。 興味深い機能が1つのキャリアのWebサイトで見つかりました。 見てみましょう!
背景
オンラインサービスでチケットを数回購入しました。 今回は異常なことは何もありませんでした。 実際のデータを入力し、[続行]をクリックすると、姓の1文字を間違えた(キーが押された)ことがわかりました。
同時に、非常に興味深い事実が発見されました。 私は頭から発明したデータで同じエラーを作成しました。
確認する
それで、私たちはほとんど成功への道を進んでおり、必要なすべてのデータフィールドに記入しました
このエラーが最初に表示されたときに使用した実際のボーナスカード番号を除き、すべてのデータはランダムに入力されました。
ご覧のとおり、カード番号と名前による検証はありません。ページには、すべてが「OK」であることが示されています。
これは、そのようなボーナスカード番号が存在することを意味し、これは事実です。
さらにクリックすると...エラーは実際に姓を間違えたときに受け取ったものと同じです:
カードの不正使用、方法について。 まあ、そうです、架空の友人は、間違った名前の私だけでなく、(個人として)私に付けられた番号のカードを持つことはできません。 公平を期すために、このようなバナーに注意する価値があります。「 注意!ユニバーサルカードまたはRZDボーナスカードを指定する場合、姓、名、および後援者がカードを登録するときと同じであることを確認してください。 「この警告は優れていますが、ご覧のように、誰も偶発的なエラーから安全ではありません。 追加の検証メカニズムを使用しないのはなぜですか?
しかし、エラーテキスト全体を見てみましょう。
Passenger{id='0', lastName='', firstName='', middleName='', tariffType=, dateOfBirth=Wed Feb 07 00:00:00 MSK 1996, documentType=DocType{id=1, code='', name=' }, documentNumber='1222567890', citizenship=Country{expressCode=**, isoAlpha3='RUS', isForcedRegistrationAllowed=true, localizedNames='{en={name=Russian Federation}, ru={name=}}'}, gender=Male, universalCardNumber='null', loyaltyCardNumber='*********************', birthplace='', insuranceCompany='null', babyPassenger='null'}, order=OrderBean{id=, saleOrderId=null, departureStationId=2000003, arrivalStationId=2024000, srcStation=' ', dstStation='', distance=null, departureTrain=Train{typeId='2', expressCategoryId='1', date=12.03.2015 20:08:00.000, trainDepartureDate=null, comments=null, isOnboardRegistrationAvailable=false, brand=null, departureStationShortName=' ', arrivalStationShortName=''}, arrivalTrain=Train{typeId='null', expressCategoryId='null', date=09.03.2015, trainDepartureDate=null, comments=null, isOnboardRegistrationAvailable=false, brand=null, departureStationShortName='null', arrivalStationShortName='null'}, carrierId=1, carriage=ru.tehnosk.chameleon.layer.express.bean.response.buyTicket.Carriage{number='03', owner={type='', railway=null}, addSigns='1', serviceClass=1, isOnboardRegistrationAvailable=false, tripClass=null} SUPER:AbstractCarriage{type=, number='03', carCarrierGroup=CarCarrierGroup{id='1' name='', isFoodChoiceAvailable=true, foodChoiceStopHours=48}, carCarrier=Carrier{name=' ', id=200, isForcedRegistrationAllowed=true, carCarrierGroup=CarCarrierGroup{id='1' name='', isFoodChoiceAvailable=true, foodChoiceStopHours=48}, isNotForSale=false, locale2fieldName2value={ru={name= }, en={name= }}}, serviceClass='1', addSigns='1', foodAvailabilityFlag=true}, tariff=ru.tehnosk.chameleon.layer.express.bean.response.buyTicket.Tariff{type='null'} {cost='7304.0'}, totalCostInEuro=null, totalCostInPoints=null, totalInsuranceCost=0, tickets=[TicketBean{id=128532684, orderId=119344058, ordinal=1, number='71751387597061', reservationNumber=null, passCount=1, seats='010', seatsType='', tariffType=, tariffInfo='null', tariffB=3636.6, tariffP=3667.4, tariffBP=7304.0, tariffInsurance=0.0, tariffService=0.0, tariffNDS=1114.17, price=7304.0, priceInEuro=null, priceInPoints=null, priceInPointsMoney=null, status=, code2D='null', registrationChangeDate=null, containsDet5=false, refundTariff=null, refundDate=null, refundInfo='null', refundKrs=null, trainmasterLogin='null',
パラメーターloyaltyCardNumber = '**********************'は私のカードの番号です。 残りは、識別子を含むサービスおよび地理情報です。 上記はすべて、入力した情報と一致しています。 しかし、いつものように落とし穴があります...
この作品は特に興味深いものです。
* /
passengers = [en.tehnosk.chameleon.layer.express.bean.PassengerBean { id = **********、index = null、middleName = '************* ICH '、firstName =' ********* H '、lastName =' **** E ****** '、tariffType = null、dateOfBirth = **。**。19 ** 00 :00:00.000、documentType = DocType {id = 1、code = 'PN'、name = 'Passport of the Russian Federation}、documentNumber =' 1222567890 '、citizenship = Country {expressCode = 20、isoAlpha3 =' RUS '、isForcedRegistrationAllowed = true、 localizedNames = '{ru = {名前=ロシア}、en = {名前=ロシア連邦}}'}、性別=男性、cardNumber = 'null'、loyaltyCardNumber = 'null'、isFullComp = false、insurance = null}]、 foodChoice = {}}]* /
ここで、私の正式な名前と生年月日を見つけました...まあ、少なくともパスポートのデータは架空のままでした。 ところで、ボーナスカードのパラメーターはloyaltyCardNumber = 'null'です。 あなたのキーが付いていれば、それは完全に悲しい話です。
エラーテキストは次のとおりです。
refundedTicketFromReissuedOrder=null, expiredDate=null, orderNumber='', dbRecordCreateDate=null, createDate=09.03.2015 , status=null, statusChangeDate=null, payGateData=ru.tehnosk.chameleon.layer.express.bean.response.buyTicket.PayGateData{payGateOrderId='null', payGateSessionId='null'}, ticketQuantity=1, passengerQuantity=null, seatQuantity=1, paymentForm='null', agentId='1', subagentId='null', seatNumbers='010', timeInfo=' .; ; ', attrs='null', terminalNumber='', issueRailway='null', issueCc='null', compCc='null', posNumber='null', login='null', isInternational=false, isCisInternational=false, e3gwNegativeResult=null, directionType=Forward, isRegistrationAvailable=true, isInactive=false, isTeema=false, isAutorackAvailable=false, hasAutorackOrder=false, isDeferredPayment=false, deferredPaymentDeadline=null, isEntireCompartment=false, availableFoodTypes=[], refundedTicketId=null, relatedOrderId=null, ferry=false, busFlag=false, autoRequest=null}
彼らがこの機能をできるだけ早く修正することを願っています、なぜなら ロシア鉄道へのメッセージが送信されました。
PSそして、ここに簡単な答えがあります:
もちろん、答えは面白いです。 ボーナスカードは個人のものであることに同意しますが、これはチケット購入システム(ボーナスプログラムのデータとフォームに入力されたデータの関係)が正しくないという事実とは相関しません。 ボーナスカード番号のみを入力したことに注意してください。 多分私のカードはユニークですか?
PPS
別の週が過ぎて、別のリクエストが書き込まれました。 状況は変わっていません。 ロシア鉄道の別の回答:
誰も何の責任も負わず、ロシア鉄道のウェブサイトで購入し、ボーナスプログラムは一般的に3番目のものです...
確かに落ち着いて、電子サービスを使用することはできません。
そして
正直なところ、PDの公開アクセシビリティに関する2行を読んだ後、ポリシーをダウンロードして調査したいという欲求はあまりありませんでした。
それで、すべての組織は何ができますか? 考えるべきいくつかの考え 。
この情報が役立つことを願っています。