<?php
namespace App\Amadeus\FileParser;

class Line_PPT extends \App\Amadeus\FileParser\LineAbstract
{
	/**
	 * 4.94. PPT Price per Passenger for Tour
	 * see page 259(301)
	 *
	 * This line item is used to transmit passenger fare data related to the Amadeus Tours segment.
	 */
	protected $structure = [
		['name'=> 'MSGTAG',     'val' => 'PPT',   'type' => 'AN',      'req' => 'M',                 'len' => 3,],                          // 1 : Message Tag (PPT)
		['name'=> 'CURRCDE',                      'type' => 'AN',                                    'len' => 3,],                          // 2 : Currency Code
		['name'=> 'TOURPRC',                      'type' => 'N',                                     'len_min' => 1,   'len_max' => 11,],   // 3 : Tour Price
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 4 : Delimiter (Constant value of ';')
		['name'=> 'TAXID',      'val' => 'AT-',   'type' => 'AN',      'req' => 'M',                 'len' => 3,],                          // 5 : Airport Tax Identifier (Constant value of 'AT-')
		['name'=> 'TAXCURR',                      'type' => 'AN',                                    'len' => 3,],                          // 6 : Airport Tax Currency code
		['name'=> 'TAXVAL',                       'type' => 'N',    'requires' => ['TAXID',], 'len_min' => 1,   'len_max' => 11,],   // 7 : Airport Tax Value
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 8 : Delimiter (Constant value of ';')
		['name'=> 'TSFID',      'val' => 'TF-',   'type' => 'AN',      'req' => 'M',                 'len' => 3,],                          // 9 : Transfer Price Identifier (Constant value of 'TF-')
		['name'=> 'TSFCURR',                      'type' => 'AN',                                    'len' => 3,],                          // 10 : Transfer Price Currency code
		['name'=> 'TSFVAL',                       'type' => 'N',    'requires' => ['TSFID',], 'len_min' => 1,   'len_max' => 11,],   // 11 : Transfer Price
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 12 : Delimiter (Constant value of ';')
		['name'=> 'INSID',      'val' => 'IN-',   'type' => 'AN',      'req' => 'M',                 'len' => 3,],                          // 13 : Insurance Price Identifier (Constant value of 'IN-')
		['name'=> 'INSCURR',                      'type' => 'AN',                                    'len' => 3,],                          // 14 : Insurance Price Currency code
		['name'=> 'INSVAL',                       'type' => 'N',    'requires' => ['INSID',], 'len_min' => 1,   'len_max' => 11,],   // 15 : Insurance Price
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 16 : Delimiter (Constant value of ';')
		['name'=> 'INSINCL',    'val' => 'I',     'type' => 'AN',                                    'len' => 1,],                          // 17 : Insurance included identifier (Constant value of 'I')
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 18 : Delimiter (Constant value of ';')
		['name'=> 'OTHID',      'val' => 'OT-',   'type' => 'AN',      'req' => 'M',                 'len' => 3,],                          // 19 : Other Price Identifier (Constant value of 'OT-')
		['name'=> 'OTHCURR',                      'type' => 'AN',                                    'len' => 3,],                          // 20 : Other Price Currency Code
		['name'=> 'OTHVAL',                       'type' => 'N',    'requires' => ['OTHID',], 'len_min' => 1,   'len_max' => 11,],   // 21 : Other Price
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 22 : Delimiter (Constant value of ';')
		['name'=> 'TPID',       'val' => 'TP-',   'type' => 'AN',      'req' => 'M',                 'len' => 3,],                          // 23 : Total Price of the Tour Identifier (Constant value of 'TP-')
		['name'=> 'TPCURR',                       'type' => 'AN',                                    'len' => 3,],                          // 24 : Total Price of the Tour Currency Code
		['name'=> 'TPAMNT',                       'type' => 'N',    'requires' => ['TPID',],  'len_min' => 1,   'len_max' => 11,],   // 25 : Total Price of the Tour
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 26 : Delimiter (Constant Value of ';')
		['name'=> 'COMCURO',                      'type' => 'AN',                                    'len' => 3,],                          // 27 : Commission 1 Currency
		['name'=> 'COMAMNO',                      'type' => 'N',                                     'len_min' => 1,   'len_max' => 18,],   // 28 : Commission Value 1
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 29 : Delimiter (Constant Value of ';')
		['name'=> 'COMTAXO',                      'type' => 'N',                                     'len_min' => 1,   'len_max' => 18,],   // 30 : Commission Tax Value 1
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 31 : Delimiter (Constant Value of ';')
		['name'=> 'COMCURT',                      'type' => 'AN',                                    'len' => 3,],                          // 32 : Commission 2 Currency
		['name'=> 'COMAMNT',                      'type' => 'N',                                     'len_min' => 1,   'len_max' => 18,],   // 33 : Commission Value 2
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 34 : Delimiter (Constant Value of ';')
		['name'=> 'COMTAXT',                      'type' => 'N',                                     'len_min' => 1,   'len_max' => 18,],   // 35 : Commission 2 Tax Value
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 36 : Delimiter (Constant Value of ';')
		['name'=> 'VATTAXCURR',                   'type' => 'AN',                                     'len' => 3,],                          // 37 : VAT Tax Currency
		['name'=> 'VATTAXAMNT',                   'type' => 'N',                                     'len_min' => 1,   'len_max' => 18,],   // 38 : VAT Tax Value
		['name'=> 'DELIM',      'val' => ';',     'type' => 'AN',      'req' => 'M',                 'len' => 1,],                          // 39 : Delimiter (Constant Value of ';')
		['name'=> 'MTXCURR',                      'type' => 'AN',                                    'len' => 3,],                          // 40 : Miscellaneous Tax Currency
		['name'=> 'MTXAMNT',                      'type' => 'N',                                     'len_min' => 1,   'len_max' => 18,],   // 41 : Miscellaneous Tax Value
		['name'=> 'PSGASS',     'val' => ';P',    'type' => 'ASSOC',],
	];
}
