amabnl / amadeus-ws-client

PHP Amadeus SOAP Web Service client library
Apache License 2.0
183 stars 191 forks source link

PNR_AddMultiElements Error - Not Available and Waitlist is Closed #394

Open zafercelik opened 4 years ago

zafercelik commented 4 years ago

Hello, When adding reservation contact information with PNR_AddMultiElements, I get the following error, is there any help? Error "Not Available and Waitlist is Closed"

The services used are respectively; • Fare_MasterPricerTravelBoardSearch • Fare_InformativeBestPricingWithoutPNR • Air_SellFromRecommendation • PNR_AddMultiElements

PNR_AddMultiElements Service Code;

`use Amadeus\Client\RequestOptions\PnrCreatePnrOptions; use Amadeus\Client\RequestOptions\Pnr\Traveller; use Amadeus\Client\RequestOptions\Pnr\Itinerary; use Amadeus\Client\RequestOptions\Pnr\Segment; use Amadeus\Client\RequestOptions\Pnr\Segment\Air; use Amadeus\Client\RequestOptions\Pnr\Segment\Miscellaneous; use Amadeus\Client\RequestOptions\Pnr\Element\Ticketing; use Amadeus\Client\RequestOptions\Pnr\Element\Contact;

$travellers = array(); $travellers[] = new Amadeus\Client\RequestOptions\Pnr\Traveller([ 'number' => 1, 'firstName' => "TESTNAME", 'lastName' => "TESTSURNAME" ]);

$opt = new Amadeus\Client\RequestOptions\PnrCreatePnrOptions(); $opt->actionCode = 0; $opt->travellers = $travellers; $opt->itineraries[] = new Amadeus\Client\RequestOptions\Pnr\Itinerary([
'origin' => 'LHR', 'destination' => 'IST', 'segments' => [ new Air([ 'date' =>\DateTime::createFromFormat('Y-m-d H:i:s', '2020-09-15 11:30:00', new \DateTimeZone('UTC')), 'origin' => 'LHR', 'destination' => 'IST', 'flightNumber' => '1980', 'bookingClass' => 'V', 'company' => 'TK' ]) ]
]); $opt->itineraries[] = new Amadeus\Client\RequestOptions\Pnr\Itinerary([ 'origin' => 'IST', 'destination' => 'LHR', 'segments' => [ new Air([ 'date' => \DateTime::createFromFormat('Y-m-d H:i:s', '2020-09-17 07:45:00', new \DateTimeZone('UTC')), 'origin' => 'IST', 'destination' => 'LHR', 'flightNumber' => '1987', 'bookingClass' => 'L', 'company' => 'TK' ]) ]
]);

$opt->elements[] = new Amadeus\Client\RequestOptions\Pnr\Element\Ticketing([ 'ticketMode' => Amadeus\Client\RequestOptions\Pnr\Element\Ticketing::TICKETMODE_OK ]); $opt->elements[] = new Amadeus\Client\RequestOptions\Pnr\Element\Contact([ 'type' => Amadeus\Client\RequestOptions\Pnr\Element\Contact::TYPE_PHONE_MOBILE, 'value' => '+900000000000' ]);

$createdPnr = $client->pnrCreatePnr($opt);`

DerMika commented 4 years ago

The segment(s) you are trying to book are no longer available. Someone else bought that ticket. You'll need to make sure you can handle that scenario, because you'll get it from time to time.

Also Amadeus will check for these cases when they certify your application.