@duffel/components 2.4.22 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -511,6 +511,18 @@ export interface City {
511
511
  * The cabin class that the passenger will travel in on this segment
512
512
  */
513
513
  export declare type CabinClass = "first" | "business" | "premium_economy" | "economy";
514
+ /**
515
+ * The type of the passenger
516
+ */
517
+ export declare type DuffelPassengerType = "adult" | "child" | "infant_without_seat";
518
+ /**
519
+ * The passenger's title
520
+ */
521
+ export declare type DuffelPassengerTitle = "mr" | "ms" | "mrs" | "MR" | "MS" | "MRS";
522
+ /**
523
+ * The passenger's gender
524
+ */
525
+ export declare type DuffelPassengerGender = "m" | "f";
514
526
  /**
515
527
  * The type of the identity document. Currently, the only supported type is passport.
516
528
  * This must be one of the `allowed_passenger_identity_document_types` on the offer.
@@ -592,6 +604,12 @@ export declare type FlightsConditions = {
592
604
  allowed: boolean;
593
605
  } | null;
594
606
  };
607
+ /**
608
+ * The type of payment you want to apply to the order.
609
+ * If you are an IATA agent with your own agreements with airlines, in some cases, you can pay using ARC/BSP cash by specifying `arc_bsp_cash`. Otherwise, you must pay using your Duffel account's balance by specifying `balance`.
610
+ * In test mode, your balance is unlimited. If you're not sure which of these options applies to you, get in touch with the Duffel support team at [help@duffel.com](mailto:help@duffel.com).
611
+ */
612
+ export declare type PaymentType = "arc_bsp_cash" | "balance";
595
613
  export interface LayoutSelectionPassenger {
596
614
  id: string;
597
615
  name?: string | null;
@@ -864,11 +882,687 @@ export interface AdditionalBaggageProps {
864
882
  currencyConversion?: CurrencyConversion;
865
883
  }
866
884
  export declare const AdditionalBaggage: React.FC<AdditionalBaggageProps>;
867
- export interface AdditionalBaggageSelectionProps {
885
+ export declare type OrderAvailableService = OfferAvailableService;
886
+ export interface TravelAgentTicket {
887
+ id: string;
888
+ externalTicketId: string;
889
+ }
890
+ export declare type EmptyObject = Record<string, unknown>;
891
+ export declare type OrderAvailableAction = "cancel" | "change" | "update";
892
+ export declare type AvailableActionType = "accept" | "cancel" | "change" | "update";
893
+ export declare type ActionTakenType = "accepted" | "cancelled" | "changed" | null;
894
+ export declare type OfferCondition = OfferConditionModificationAllowed | OfferConditionNoModification;
895
+ export interface LoyaltyProgrammeAccount {
868
896
  /**
869
- * The offer we are selecting additional bagages for
897
+ * The passenger's account number for this Loyalty Programme Account
870
898
  */
871
- offer: Offer;
899
+ account_number: string;
900
+ /**
901
+ * The IATA code for the airline that this Loyalty Programme Account belongs to
902
+ */
903
+ airline_iata_code: string;
904
+ }
905
+ export interface OrderService {
906
+ /**
907
+ * The `id` of the service from the offer's `available_services` that you want to book
908
+ */
909
+ id: string;
910
+ /**
911
+ * The quantity of the service to book
912
+ */
913
+ quantity: number;
914
+ }
915
+ export interface OrderPassenger {
916
+ born_on: string;
917
+ family_name: string;
918
+ gender: DuffelPassengerGender;
919
+ given_name: string;
920
+ id: string;
921
+ infant_passenger_id?: string | null;
922
+ loyalty_programme_accounts?: LoyaltyProgrammeAccount[];
923
+ title: DuffelPassengerTitle;
924
+ type: DuffelPassengerType;
925
+ }
926
+ export declare type OrderDocumentsType = "electronic_ticket" | "electronic_miscellaneous_document_associated" | "electronic_miscellaneous_document_standalone";
927
+ export declare type OrderDocuments = OrderDocument[];
928
+ export interface OrderDocument {
929
+ /**
930
+ * The list of passenger ids the document applies to.
931
+ *
932
+ * @example
933
+ * ["pas_00009hj8USM7Ncg31cBCLL"]
934
+ */
935
+ passenger_ids: string[];
936
+ /**
937
+ * The type of document.
938
+ */
939
+ type: OrderDocumentsType;
940
+ /**
941
+ * The identifier for the document, in the case of electronic tickets this
942
+ * string represents the payment or the entitlement to fly.
943
+ *
944
+ * @example
945
+ * "1252106312810"
946
+ */
947
+ unique_identifier: string;
948
+ }
949
+ export interface OrderPaymentStatus {
950
+ /**
951
+ * Whether a payment has been made, or the airline is waiting for a payment to be made
952
+ */
953
+ awaiting_payment: boolean;
954
+ /**
955
+ * The ISO 8601 datetime by which you must pay for this order.
956
+ * At this time, if still unpaid, the reserved space on the flight(s)
957
+ * will be released and you will have to create a new order.
958
+ * This will be null only for orders where `awaiting_payment` is `false`.
959
+ * Payment Required by means it will hold space
960
+ */
961
+ payment_required_by?: string | null;
962
+ /**
963
+ * The ISO 8601 datetime at which the price associated
964
+ * with the order will no longer be guaranteed by the airline
965
+ * and the order will need to be repriced before payment.
966
+ * This can be null when there is no price guarantee.
967
+ * Price Guarantee means it will hold price
968
+ */
969
+ price_guarantee_expires_at?: string | null;
970
+ /**
971
+ * TODO: this is undocumented. Check back on https://duffel.com/docs/api/orders/schema
972
+ */
973
+ unpaid_guarantees?: any;
974
+ /**
975
+ * TODO: this is undocumented. Check back on https://duffel.com/docs/api/orders/schema
976
+ */
977
+ payBy?: string | null;
978
+ /**
979
+ * The ISO 8601 datetime at which the Order was paid for, if at all
980
+ */
981
+ paid_at: string | null;
982
+ }
983
+ export interface OrderChangeRequestOfferSlices {
984
+ /**
985
+ * The slices to be added
986
+ */
987
+ add: Array<OrderSlice>;
988
+ /**
989
+ * The slices to be removed
990
+ */
991
+ remove: Array<OrderSlice>;
992
+ }
993
+ export interface OrderChangeRequestOffer {
994
+ /**
995
+ * The available payment types to complete the order change.
996
+ *
997
+ * @todo
998
+ * Add this field to the API docs.
999
+ */
1000
+ available_payment_types?: PaymentType[] | null;
1001
+ /**
1002
+ * The amount that will be charged or returned to the original payment
1003
+ * method if refunded, determined according to the fare conditions. This
1004
+ * may be negative to reflect a refund.
1005
+ *
1006
+ * @example
1007
+ * "90.80"
1008
+ */
1009
+ change_total_amount: string;
1010
+ /**
1011
+ * The currency of the `change_total_amount`, as an ISO 4217 currency
1012
+ * code. It will match your organisation's billing currency unless you’re
1013
+ * using Duffel as an accredited IATA agent, in which case it will be in
1014
+ * the currency provided by the airline (which will usually be based on
1015
+ * the country where your IATA agency is registered).
1016
+ *
1017
+ * @example
1018
+ * "GBP"
1019
+ */
1020
+ change_total_currency: string;
1021
+ /**
1022
+ * The ISO 8601 datetime at which the offer was created.
1023
+ *
1024
+ * @example
1025
+ * "2020-01-17T10:12:14.545Z"
1026
+ */
1027
+ created_at: string;
1028
+ /**
1029
+ * The ISO 8601 datetime at which the offer will expire and no longer be
1030
+ * usable to create an order.
1031
+ *
1032
+ * @example
1033
+ * "2020-01-17T10:42:14.545Z"
1034
+ *
1035
+ */
1036
+ expires_at: string;
1037
+ /**
1038
+ * Duffel's unique identifier for the order change offer.
1039
+ *
1040
+ * @example
1041
+ * "oco_0000A3vUda8dKRtUSQPSXw"
1042
+ */
1043
+ id: string;
1044
+ /**
1045
+ * Whether the order change offer was created in live mode. This field
1046
+ * will be set to `true` if the order change offer was created in live
1047
+ * mode, or `false if it was created in test mode.
1048
+ *
1049
+ * @example
1050
+ * false
1051
+ */
1052
+ live_mode: boolean;
1053
+ /**
1054
+ * The price of this offer if it was newly purchased.
1055
+ *
1056
+ * @example
1057
+ * "35.50"
1058
+ */
1059
+ new_total_amount: string;
1060
+ /**
1061
+ * The currency of the `new_total_amount`, as an ISO 4217 currency code.
1062
+ * It will match your organisation's billing currency unless you’re using
1063
+ * Duffel as an accredited IATA agent, in which case it will be in the
1064
+ * currency provided by the airline (which will usually be based on the
1065
+ * country where your IATA agency is registered).
1066
+ *
1067
+ * @example
1068
+ * "GBP"
1069
+ */
1070
+ new_total_currency: string;
1071
+ /**
1072
+ * The ID for an order change if one has already been created from this
1073
+ * order change offer.
1074
+ *
1075
+ * @example
1076
+ * "oce_0000A4QasEUIjJ6jHKfhHU"
1077
+ */
1078
+ order_change_id: string | null;
1079
+ /**
1080
+ * The penalty price imposed by the airline for making this change.
1081
+ *
1082
+ * @example
1083
+ * "10.50"
1084
+ */
1085
+ penalty_total_amount: string | null;
1086
+ /**
1087
+ * The currency of the `penalty_total_amount`, as an ISO 4217 currency
1088
+ * code. It will match your organisation's billing currency unless you’re
1089
+ * using Duffel as an accredited IATA agent, in which case it will be in
1090
+ * the currency provided by the airline (which will usually be based on
1091
+ * the country where your IATA agency is registered).
1092
+ *
1093
+ * @example
1094
+ * "GBP"
1095
+ */
1096
+ penalty_total_currency: string | null;
1097
+ /**
1098
+ * Where the refund, once confirmed, will be sent. card is currently a
1099
+ * restricted feature. `awaiting_payment` is for pay later orders where no
1100
+ * payment has been made yet.
1101
+ *
1102
+ * @todo
1103
+ * Align this field with the API docs.
1104
+ */
1105
+ refund_to: "voucher" | "original_form_of_payment" | null;
1106
+ /**
1107
+ * The slices within an order change that are being added to and/or
1108
+ * removed from the order.
1109
+ */
1110
+ slices: OrderChangeRequestOfferSlices;
1111
+ /**
1112
+ * The ISO 8601 datetime at which the offer was last updated.
1113
+ *
1114
+ * @example
1115
+ * "2020-01-17T10:12:14.545Z"
1116
+ */
1117
+ updated_at: string;
1118
+ }
1119
+ export interface OrderChange extends Omit<OrderChangeRequestOffer, "orderChangeId"> {
1120
+ /**
1121
+ * The ISO 8601 datetime that indicates when the order change was
1122
+ * confirmed.
1123
+ *
1124
+ * @example
1125
+ * "2020-01-17T11:51:43.114803Z"
1126
+ */
1127
+ confirmed_at: string | null;
1128
+ /**
1129
+ * Duffel's unique identifier for the order change.
1130
+ *
1131
+ * @example
1132
+ * "oce_0000A4QasEUIjJ6jHKfhHU"
1133
+ */
1134
+ id: string;
1135
+ }
1136
+ export declare type OrderChanges = OrderChange[];
1137
+ export interface OfferConditionModificationAllowed {
1138
+ /**
1139
+ * Allow the modification to the order
1140
+ */
1141
+ allowed: true;
1142
+ /**
1143
+ * The penalty of the modification
1144
+ */
1145
+ penalty_amount: number | null;
1146
+ /**
1147
+ * The penalty currency of the modification
1148
+ */
1149
+ penalty_currency: string | null;
1150
+ }
1151
+ export interface OfferConditionNoModification {
1152
+ /**
1153
+ * No modification to the order is allowed
1154
+ */
1155
+ allowed: false;
1156
+ /**
1157
+ * When the modification to the order is not allowed, both penalty amount and currency should be null
1158
+ */
1159
+ penalty_amount: null;
1160
+ penalty_currency: null;
1161
+ }
1162
+ export interface OrderSegmentPassengerBaggage {
1163
+ quantity: number;
1164
+ type: string;
1165
+ }
1166
+ export interface OrderSegmentPassenger {
1167
+ baggages: OrderSegmentPassengerBaggage[];
1168
+ cabin_class: CabinClass;
1169
+ cabin_class_marketing_name: string;
1170
+ passenger_id?: string;
1171
+ /**
1172
+ * TODO: undocumented. Come back to add the correct type.
1173
+ */
1174
+ seat?: null;
1175
+ }
1176
+ export interface OrderSliceSegment {
1177
+ /**
1178
+ * The aircraft that the operating carrier will use to operate this
1179
+ * segment.
1180
+ */
1181
+ aircraft: Aircraft;
1182
+ /**
1183
+ * The ISO 8601 datetime at which the segment is scheduled to arrive. You
1184
+ * should use the `arrivingAt` attribute instead of this attribute, as this
1185
+ * will be removed in the next API version.
1186
+ *
1187
+ * @deprecated
1188
+ * @example
1189
+ * "2020-06-13T16:38:02"
1190
+ */
1191
+ arrival_datetime: string;
1192
+ /**
1193
+ * The terminal at the destination airport where the segment is scheduled
1194
+ * to arrive. You should use the `destinationTerminal` attribute instead
1195
+ * of this attribute, as this will be removed in the next API version.
1196
+ *
1197
+ * @deprecated
1198
+ * @example
1199
+ * "5"
1200
+ */
1201
+ arrival_terminal: string | null;
1202
+ /**
1203
+ * The ISO 8601 datetime at which the segment is scheduled to arrive, in
1204
+ * the destination airport timezone (see `destination.timezone`)
1205
+ *
1206
+ * @example
1207
+ * "2020-06-13T16:38:02"
1208
+ */
1209
+ arriving_at: string;
1210
+ /**
1211
+ * The ISO 8601 datetime at which the segment is scheduled to depart, in
1212
+ * the origin airport timezone (see `origin.timezone`)
1213
+ *
1214
+ * @example
1215
+ * "2020-06-13T16:38:02"
1216
+ */
1217
+ departing_at: string;
1218
+ /**
1219
+ * The ISO 8601 datetime at which the segment is scheduled to depart. You
1220
+ * should use the `departingAt` attribute instead of this attribute, as
1221
+ * this will be removed in the next API version.
1222
+ *
1223
+ * @deprecated
1224
+ * @example
1225
+ * "2020-06-13T16:38:02"
1226
+ */
1227
+ departure_datetime: string;
1228
+ /**
1229
+ * The terminal at the `origin` airport from which the segment is
1230
+ * scheduled to depart. You should use the `origin_terminal` attribute
1231
+ * instead of this attribute, as this will be removed in the next API
1232
+ * version.
1233
+ *
1234
+ * @deprecated
1235
+ * @example
1236
+ * "B"
1237
+ */
1238
+ departure_terminal: string | null;
1239
+ destination: Airport;
1240
+ /**
1241
+ * The terminal at the destination airport where the segment is scheduled
1242
+ * to arrive.
1243
+ *
1244
+ * @example
1245
+ * "5"
1246
+ */
1247
+ destination_terminal: string;
1248
+ /**
1249
+ * The distance of the segment in kilometres.
1250
+ *
1251
+ * @example
1252
+ * "424.2"
1253
+ */
1254
+ distance: string;
1255
+ /**
1256
+ * The duration of the segment, represented as a ISO 8601 duration.
1257
+ *
1258
+ * @example
1259
+ * "PT02H26M"
1260
+ */
1261
+ duration: string;
1262
+ /**
1263
+ * Duffel's unique identifier for the segment. It identifies the segment
1264
+ * of an order (i.e. the same segment across orders will have different
1265
+ * ids.
1266
+ *
1267
+ * @example
1268
+ * "seg_00009htYpSCXrwaB9Dn456"
1269
+ */
1270
+ id: string;
1271
+ /**
1272
+ * The airline selling the tickets for this segment. This may differ from
1273
+ * the `operatingCarrier` in the case of a "codeshare", where one airline
1274
+ * sells flights operated by another airline.
1275
+ */
1276
+ marketing_carrier: Airline;
1277
+ /**
1278
+ * The flight number assigned by the marketing carrier.
1279
+ *
1280
+ * @example
1281
+ * "1234"
1282
+ */
1283
+ marketing_carrier_flight_number: string;
1284
+ /**
1285
+ * The airline actually operating this segment. This may differ from the
1286
+ * `marketingCarrier` in the case of a "codeshare", where one airline
1287
+ * sells flights operated by another airline.
1288
+ */
1289
+ operating_carrier: Airline;
1290
+ /**
1291
+ * The flight number assigned by the operating carrier. This may not be
1292
+ * present, in which case you should display the `marketingCarrier`'s
1293
+ * information and the `marketingCarrierFlightNumber`, and simply state
1294
+ * the name of the `operatingCarrier.
1295
+ *
1296
+ * @example
1297
+ * "4321"
1298
+ */
1299
+ operating_carrier_flight_number: string;
1300
+ /**
1301
+ * The airport from which the flight is scheduled to depart.
1302
+ */
1303
+ origin: Airport;
1304
+ /**
1305
+ * The terminal at the origin airport from which the segment is scheduled
1306
+ * to depart.
1307
+ *
1308
+ * @example
1309
+ * "B"
1310
+ */
1311
+ origin_terminal: string;
1312
+ /**
1313
+ * Additional segment-specific information about the passengers included
1314
+ * in the offer (e.g. their baggage allowance and the cabin class they
1315
+ * will be travelling in)
1316
+ */
1317
+ passengers: OrderSegmentPassenger[];
1318
+ }
1319
+ export interface OrderSlice {
1320
+ id?: string;
1321
+ origin: Airport;
1322
+ origin_type?: PlaceType | null;
1323
+ destination_type?: PlaceType | null;
1324
+ destination: Airport;
1325
+ segments: OrderSliceSegment[];
1326
+ duration?: string | null;
1327
+ conditions: {
1328
+ change_before_departure: OfferCondition | null;
1329
+ };
1330
+ }
1331
+ export interface AirlineInitiatedChange {
1332
+ /**
1333
+ * Duffel's unique identifier for the airline-initiated change
1334
+ */
1335
+ id: string;
1336
+ /**
1337
+ * Duffel's unique identifier for the order
1338
+ */
1339
+ order_id: string;
1340
+ /**
1341
+ * List of updated slices and segments following the change
1342
+ */
1343
+ added: OrderSlice[];
1344
+ /**
1345
+ * List of slices and segments as they were before the change
1346
+ */
1347
+ removed: OrderSlice[];
1348
+ /**
1349
+ * The action taken in response to this airline-initiated change
1350
+ */
1351
+ action_taken: ActionTakenType;
1352
+ /**
1353
+ * The ISO 8601 datetime at which an action was taken
1354
+ */
1355
+ action_taken_at: string | null;
1356
+ /**
1357
+ * The available actions you can take on this Airline-Initiated Change through our API.
1358
+ * 'update' means that you can use the update endpoint for an Airline-Initiated Change.
1359
+ */
1360
+ available_actions: AvailableActionType[];
1361
+ /**
1362
+ * The ISO 8601 datetime at which the Payment Intent was created
1363
+ */
1364
+ created_at: string;
1365
+ /**
1366
+ * The ISO 8601 datetime at which the airline-initiated change was last updated
1367
+ */
1368
+ updated_at: string;
1369
+ /**
1370
+ * The associated Travel Agent Ticket, if any, for this Airline-Initiated Change.
1371
+ * This value will be present for Airline-Initiated changes that take some time to be processed.
1372
+ */
1373
+ travel_agent_ticket: TravelAgentTicket | EmptyObject | null;
1374
+ }
1375
+ export declare type AirlineInitiatedChanges = AirlineInitiatedChange[];
1376
+ export interface Order {
1377
+ /**
1378
+ * The airline-initiated changes for this order.
1379
+ */
1380
+ airline_initiated_changes: AirlineInitiatedChanges;
1381
+ /**
1382
+ * The available actions you can take on this Order through our API.
1383
+ */
1384
+ available_actions: OrderAvailableAction[];
1385
+ /**
1386
+ * The available payment types to complete the order change.
1387
+ *
1388
+ * @todo
1389
+ * Add this field to the API docs.
1390
+ */
1391
+ available_payment_types?: PaymentType[] | null;
1392
+ /**
1393
+ * The base price of the order for all flights and services booked,
1394
+ * excluding taxes.
1395
+ *
1396
+ * @example
1397
+ * "60.60"
1398
+ */
1399
+ base_amount: string;
1400
+ /**
1401
+ * The currency of the `base_amount`, as an ISO 4217 currency code. It
1402
+ * will match your organisation's billing currency unless you’re using
1403
+ * Duffel as an accredited IATA agent, in which case it will be in the
1404
+ * currency provided by the airline (which will usually be based on the
1405
+ * country where your IATA agency is registered).
1406
+ *
1407
+ * @example
1408
+ * "GBP"
1409
+ */
1410
+ base_currency: string;
1411
+ /**
1412
+ * The airline's reference for the order, sometimes known as a "passenger
1413
+ * name record" (PNR) or "record locator". Your customers can use this to
1414
+ * check in and manage their booking on the airline's website. Usually,
1415
+ * this is made up of six alphanumeric characters, but airlines can have
1416
+ * their own formats (for example, easyJet's booking references are 7
1417
+ * alphanumeric characters long and LATAM's references are made up of 13
1418
+ * alphanumeric characters beginning with `LA`.)
1419
+ *
1420
+ * @example
1421
+ * "RZPNX8"
1422
+ */
1423
+ booking_reference: string;
1424
+ /**
1425
+ * The ISO 8601 datetime at which the order was cancelled, if it has been
1426
+ * cancelled.
1427
+ *
1428
+ * @example
1429
+ * "2020-04-11T15:48:11.642Z"
1430
+ */
1431
+ cancelled_at: string | null;
1432
+ /**
1433
+ * The passenger-initiated changes for this Order.
1434
+ */
1435
+ changes: OrderChanges;
1436
+ /**
1437
+ * The conditions associated with this order, describing the kinds of
1438
+ * modifications you can make to it and any penalties that will apply to
1439
+ * those modifications. This information assumes the condition is applied
1440
+ * to all of the slices and passengers associated with this order - for
1441
+ * information at the slice level (e.g. "what happens if I just want to
1442
+ * change the first slice?") refer to the `slices`. If a particular kind
1443
+ * of modification is allowed, you may not always be able to take action
1444
+ * through the Duffel API. In some cases, you may need to contact the
1445
+ * Duffel support team or the airline directly.
1446
+ */
1447
+ conditions: {
1448
+ change_before_departure: OfferCondition | null;
1449
+ refund_before_departure: OfferCondition | null;
1450
+ };
1451
+ /**
1452
+ * Whether the Order is Self-Managed or Managed.
1453
+ */
1454
+ content: "self_managed" | "managed";
1455
+ /**
1456
+ * The ISO 8601 datetime at which the order was created.
1457
+ *
1458
+ * @example
1459
+ * "2020-04-11T15:48:11.642Z"
1460
+ *
1461
+ */
1462
+ created_at: string;
1463
+ /**
1464
+ * The documents issued for this order.
1465
+ */
1466
+ documents: OrderDocuments;
1467
+ /**
1468
+ * Duffel's unique identifier for the order.
1469
+ */
1470
+ id: string;
1471
+ /**
1472
+ * Whether the order was created in live mode. This field will be set to
1473
+ * `true` if the order was created in live mode, or `false` if it was
1474
+ * created in test mode.
1475
+ *
1476
+ * @example
1477
+ * false
1478
+ */
1479
+ live_mode: boolean;
1480
+ /**
1481
+ * Metadata contains a set of key-value pairs that you can attach to an
1482
+ * object. It can be useful for storing additional information about the
1483
+ * object, in a structured format. Duffel does not use this information.
1484
+ * You should not store sensitive information in this field.
1485
+ *
1486
+ * @example
1487
+ * {"customer_prefs":"window seat","payment_intent_id":"pit_00009htYpSCXrwaB9DnUm2"}
1488
+ */
1489
+ metadata: Record<string, string>;
1490
+ /**
1491
+ * The airline who owns the order.
1492
+ */
1493
+ owner: Airline;
1494
+ /**
1495
+ * The passengers who are travelling.
1496
+ */
1497
+ passengers: OrderPassenger[];
1498
+ /**
1499
+ * The payment status for this order.
1500
+ */
1501
+ payment_status: OrderPaymentStatus;
1502
+ /**
1503
+ * The services booked along with this order.
1504
+ */
1505
+ services?: OrderService[];
1506
+ /**
1507
+ * The slices that make up the itinerary of this order. One-way journeys
1508
+ * can be expressed using one slice, whereas return trips will need two.
1509
+ */
1510
+ slices: OrderSlice[];
1511
+ /**
1512
+ * Airlines are always the source of truth for orders. The orders returned
1513
+ * in the Duffel API are a view of those orders. This field is the ISO
1514
+ * 8601 datetime at which the Order was last synced with the airline. If
1515
+ * this datetime is in the last minute you can consider the order up to
1516
+ * date.
1517
+ *
1518
+ * @example
1519
+ * "2020-04-11T15:48:11Z"
1520
+ */
1521
+ synced_at: string;
1522
+ /**
1523
+ * The amount of tax payable on the order for all the flights booked.
1524
+ *
1525
+ * @example
1526
+ * "30.20"
1527
+ */
1528
+ tax_amount: string | null;
1529
+ /**
1530
+ * The currency of the tax_amount, as an ISO 4217 currency code. It will
1531
+ * match your organisation's billing currency unless you’re using Duffel
1532
+ * as an accredited IATA agent, in which case it will be in the currency
1533
+ * provided by the airline (which will usually be based on the country
1534
+ * where your IATA agency is registered).
1535
+ *
1536
+ * @example
1537
+ * "GBP"
1538
+ */
1539
+ tax_currency: string | null;
1540
+ /**
1541
+ * @todo
1542
+ * Add this field to the API docs.
1543
+ */
1544
+ ticket_by?: string | null;
1545
+ /**
1546
+ * The total price of the order for all the flights and services booked,
1547
+ * including taxes.
1548
+ *
1549
+ * @example
1550
+ * "90.80"
1551
+ */
1552
+ total_amount: string;
1553
+ /**
1554
+ * The currency of the `totalAmount`, as an ISO 4217 currency code. It
1555
+ * will match your organisation's billing currency unless you're using
1556
+ * Duffel as an accredited IATA agent, in which case it will be in the
1557
+ * currency provided by the airline (which will usually be based on the
1558
+ * country where your IATA agency is registered).
1559
+ *
1560
+ * @example
1561
+ * "GBP"
1562
+ */
1563
+ total_currency: string;
1564
+ }
1565
+ export interface AdditionalBaggageSelectionCommonProps {
872
1566
  /**
873
1567
  * List of all passengers that will be purchasing baggages
874
1568
  */
@@ -886,6 +1580,35 @@ export interface AdditionalBaggageSelectionProps {
886
1580
  */
887
1581
  currencyConversion?: CurrencyConversion;
888
1582
  }
1583
+ export interface AdditionalBaggageSelectionOfferProps extends AdditionalBaggageSelectionCommonProps {
1584
+ /**
1585
+ * The offer we are selecting additional baggages for
1586
+ */
1587
+ offer: Offer;
1588
+ /**
1589
+ * The order we are selecting additional baggages for
1590
+ */
1591
+ order?: never;
1592
+ /**
1593
+ * The available services that can be applied to this order
1594
+ */
1595
+ availableServices?: never;
1596
+ }
1597
+ export interface AdditionalBaggageSelectionServicesProps extends AdditionalBaggageSelectionCommonProps {
1598
+ /**
1599
+ * The offer we are selecting additional baggages for
1600
+ */
1601
+ offer?: never;
1602
+ /**
1603
+ * The order we are selecting additional baggages for
1604
+ */
1605
+ order?: Order;
1606
+ /**
1607
+ * The available services that can be applied to this order
1608
+ */
1609
+ availableServices: OrderAvailableService[];
1610
+ }
1611
+ export declare type AdditionalBaggageSelectionProps = AdditionalBaggageSelectionOfferProps | AdditionalBaggageSelectionServicesProps;
889
1612
  export declare const AdditionalBaggageSelection: React.FC<AdditionalBaggageSelectionProps>;
890
1613
 
891
1614
  export {};