<?php
namespace App\Bsp\Hot230\Lines\Transaction; class BAR64 extends \App\Bsp\Hot230\HOTBase { protected $children = [ [ 'key'=>'SMSG', 'type'=>'Constant', 'val'=>'BAR', 'len'=>3, 'label'=>'Standard Message Identifier', ], [ 'key'=>'SQNR', 'type'=>'Integer', 'len'=>8, 'label'=>'Sequence Number', ], [ 'key'=>'STNQ', 'type'=>'Constant', 'val'=>'64', 'len'=>2, 'label'=>'Standard Numeric Qualifier', ], [ 'key'=>'DAIS', 'type'=>'Date', 'fmt'=>'YYMMDD', 'len'=>6, 'label'=>'Date of Issue', ], [ 'key'=>'TRNN', 'type'=>'Integer', 'len'=>6, 'label'=>'Transaction Number', ], [ 'key'=>'TDNR_airline', 'type'=>'StringRaw', 'len'=>3, 'label'=>'Ticket/Document Number(airline number)', ], [ 'key'=>'TDNR_ticketNumber', 'type'=>'StringRaw', 'len'=>10, 'label'=>'Ticket/Document Number', ], [ 'key'=>'TDNR_extra', 'type'=>'StringRaw', 'len'=>1, 'label'=>'Ticket/Document Number(extra digits)', ], [ 'key'=>'CDGT', 'type'=>'Digits', 'len'=>1, 'label'=>'Check-Digit', ], [ 'key'=>'FARE_currency', 'type'=>'StringRaw', 'len'=>3, 'label'=>'Fare', ], [ 'key'=>'FARE_amount', 'type'=>'StringTrim', 'len'=>9, 'label'=>'Fare', ], [ 'key'=>'TKMI', 'type'=>'StringRaw', 'len'=>1, 'label'=>'Ticketing Mode Indicator', ], [ 'key'=>'EQFR_currency', 'type'=>'StringRaw', 'len'=>3, 'label'=>'Equivalent Fare Paid', ], [ 'key'=>'EQFR_amount', 'type'=>'StringRaw', 'len'=>9, 'label'=>'Equivalent Fare Paid', ], [ 'key'=>'TOTL', 'type'=>'StringRaw', 'len'=>12, 'label'=>'Total', ], [ 'key'=>'SASI', 'type'=>'StringRaw', 'len'=>4, 'label'=>'Servicing Airline/System Provider Identifier', ], [ 'key'=>'FCMI', 'type'=>'StringRaw', 'len'=>1, 'label'=>'Fare Calculation Mode Indicator', ], [ 'key'=>'BAID', 'type'=>'StringRaw', 'len'=>6, 'label'=>'Booking Agent Identification', ], [ 'key'=>'BEOT', 'type'=>'StringTrim', 'len'=>1, 'label'=>'Booking Entity Outlet Type', ], [ 'key'=>'AENT', 'type'=>'StringTrim', 'len'=>8, 'label'=>'Fare Calculation Pricing Indicator', ], [ 'key'=>'RESD', 'type'=>'StringTrim', 'len'=>38, 'label'=>'Reserved Space', ], ]; protected function postExtract(\App\Utils\BaseParser\TextParser\ExtractedBlock $ret) { if (trim($ret->extractedData['TOTL'])=='NO ADC') { $ret->extractedData['TOTL'] = trim($ret->extractedData['TOTL']); $ret->extractedData['TOTL_currency'] = null; $ret->extractedData['TOTL_amount'] = null; } else { $ret->extractedData['TOTL_currency'] = substr($ret->extractedData['TOTL'], 0, 3); $ret->extractedData['TOTL_amount'] = (float)trim(substr($ret->extractedData['TOTL'], 3)); } $ret->extractedData['EQFR_amount'] = trim($ret->extractedData['EQFR_amount']); if (is_numeric($ret->extractedData['EQFR_amount'])) { $ret->extractedData['EQFR_amount'] = (float)$ret->extractedData['EQFR_amount']; } return $ret; } } 