<?php
namespace App\Amadeus\FileParser;

class Line_MFY extends \App\Amadeus\FileParser\LineAbstract
{
	/**
	 * 4.147. MFY MCO/EMD Fare Print Override
	 * see page 363(405)
	 *
	 * DETAILS
	 */
	protected $structure = [
		['name'=> 'MSGTAG',     'val' => 'MFY',   'type' => 'AN',      'req' => 'M',  'len' => 3,],                          // 1 : Message Tag (Constant value of 'MFY')
		['name'=> 'BASE',                         'type' => 'AN',      'req' => 'M',  'len_min' => 1,   'len_max' => 11,],   // 2 : Base Fare Override
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',  'len' => 1,],                          // 3 : Delimiter (Constant value of ';')
		['name'=> 'EQUIV',                        'type' => 'AN',                     'len_min' => 1,   'len_max' => 11,],   // 4 : Equivalent Fare Override
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',  'len' => 1,],                          // 5 : Delimiter (Constant value of ';')
		['name'=> 'TAX1',                         'type' => 'AN',                     'len_min' => 1,   'len_max' => 11,],   // 6 : Tax1 Override
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',  'len' => 1,],                          // 7 : Delimiter (Constant value of ';')
		['name'=> 'TAX2',                         'type' => 'AN',                     'len_min' => 1,   'len_max' => 11,],   // 8 : Tax2 Override
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',  'len' => 1,],                          // 9 : Delimiter (Constant value of ';')
		['name'=> 'TAX3',                         'type' => 'AN',                     'len_min' => 1,   'len_max' => 11,],   // 10 : Tax3 Override
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',  'len' => 1,],                          // 11 : Delimiter (Constant value of ';')
		['name'=> 'TOTAL',                        'type' => 'AN',                     'len_min' => 1,   'len_max' => 11,],   // 12 : Total Fare Override
		['name'=> 'LINEASS',    'val' => ';L',    'type' => 'ASSOC',],
		['name'=> 'PSGASS',     'val' => ';P',    'type' => 'ASSOC',],
		['name'=> 'TSMID',      'val' => ';D',    'type' => 'AN',                     'len' => 2,],                          // 16 : TSM association identifier (constant value of 'D')
		['name'=> 'TSMNBR',                       'type' => 'N',       'req' => 'M',  'requires' => ['TSMID',],],                                       // 17 : TSM number
	];
}
