<?php

namespace App\Reports\Sources\Ticketing;

class FiltersManager extends \App\Reports\Sources\FiltersManagerAbstract
{

	protected array $filtersCfg = [

		'operationDate'					=> [ 'type' => 'dateInterval', 'mandatory'=>true ],
		'operationType'					=> [ 'type' => 'issueAndRefundOps' ],
		'idImpOrdersSystems'			=> [ 'type' => 'impOrderExtSystemsWithBlank' ], // TODO: [refactorReportSerialization] impServSystem -> idImpOrdersSystems
		'impServSystemStatus'			=> [ 'type' => 'impServSystemStatusWithBlank' ],
		'impServProcessStatus'			=> [ 'type' => 'impServProcessStatusWithBlank' ],

		'idImpServBookUsers'			=> [ 'type' => 'users' ],  // TODO: [refactorReportSerialization] impServBookUserOffice -> idImpServBookUsers
		'idImpServBookOffices'			=> [ 'type' => 'offices' ],  // TODO: [refactorReportSerialization] impServBookUserOffice -> idImpServBookOffices
		'idImpServIssueUsers'			=> [ 'type' => 'users' ],  // TODO: [refactorReportSerialization] impServIssueUserOffice -> idImpServIssueUsers
		'idImpServIssueOffices'			=> [ 'type' => 'offices' ],  // TODO: [refactorReportSerialization] impServIssueUserOffice -> idImpServIssueOffices

		'orderDate'						=> [ 'type' => "dateInterval"  ],
		'idOrderOwnerCorporates'		=> [ 'type' => 'corporates' ], // TODO: [refactorReportSerialization] orderOwnerCorporate -> idOrderOwnerCorporates
		'orderOwnerCorporateGroups'		=> [ 'type' => 'corporateGroups' ],

		'idServicePassengers' 			=> [ 'type' => 'customers' ], // TODO: [refactorReportSerialization] rename to servicePassenger -> idServicePassengers ; make it list
		'serviceStatusFin'				=> [ 'type' => 'serviceStatusFinWithBlank' ], // TODO: [refactorReportSerialization] renamed key '00' with '0'

		'idServiceRespUsers'			=> [ 'type' => 'users' ],  // TODO: [refactorReportSerialization] servUserOffice -> idServiceRespUsers
		'idServiceRespOffices'			=> [ 'type' => 'offices' ],  // TODO: [refactorReportSerialization] servUserOffice -> idServiceRespOffices

		'offerStartDate'				=> [ 'type' => "dateInterval" ],
		'idOfferSuppliers'				=> [ 'type' => 'suppliers' ], // TODO: [refactorReportSerialization] offerSupplier -> idOfferSuppliers
		'offerSupplierGroups'			=> [ 'type' => 'supplierGroups'], // TODO: [refactorReportSerialization] supplierGroups -> offerSupplierGroups
		'offerDestinationCountryCodes'	=> [ 'type' => 'countries' ],  // TODO: [refactorReportSerialization] offerDestination -> offerDestinationCountryCodes
		'offerDestinationCityIds'		=> [ 'type' => 'cities' ], // TODO: [refactorReportSerialization] offerDestination -> offerDestinationCityIds
		'offerFormOfPayment'			=> [ 'type' => 'offerFormOfPayment' ],

		'invoiceDate'					=> [ 'type' => "dateInterval"  ],
		'idInvoiceCustomers'			=> [ 'type' => 'customers' ], // TODO: [refactorReportSerialization] invoiceCustomer -> idInvoiceCustomers
		'idInvoiceCorporates'			=> [ 'type' => 'corporates' ], // TODO: [refactorReportSerialization] invoiceCorporate -> idInvoiceCorporates
		'invoiceCorporateGroups'		=> [ 'type' => 'corporateGroups'], // TODO: [refactorReportSerialization] corporateGroups -> invoiceCorporateGroups

	];

}
