mirror of
https://github.com/pyro2927/SouthwestCheckin.git
synced 2025-12-06 01:13:19 +00:00
@@ -20,10 +20,9 @@ from dateutil.parser import parse
|
|||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
from math import trunc
|
from math import trunc
|
||||||
from pytz import utc
|
from pytz import utc
|
||||||
from southwest import Reservation
|
from southwest import Reservation, openflights
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
from tzlocal import get_localzone
|
from tzlocal import get_localzone
|
||||||
import openflights
|
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import json
|
|||||||
import pytest
|
import pytest
|
||||||
import requests
|
import requests
|
||||||
import southwest
|
import southwest
|
||||||
|
import checkin
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from .my_vcr import custom_vcr
|
from .my_vcr import custom_vcr
|
||||||
from pytz import timezone, utc
|
from pytz import timezone, utc
|
||||||
@@ -31,13 +32,14 @@ def test_checkin():
|
|||||||
pytest.fail("Error checking in")
|
pytest.fail("Error checking in")
|
||||||
|
|
||||||
|
|
||||||
def test_notifications():
|
|
||||||
phone = southwest.Notifications.Phone('1234567890')
|
|
||||||
email = southwest.Notifications.Email('test@example.com')
|
|
||||||
r.notifications = [phone, email]
|
|
||||||
# TODO: test firing these off
|
|
||||||
|
|
||||||
|
|
||||||
@my_vcr.use_cassette()
|
@my_vcr.use_cassette()
|
||||||
def test_openflights_api():
|
def test_openflights_api():
|
||||||
assert southwest.timezone_for_airport('LAX').zone == "America/Los_Angeles"
|
assert southwest.timezone_for_airport('LAX').zone == "America/Los_Angeles"
|
||||||
|
|
||||||
|
|
||||||
|
@my_vcr.use_cassette()
|
||||||
|
def test_cli():
|
||||||
|
try:
|
||||||
|
checkin.auto_checkin('XXXXXX', 'John', 'Smith')
|
||||||
|
except Exception:
|
||||||
|
pytest.fail("cli error")
|
||||||
|
|||||||
385
tests/fixtures/cassettes/test_cli.yml
vendored
Normal file
385
tests/fixtures/cassettes/test_cli.yml
vendored
Normal file
@@ -0,0 +1,385 @@
|
|||||||
|
interactions:
|
||||||
|
- request:
|
||||||
|
body: iata=LAX&country=ALL&db=airports&iatafilter=true&action=SEARCH&offset=0
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Length: ['71']
|
||||||
|
Content-Type: [application/x-www-form-urlencoded]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
method: POST
|
||||||
|
uri: https://openflights.org/php/apsearch.php
|
||||||
|
response:
|
||||||
|
body: {string: '{"status": 1, "offset": 0, "max": "1", "airports": [{"name": "[REDACTED]",
|
||||||
|
"city": "Los Angeles", "country": "United States", "iata": "LAX", "icao":
|
||||||
|
"KLAX", "x": "-118.4079971", "y": "33.94250107", "elevation": "125", "apid":
|
||||||
|
"3484", "timezone": "-8", "dst": "A", "tz_id": "America/Los_Angeles", "type":
|
||||||
|
"airport", "source": "OurAirports", "ap_uid": null, "ap_name": "Los Angeles
|
||||||
|
International. (LAX), United States"}]}'}
|
||||||
|
headers:
|
||||||
|
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
|
||||||
|
Connection: [Keep-Alive]
|
||||||
|
Content-Type: [text/html]
|
||||||
|
Date: ['Mon, 18 Feb 2019 07:24:50 GMT']
|
||||||
|
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
|
||||||
|
Keep-Alive: ['timeout=5, max=100']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache/2.4.7 (Ubuntu)]
|
||||||
|
Set-Cookie: [PHPSESSID=mpoesla4lf9h12d3hnp5fn6t24; path=/]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Powered-By: [PHP/5.5.9-1ubuntu4.26]
|
||||||
|
content-length: ['405']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
- request:
|
||||||
|
body: null
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: GET
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-misc/v1/mobile-misc/page/view-reservation/XXXXXX
|
||||||
|
response:
|
||||||
|
body: {string: '{"viewReservationViewPage": {"dates": {"first": "2019-02-18",
|
||||||
|
"second": null}, "checkInIneligibilityReason": null, "destinationDescription":
|
||||||
|
"Los Angeles", "originAirport": {"name": "[REDACTED]", "state": "OR", "code":
|
||||||
|
"PDX", "country": null}, "destinationAirport": {"name": "[REDACTED]", "state":
|
||||||
|
"CA", "code": "LAX", "country": null}, "standbyFlight": null, "companion":
|
||||||
|
null, "passengers": "[REDACTED]", "confirmationNumber": "XXXXXX", "shouldShowAddEarlyBirdButton":
|
||||||
|
false, "bounds": [{"departureStatus": "ON TIME", "departureStatusType": "POSITIVE",
|
||||||
|
"arrivalStatus": "ON TIME", "arrivalStatusType": "POSITIVE", "flights": [{"number":
|
||||||
|
"1614", "wifiOnBoard": true}], "travelTime": "2h 20m", "departureDate": "2019-02-18",
|
||||||
|
"departureTime": "13:45", "departureAirport": {"name": "[REDACTED]", "state":
|
||||||
|
"OR", "code": "PDX", "country": null}, "arrivalTime": "16:05", "arrivalAirport":
|
||||||
|
{"name": "[REDACTED]", "state": "CA", "code": "LAX", "country": null}, "passengerTypeCounts":
|
||||||
|
{"adult": 1, "senior": 0}, "fareType": "Companion", "boundType": "DEPARTING",
|
||||||
|
"standbyFlight": null, "stops": [], "isNextDayArrival": false}], "pageHeader":
|
||||||
|
"PDX - LAX", "shareDetails": {"subject": "Southwest Flight 1614 Portland to
|
||||||
|
Los Angeles", "confirmationInfo": "Confirmation #: XXXXXX", "passengerInfo":
|
||||||
|
"[REDACTED]", "flightInfo": [{"header": "Departing Flight: Mon, Feb 18, 2019",
|
||||||
|
"flightInfo": "Flight #: 1614", "departureInfo": "Departs: 01:45 PM PDX",
|
||||||
|
"stops": null, "arrivalInfo": "Arrives: 04:05 PM LAX", "travelTime": "Travel
|
||||||
|
time: 2hr 20 mins"}]}, "hasAnyCancelledFlights": false, "isCheckInEligible":
|
||||||
|
true, "isCheckedIn": true, "isInternational": false, "isDynamicWaiver": false,
|
||||||
|
"isNonRevPnr": false, "_v1_infoNeededToChange": {"href": "/v1/mobile/reservations/record-locator/XXXXXX",
|
||||||
|
"method": "GET", "query": {"action": "CHANGE", "first-name": "[REDACTED]",
|
||||||
|
"last-name": "[REDACTED]"}}, "_v1_infoNeededToCancel": {"href": "/v1/mobile/reservations/record-locator/XXXXXX",
|
||||||
|
"method": "GET", "query": {"action": "CANCEL", "first-name": "[REDACTED]",
|
||||||
|
"last-name": "[REDACTED]"}}, "_v1_infoNeededToAddCompanion": null, "_links":
|
||||||
|
{"checkInSessionToken": "[REDACTED]", "earlyBird": null, "change": {"href":
|
||||||
|
"/v1/mobile-air-booking/page/flights/change/current/XXXXXX", "method": "GET",
|
||||||
|
"query": {"first-name": "[REDACTED]", "last-name": "[REDACTED]"}}, "cancel":
|
||||||
|
{"href": "/v1/mobile-air-booking/page/cancel-reservation/XXXXXX", "method":
|
||||||
|
"GET", "query": {"first-name": "[REDACTED]", "last-name": "[REDACTED]"}},
|
||||||
|
"viewStandbyList": null, "checkIn": null, "viewBoardingPass": {"href": "/v1/mobile-air-operations/page/check-in/view-boarding-pass",
|
||||||
|
"method": "POST", "body": {"firstName": "[REDACTED]", "lastName": "[REDACTED]",
|
||||||
|
"recordLocator": "[REDACTED]"}}, "viewBoardingPositions": null, "addCompanion":
|
||||||
|
null, "passportEmergencyContacts": null}, "hasUnaccompaniedMinor": false}}'}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 07:24:47 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 07:24:47 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [6JM3yBL0QIahYeZtLYc8QA]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['8422']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
- request:
|
||||||
|
body: null
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: GET
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-air-operations/v1/mobile-air-operations/page/check-in/XXXXXX
|
||||||
|
response:
|
||||||
|
body: {string: '{"checkInSessionToken": "[REDACTED]", "checkInViewReservationPage":
|
||||||
|
{"pnr": {"confirmationNumber": "XXXXXX", "passengers": "[REDACTED]"}, "cards":
|
||||||
|
[{"dates": {"first": "2019-02-18", "second": null}, "destinationDescription":
|
||||||
|
"Los Angeles", "departureDate": "2019-02-18", "departureAirport": "PDX", "departureTime":
|
||||||
|
"13:45", "arrivalAirport": "LAX", "arrivalTime": "16:05", "hazmatCheckInDisclaimer":
|
||||||
|
"By tapping ''Check in'' you acknowledge that you understand the hazardous
|
||||||
|
materials restrictions and penalties.", "flights": [{"flightNumber": "1614",
|
||||||
|
"hasWifi": true, "originAirportCode": "PDX", "destinationAirportCode": "LAX",
|
||||||
|
"destinationStationName": "Los Angeles", "departureDate": "Feb 18", "departureGate":
|
||||||
|
null, "departureTime": "13:45"}], "travelTime": "2h 20m"}], "hazmatText":
|
||||||
|
"Federal law forbids the carriage of hazardous materials such as aerosols,
|
||||||
|
fireworks, lithium batteries and flammable liquids aboard the aircraft in
|
||||||
|
your checked or carryon baggage. E-cigarettes are not permitted in checked
|
||||||
|
baggage and must be transported in carryon baggage only.", "_v1_infoNeededToCheckin":
|
||||||
|
{"href": "/v1/mobile/reservations/record-locator/XXXXXX/boarding-passes",
|
||||||
|
"method": "POST", "body": {"names": [{"firstName": "[REDACTED]", "lastName":
|
||||||
|
"[REDACTED]"}]}}, "_links": {"checkIn": {"href": "/v1/mobile-air-operations/page/check-in",
|
||||||
|
"method": "POST", "body": {"recordLocator": "[REDACTED]", "checkInSessionToken":
|
||||||
|
"[REDACTED]", "firstName": "[REDACTED]", "lastName": "[REDACTED]"}}, "travelDocuments":
|
||||||
|
null}}, "prefillPassengerAPISDocuments": null}'}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 07:24:48 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 07:24:48 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [QZCIaesZQnuKkmmy37tLrg]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['13088']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
- request:
|
||||||
|
body: '{}'
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Length: ['5921']
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: POST
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-air-operations/v1/mobile-air-operations/page/check-in
|
||||||
|
response:
|
||||||
|
body: {string: '{"checkInConfirmationPage": {"messages": null, "flights": [{"boundIndex":
|
||||||
|
0, "departureTime": "13:45", "gate": null, "passengers": "[REDACTED]", "flightNumber":
|
||||||
|
"1614", "hasWifi": true, "travelTime": "2h 20m"}], "_v1_infoNeededToViewBoardingPasses":
|
||||||
|
{"href": "/v1/mobile/record-locator/XXXXXX/mobile-boarding-passes", "method":
|
||||||
|
"GET", "query": {"first-name": "[REDACTED]", "last-name": "[REDACTED]"}},
|
||||||
|
"_links": {"boardingPasses": {"href": "/v1/mobile-air-operations/page/check-in/view-boarding-pass",
|
||||||
|
"method": "POST", "body": {"recordLocator": "[REDACTED]", "firstName": "[REDACTED]",
|
||||||
|
"lastName": "[REDACTED]", "checkInSessionToken": "[REDACTED]", "travelerID":
|
||||||
|
"2005DBDA00087702"}}, "viewBoardingPassIssuance": {"href": "/v1/mobile-air-operations/page/check-in/mobile-issuance/XXXXXX",
|
||||||
|
"method": "POST", "body": {"passengers": "[REDACTED]"}}}}}'}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 07:24:48 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 07:24:48 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [YKbshcq_RJ2cCrd0FRsctQ]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['12674']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
- request:
|
||||||
|
body: '{}'
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Length: ['6009']
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: POST
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-air-operations/v1/mobile-air-operations/page/check-in
|
||||||
|
response:
|
||||||
|
body: {string: '{"checkInConfirmationPage": {"messages": null, "flights": [{"boundIndex":
|
||||||
|
0, "departureTime": "13:45", "gate": "C15", "passengers": "[REDACTED]", "flightNumber":
|
||||||
|
"1614", "hasWifi": true, "travelTime": "2h 20m"}], "_v1_infoNeededToViewBoardingPasses":
|
||||||
|
{"href": "/v1/mobile/record-locator/XXXXXX/mobile-boarding-passes", "method":
|
||||||
|
"GET", "query": {"first-name": "[REDACTED]", "last-name": "[REDACTED]"}},
|
||||||
|
"_links": {"boardingPasses": {"href": "/v1/mobile-air-operations/page/check-in/view-boarding-pass",
|
||||||
|
"method": "POST", "body": {"recordLocator": "[REDACTED]", "firstName": "[REDACTED]",
|
||||||
|
"lastName": "[REDACTED]", "checkInSessionToken": "[REDACTED]", "travelerID":
|
||||||
|
"2005DBDA00087702"}}, "viewBoardingPassIssuance": {"href": "/v1/mobile-air-operations/page/check-in/mobile-issuance/XXXXXX",
|
||||||
|
"method": "POST", "body": {"passengers": "[REDACTED]"}}}}}'}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 18:10:17 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 18:10:17 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [nqkkq63YTjK32ta1sWMlCA]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['12851']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
- request:
|
||||||
|
body: '{"travelerID": "2005DBDA00087702"}'
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Length: ['6043']
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: POST
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-air-operations/v1/mobile-air-operations/page/check-in/view-boarding-pass
|
||||||
|
response:
|
||||||
|
body: {string: '{"checkInViewBoardingPassPage": {"messages": null, "mobileBoardingPassURLs":
|
||||||
|
["https://mbp.southwest.com/mobiqa/wap/3e422f2/kSqHRGJvSGA/"], "mobileBoardingPassTabs":
|
||||||
|
[{"title": "PDX - LAX", "departureDate": "Feb 18", "destinationDescription":
|
||||||
|
"Los Angeles"}], "destinationDescription": "Los Angeles", "originAirportCode":
|
||||||
|
"PDX", "destinationAirportCode": "LAX", "dates": {"first": "2019-02-18", "second":
|
||||||
|
null}, "_v1_infoNeededForSharingBoardingPass": {"href": "/v1/mobile/record-locator/XXXXXX/operation-infos/mobile-boarding-pass/notifications",
|
||||||
|
"method": "POST", "body": {"firstName": "[REDACTED]", "lastName": "[REDACTED]"}},
|
||||||
|
"_links": {"href": "/v1/mobile-air-operations/feature/check-in/send-boarding-pass",
|
||||||
|
"method": "POST", "body": {"recordLocator": "[REDACTED]", "checkInSessionToken":
|
||||||
|
"[REDACTED]", "travelerID": "2005DBDA00087702"}}}}'}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 18:10:18 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 18:10:18 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [BPQyXOwiS2C7PQd72_9rjQ]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['3927']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
- request:
|
||||||
|
body: '{"travelerID": "2005DBDA00087702", "recordLocator": "[REDACTED]", "checkInSessionToken": "[REDACTED]", "mediaType": "SMS", "phoneNumber": "1234567890"}'
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Length: ['160']
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: POST
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-air-operations/v1/mobile-air-operations/feature/check-in/send-boarding-pass
|
||||||
|
response:
|
||||||
|
body: {string: ''}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 18:10:18 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 18:10:18 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [BPQyXOwiS2C7PQd72_9rjQ]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['0']
|
||||||
|
status: {code: 204, message: OK}
|
||||||
|
- request:
|
||||||
|
body: '{"travelerID": "2005DBDA00087702", "recordLocator": "[REDACTED]", "checkInSessionToken": "[REDACTED]", "mediaType": "EMAIL", "phoneNumber": "test@example.com"}'
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Length: ['160']
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Host: [mobile.southwest.com]
|
||||||
|
User-Agent: [python-requests/2.21.0]
|
||||||
|
X-API-Key: [l7xxb3dcccc4a5674bada48fc6fcf0946bc8]
|
||||||
|
X-User-Experience-Id: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
method: POST
|
||||||
|
uri: https://mobile.southwest.com/api/mobile-air-operations/v1/mobile-air-operations/feature/check-in/send-boarding-pass
|
||||||
|
response:
|
||||||
|
body: {string: ''}
|
||||||
|
headers:
|
||||||
|
Access-Control-Allow-Credentials: ['true']
|
||||||
|
Access-Control-Allow-Headers: ['origin, content-type, accept, authorization,
|
||||||
|
token, User-Agent, X-Forwarded-For, X-User-Experience-ID, X-Request-ID,
|
||||||
|
X-API-Key, X-Account-Number, X-Swa-Region, X-Channel-Id, X-Api-IDToken,
|
||||||
|
true-host']
|
||||||
|
Access-Control-Allow-Methods: ['GET, POST, PUT, DELETE, OPTIONS, HEAD']
|
||||||
|
Access-Control-Allow-Origin: ['']
|
||||||
|
Access-Control-Expose-Headers: ['X-User-Experience-ID, X-Request-ID']
|
||||||
|
Access-Control-Max-Age: ['1']
|
||||||
|
Cache-Control: ['max-age=0, no-cache, no-store']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Type: [application/json]
|
||||||
|
Date: ['Mon, 18 Feb 2019 18:10:18 GMT']
|
||||||
|
Expires: ['Mon, 18 Feb 2019 18:10:18 GMT']
|
||||||
|
Pragma: [no-cache]
|
||||||
|
Server: [Apache-Coyote/1.1]
|
||||||
|
Strict-Transport-Security: [max-age=60]
|
||||||
|
Vary: [Accept-Encoding]
|
||||||
|
X-Request-ID: [BPQyXOwiS2C7PQd72_9rjQ]
|
||||||
|
X-User-Experience-ID: [AAAA3198-4545-46F4-9A05-BB3E868BEFF5]
|
||||||
|
content-length: ['0']
|
||||||
|
status: {code: 204, message: OK}
|
||||||
|
version: 1
|
||||||
Reference in New Issue
Block a user