{ "components": { "examples": {}, "headers": {}, "parameters": {}, "requestBodies": {}, "responses": {}, "schemas": { "GetCityFromUniqueNameResponse": { "properties": { "id": { "type": "number", "format": "double" }, "name": { "type": "string" }, "region": { "type": "string" }, "country": { "type": "string" }, "countryCode": { "type": "string" }, "slug": { "type": "string" }, "gpuid": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "specialType": { "type": "string" }, "serviced": { "type": "boolean" }, "notServicedSince": { "type": "string" } }, "required": [ "id", "name", "region", "country", "countryCode", "slug", "gpuid", "latitude", "longitude", "specialType", "serviced", "notServicedSince" ], "type": "object", "additionalProperties": false }, "IErrorCodeResponse": { "properties": { "errorKey": { "type": "string" }, "errorMessage": { "type": "string" } }, "required": [ "errorKey", "errorMessage" ], "type": "object", "additionalProperties": false }, "IAuthOrderIdResponse": { "properties": { "token": { "type": "string" }, "refreshToken": { "type": "string" } }, "required": [ "token", "refreshToken" ], "type": "object", "additionalProperties": false }, "IAuthOrderIdBody": { "properties": { "email": { "type": "string" }, "orderId": { "type": "string" }, "deviceId": { "type": "number", "format": "double" } }, "required": [ "email", "orderId" ], "type": "object", "additionalProperties": false }, "IAuthMagicLinkBody": { "properties": { "email": { "type": "string" }, "redirectAfterLogin": { "type": "string" } }, "required": [ "email", "redirectAfterLogin" ], "type": "object", "additionalProperties": false }, "IAuthMagicLinkVerifyBody": { "properties": { "token": { "type": "string" }, "deviceId": { "type": "number", "format": "double" } }, "required": [ "token" ], "type": "object", "additionalProperties": false }, "ICreatePartnerAuthResponse": { "properties": { "token": { "type": "string" } }, "required": [ "token" ], "type": "object", "additionalProperties": false }, "EAuthenticationRole.API_SEARCH_PARTNER": { "enum": [ "searchPartner" ], "type": "string" }, "EAuthenticationRole.API_BOOK_PARTNER": { "enum": [ "bookPartner" ], "type": "string" }, "ICreatePartnerAuthBody": { "properties": { "partnerId": { "type": "string" }, "role": { "anyOf": [ { "$ref": "#/components/schemas/EAuthenticationRole.API_SEARCH_PARTNER" }, { "$ref": "#/components/schemas/EAuthenticationRole.API_BOOK_PARTNER" } ] } }, "required": [ "partnerId", "role" ], "type": "object", "additionalProperties": false }, "SubscribeBody": { "properties": { "email": { "type": "string" }, "name": { "type": "string" } }, "required": [ "email", "name" ], "type": "object", "additionalProperties": false }, "SendInBlueSMTPEmailContact": { "properties": { "name": { "type": "string" }, "email": { "type": "string" } }, "required": [ "email" ], "type": "object", "additionalProperties": false }, "IAltibusCancellationInformationBody": { "properties": { "reservationId": { "type": "string" }, "reservationAmount": { "type": "number", "format": "double" }, "cc": { "items": { "$ref": "#/components/schemas/SendInBlueSMTPEmailContact" }, "type": "array" }, "contactName": { "type": "string" }, "contactEmail": { "type": "string" } }, "required": [ "reservationId", "reservationAmount", "contactName", "contactEmail" ], "type": "object", "additionalProperties": false }, "Order": { "additionalProperties": false, "type": "object", "description": "{@inheritDoc}" }, "TClientPlace": { "properties": { "id": { "type": "number", "format": "double" }, "city": { "type": "string" }, "country": { "type": "string" }, "stopGroupGpuid": { "type": "string" }, "stopClusterGpuid": { "type": "string" }, "station": { "type": "string" }, "lat": { "type": "number", "format": "double" }, "long": { "type": "number", "format": "double" } }, "required": [ "city", "country" ], "type": "object", "additionalProperties": false }, "ETripTransport": { "enum": [ "MULTIMODAL", "BUS", "TRAIN", "CARPOOLING" ], "type": "string" }, "EApiTransportType": { "enum": [ "carpooling", "bus", "train" ], "type": "string" }, "ETicketStatusStatus": { "enum": [ "LOCKED", "CANCELED", "BOOKED", "ERRORED", "ERRORED_AFTER_BOOKED", "REFUNDED", "PRESOLD" ], "type": "string" }, "IVoucherDetails": { "properties": { "voucher": { "type": "string" }, "expireDateUTCUnix": { "type": "number", "format": "double" }, "amountCents": { "type": "number", "format": "double" }, "usableOn": { "type": "string" } }, "required": [ "voucher", "expireDateUTCUnix", "amountCents", "usableOn" ], "type": "object", "additionalProperties": false }, "IClientSegment": { "properties": { "id": { "type": "string" }, "company": { "type": "string" }, "mean": { "$ref": "#/components/schemas/EApiTransportType" }, "origin": { "$ref": "#/components/schemas/TClientPlace" }, "destination": { "$ref": "#/components/schemas/TClientPlace" }, "priceCents": { "type": "number", "format": "double" }, "feeCents": { "type": "number", "format": "double" }, "includedProviderFeeCents": { "type": "number", "format": "double" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "durationMinutes": { "type": "number", "format": "double" }, "isBookable": { "type": "boolean" }, "bookingStatus": { "$ref": "#/components/schemas/ETicketStatusStatus" }, "redirectionLink": { "type": "string" }, "conditions": { "items": { "type": "string" }, "type": "array" }, "conditionsName": { "type": "string" }, "fareName": { "type": "string" }, "bookingClass": { "type": "string" }, "vehicleIdentifier": { "type": "string" }, "cancellationStatus": { "type": "string" }, "voucherDetails": { "$ref": "#/components/schemas/IVoucherDetails" }, "companyProviderName": { "type": "string" }, "companyId": { "type": "number", "format": "double" }, "isCustomerCancellationEnabled": { "type": "boolean" }, "refundedAmountCents": { "type": "number", "format": "double" }, "eTicketUrl": { "type": "string", "nullable": true }, "cancellationConditions": { "items": { "type": "string" }, "type": "array" }, "availableSeats": { "type": "number", "format": "double", "nullable": true }, "isPresale": { "type": "boolean" } }, "required": [ "id", "company", "mean", "origin", "destination", "priceCents", "feeCents", "includedProviderFeeCents", "departureUTC", "arrivalUTC", "originOffset", "destinationOffset", "durationMinutes", "isBookable", "redirectionLink", "isPresale" ], "type": "object", "additionalProperties": false }, "ISerializedTrip_IClientSegment_": { "properties": { "id": { "type": "string" }, "uuid": { "type": "string" }, "origin": { "$ref": "#/components/schemas/TClientPlace" }, "destination": { "$ref": "#/components/schemas/TClientPlace" }, "priceCents": { "type": "number", "format": "double" }, "feeCents": { "type": "number", "format": "double" }, "paidPrice": { "type": "number", "format": "double" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "durationMinutes": { "type": "number", "format": "double" }, "companies": { "items": { "type": "string" }, "type": "array" }, "mean": { "$ref": "#/components/schemas/ETripTransport" }, "segments": { "items": { "$ref": "#/components/schemas/IClientSegment" }, "type": "array" }, "co2g": { "type": "number", "format": "double" }, "vehicleIdentifier": { "type": "string" } }, "required": [ "id", "origin", "destination", "priceCents", "feeCents", "paidPrice", "departureUTC", "arrivalUTC", "originOffset", "destinationOffset", "durationMinutes", "companies", "mean", "segments", "co2g" ], "type": "object", "additionalProperties": false }, "IClientTrip": { "$ref": "#/components/schemas/ISerializedTrip_IClientSegment_" }, "EPassengerCategory": { "enum": [ "youths", "seniors", "adults" ], "type": "string" }, "IDiscountCard": { "properties": { "id": { "type": "string" }, "label": { "type": "string" }, "cardCode": { "type": "string" }, "visibility": { "type": "number", "format": "double" }, "isIdRequired": { "type": "boolean" } }, "required": [ "id", "label", "cardCode", "visibility", "isIdRequired" ], "type": "object", "additionalProperties": false }, "EPassengerTitle": { "enum": [ "MR", "MS" ], "type": "string" }, "ISerializedPassenger": { "properties": { "id": { "type": "number", "format": "double" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "category": { "$ref": "#/components/schemas/EPassengerCategory" }, "discountCards": { "items": { "$ref": "#/components/schemas/IDiscountCard" }, "type": "array" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "isCustomer": { "type": "boolean" }, "birthdate": { "type": "string", "format": "date-time" }, "age": { "type": "number", "format": "double" }, "discountCardId": { "type": "string" } }, "required": [ "id", "lastName", "firstName", "category", "discountCards", "title", "isCustomer", "birthdate", "age" ], "type": "object", "additionalProperties": false }, "ISerializedCustomer": { "properties": { "mail": { "type": "string" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "birthdate": { "type": "string", "format": "date-time" } }, "required": [ "mail", "lastName", "firstName", "title", "birthdate" ], "type": "object", "additionalProperties": false }, "ISerializedCart": { "properties": { "id": { "type": "string" }, "partnerId": { "type": "string" }, "partnerExternalId": { "type": "string" }, "paidPrice": { "type": "number", "format": "double", "description": "The paid price from the customer perspective. Matches the sum of the trips price with all the fees" }, "rawPrice": { "type": "number", "format": "double", "description": "The actual price from Tictactrip's perspective. Matches the sum of the trips price without any fees." }, "totalPrice": { "type": "number", "format": "double" }, "order": { "$ref": "#/components/schemas/Order" }, "trips": { "properties": { "returnTrip": { "$ref": "#/components/schemas/IClientTrip" }, "outboundTrip": { "$ref": "#/components/schemas/IClientTrip" } }, "required": [ "outboundTrip" ], "type": "object" }, "passengers": { "items": { "$ref": "#/components/schemas/ISerializedPassenger" }, "type": "array" }, "customer": { "$ref": "#/components/schemas/ISerializedCustomer" }, "isIdentityDocumentRequired": { "type": "boolean" } }, "required": [ "id", "paidPrice", "rawPrice", "totalPrice", "trips", "isIdentityDocumentRequired" ], "type": "object", "additionalProperties": false }, "Pick_DeviceAttributes.id-or-notificationToken-or-createdAt_": { "properties": { "id": { "type": "number", "format": "double" }, "notificationToken": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "notificationToken", "createdAt" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "EIdentityDocumentType": { "enum": [ "IDENTITY_CARD", "PASSPORT" ], "type": "string" }, "EIsoCountryCodes": { "enum": [ "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "CV", "KH", "CM", "CA", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "SZ", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MK", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW" ], "type": "string" }, "IIdentityDocument": { "properties": { "type": { "$ref": "#/components/schemas/EIdentityDocumentType" }, "documentIdentifier": { "type": "string" }, "expirationDate": { "type": "string", "description": "YYYY-MM-DD" }, "countryCode": { "$ref": "#/components/schemas/EIsoCountryCodes" } }, "required": [ "type", "documentIdentifier", "expirationDate", "countryCode" ], "type": "object", "additionalProperties": false }, "ICartPassenger": { "properties": { "category": { "type": "string" }, "age": { "type": "number", "format": "double" }, "discountCards": { "items": { "properties": { "code": { "type": "string", "nullable": true, "description": "The discount card number.\nThis field is required when using the TTT Booking API's UpdateCart endpoint." }, "id": { "type": "string", "description": "Matches the TTT discount card ID's, such as \"TTT_VSC_YOUNG_PASS\"" } }, "required": [ "id" ], "type": "object" }, "type": "array" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "birthdate": { "type": "string", "format": "date-time" }, "identityDocument": { "$ref": "#/components/schemas/IIdentityDocument" }, "isCustomer": { "type": "boolean" } }, "required": [ "age" ], "type": "object", "additionalProperties": false }, "DeviceAttributes": { "properties": { "id": { "type": "number", "format": "double" }, "orderCustomerId": { "type": "string", "nullable": true }, "notificationToken": { "type": "string" }, "deviceId": { "type": "string" }, "platform": { "type": "string" }, "userAgent": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "orderCustomerId", "notificationToken", "deviceId", "platform", "userAgent", "createdAt", "updatedAt", "deletedAt" ], "type": "object", "additionalProperties": false }, "ICartCustomer": { "properties": { "id": { "type": "string" }, "mail": { "type": "string" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "birthdate": { "type": "string", "format": "date-time" }, "phoneNumber": { "type": "string" }, "orders": { "items": { "$ref": "#/components/schemas/Order" }, "type": "array" }, "language": { "type": "string" }, "devices": { "items": { "$ref": "#/components/schemas/DeviceAttributes" }, "type": "array" }, "isSubscribedToNewsletter": { "type": "boolean" } }, "required": [ "mail", "title", "firstName", "lastName", "birthdate", "isSubscribedToNewsletter" ], "type": "object", "additionalProperties": false }, "ICreateCartBody": { "properties": { "outboundTripId": { "type": "string" }, "returnTripId": { "type": "string" }, "passengers": { "items": { "$ref": "#/components/schemas/ICartPassenger" }, "type": "array" }, "customer": { "$ref": "#/components/schemas/ICartCustomer" }, "partnerId": { "type": "string", "nullable": true }, "partnerExternalId": { "type": "string", "nullable": true, "description": "Matches an id provided from a partner. It is used to keep track of the partner's orders and enables an order match between their system and our own" }, "deviceId": { "type": "number", "format": "double" } }, "required": [ "outboundTripId" ], "type": "object", "additionalProperties": false }, "Record_ISegmentResponse-at-id.ISegmentAlternatives_": { "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "IUpdateCartResponse": { "properties": { "cart": { "$ref": "#/components/schemas/ISerializedCart" }, "priceCentsDiff": { "type": "number", "format": "double" }, "isAvailable": { "type": "boolean" }, "segmentAlternatives": { "$ref": "#/components/schemas/Record_ISegmentResponse-at-id.ISegmentAlternatives_" } }, "required": [ "cart", "priceCentsDiff", "isAvailable", "segmentAlternatives" ], "type": "object", "additionalProperties": false }, "IUpdateCartPayload": { "properties": { "passengers": { "items": { "$ref": "#/components/schemas/ICartPassenger" }, "type": "array" }, "customer": { "$ref": "#/components/schemas/ICartCustomer" }, "segmentAlternatives": { "properties": {}, "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "additionalProperties": false }, "EOrderStatus": { "enum": [ "CREATED", "SUCCESS", "CANCELED", "CANCELED_PARTIAL", "PENDING_BOOKING", "ERRORED", "UNAVAILABLE", "REFUNDED", "PRESOLD" ], "type": "string" }, "TClientPassenger": { "properties": { "id": { "type": "number", "format": "double" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "category": { "$ref": "#/components/schemas/EPassengerCategory" }, "discountCards": { "items": { "$ref": "#/components/schemas/IDiscountCard" }, "type": "array" }, "identityDocument": { "$ref": "#/components/schemas/IIdentityDocument" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "isCustomer": { "type": "boolean" }, "birthDay": { "type": "number", "format": "double" }, "birthMonth": { "type": "number", "format": "double" }, "birthYear": { "type": "number", "format": "double" }, "age": { "type": "number", "format": "double" }, "discountCardId": { "type": "string" } }, "required": [ "id", "lastName", "firstName", "category", "discountCards", "identityDocument", "title", "isCustomer", "birthDay", "birthMonth", "birthYear", "age" ], "type": "object", "additionalProperties": false }, "TClientCustomer": { "properties": { "mail": { "type": "string" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "birthDay": { "type": "number", "format": "double" }, "birthMonth": { "type": "number", "format": "double" }, "birthYear": { "type": "number", "format": "double" } }, "required": [ "mail", "lastName", "firstName", "title", "birthDay", "birthMonth", "birthYear" ], "type": "object", "additionalProperties": false }, "EPaymentStatus": { "enum": [ "ACCEPTED", "REFUSED", "CANCELLED", "ERROR", "INPROGRESS", "ONHOLD_PARTNER", "PENDING_RISK" ], "type": "string" }, "ISerializedOrder": { "properties": { "id": { "type": "string" }, "paidPrice": { "type": "number", "format": "double" }, "rawPrice": { "type": "number", "format": "double" }, "totalPrice": { "type": "number", "format": "double" }, "orderDate": { "type": "string" }, "cartId": { "type": "string" }, "partnerId": { "type": "string" }, "orderStatus": { "$ref": "#/components/schemas/EOrderStatus" }, "trips": { "properties": { "returnTrip": { "$ref": "#/components/schemas/IClientTrip" }, "outboundTrip": { "$ref": "#/components/schemas/IClientTrip" } }, "required": [ "outboundTrip" ], "type": "object" }, "passengers": { "items": { "$ref": "#/components/schemas/TClientPassenger" }, "type": "array" }, "customer": { "$ref": "#/components/schemas/TClientCustomer" }, "error": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "paymentStatus": { "$ref": "#/components/schemas/EPaymentStatus" } }, "required": [ "id", "paidPrice", "rawPrice", "totalPrice", "orderDate", "orderStatus", "trips", "passengers", "customer", "paymentStatus" ], "type": "object", "additionalProperties": false }, "ICreateOrderResponse": { "properties": { "order": { "$ref": "#/components/schemas/ISerializedOrder" }, "priceCentsDiff": { "type": "number", "format": "double" }, "isAvailable": { "type": "boolean" }, "expiresAt": { "type": "string", "format": "date-time" }, "paylineToken": { "type": "string" } }, "required": [ "order", "priceCentsDiff", "isAvailable", "expiresAt" ], "type": "object", "additionalProperties": false }, "ICreateOrderPayload": { "properties": { "cartId": { "type": "string" } }, "required": [ "cartId" ], "type": "object", "additionalProperties": false }, "BookableTicket": { "additionalProperties": false, "type": "object", "description": "{@inheritDoc}" }, "ITicketStatus": { "properties": { "id": { "type": "number", "format": "double" }, "ticket": { "type": "number", "format": "double" }, "status": { "$ref": "#/components/schemas/ETicketStatusStatus" }, "bookableTicket": { "$ref": "#/components/schemas/BookableTicket" } }, "required": [ "id", "ticket", "status", "bookableTicket" ], "type": "object", "additionalProperties": false }, "IEticket": { "properties": { "id": { "type": "number", "format": "double" }, "ticket": { "type": "number", "format": "double" }, "url": { "type": "string" } }, "required": [ "id", "ticket", "url" ], "type": "object", "additionalProperties": false }, "IBookableTicket": { "properties": { "id": { "type": "number", "format": "double" }, "orderTicket": { "type": "number", "format": "double" }, "data": { "properties": {}, "additionalProperties": {}, "type": "object" }, "providerSegmentBookingRefId": { "type": "string" }, "ticketStatuses": { "items": { "$ref": "#/components/schemas/ITicketStatus" }, "type": "array" }, "eTicket": { "$ref": "#/components/schemas/IEticket" } }, "required": [ "id", "orderTicket", "data", "providerSegmentBookingRefId", "ticketStatuses", "eTicket" ], "type": "object", "additionalProperties": false }, "CreateBookableTicketResponse": { "properties": { "bookableTicket": { "$ref": "#/components/schemas/IBookableTicket" } }, "required": [ "bookableTicket" ], "type": "object", "additionalProperties": false }, "CreateBookableTicketBody": { "properties": { "data": { "properties": {}, "additionalProperties": {}, "type": "object" }, "ticketStatus": { "$ref": "#/components/schemas/ETicketStatusStatus" }, "providerSegmentBookingRefId": { "type": "string" }, "eTicketUrl": { "type": "string", "nullable": true } }, "required": [ "data", "ticketStatus", "providerSegmentBookingRefId", "eTicketUrl" ], "type": "object", "additionalProperties": false }, "TWsEndpoint": { "type": "string" }, "TExtraData": { "additionalProperties": false, "type": "object" }, "TEntry": { "properties": { "extraData": { "$ref": "#/components/schemas/TExtraData" }, "wsEndpoint": { "$ref": "#/components/schemas/TWsEndpoint" }, "createdAt": { "type": "string" } }, "required": [ "wsEndpoint", "createdAt" ], "type": "object" }, "IBrowserServerCreateBody": { "properties": { "wsEndpoint": { "$ref": "#/components/schemas/TWsEndpoint" }, "extraData": { "$ref": "#/components/schemas/TExtraData" } }, "required": [ "wsEndpoint" ], "type": "object", "additionalProperties": false }, "Record_string.Record_string.ICacheEntry__": { "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "ESegmentProviderId.RENFE": { "enum": [ 501 ], "type": "number" }, "ESegmentProviderId.VSC": { "enum": [ 10 ], "type": "number" }, "ESegmentProviderId.TRENITALIA": { "enum": [ 500 ], "type": "number" }, "ESegmentProviderId.OBB": { "enum": [ 502 ], "type": "number" }, "ESegmentProviderId.EUROSTAR2": { "enum": [ 1000 ], "type": "number" }, "ESegmentProviderId.FLIXBUSV2": { "enum": [ 6 ], "type": "number" }, "TSegmentId": { "type": "string" }, "ESegmentProviderId": { "enum": [ 5, 6, 4, 7, 8, 10, 11, 2, 11, 13, 21, 22, 24, 104, 500, 501, 502, 503, 989, 990, 991, 992, 993, 994, 995, 1, 996, 997, 998, 999, 23, 17, 940, 941, 942, 943, 944, 945, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 838, 840, 843, 855, 856, 863, 872, 882, 886, 887, 895, 896, 898, 899, 750, 751, 1000 ], "type": "number" }, "ETransportType": { "enum": [ "carpooling", "bus", "train" ], "type": "string" }, "TSegmentProviderStopId": { "type": "string" }, "TSegmentProviderBrandId": { "type": "string" }, "TBrandId": { "type": "string" }, "ENotAvailableReason": { "enum": [ "CANCELLED", "FULL", "NOT_OPEN_TO_SALE", "NOT_SELLABLE", "MINORS_MUST_BE_ACCOMPANIED" ], "type": "string" }, "ESeatPreferences": { "enum": [ "TTT_SEAT_SOLO", "TTT_SEAT_DUO", "TTT_SEAT_QUATRO", "TTT_SEAT_SEXTO", "TTT_SEAT_SIDE_TO_SIDE", "TTT_SEAT_WINDOW", "TTT_SEAT_AISLE", "TTT_SEAT_CENTER", "TTT_DECK_LOWER", "TTT_DECK_UPPER", "TTT_BERTH_SUPERIOR", "TTT_BERTH_MEDIAN", "TTT_BERTH_INFERIOR", "TTT_BERTH_INFERIOR_MANDATORY" ], "type": "string" }, "IExtendedSegmentResponseWithNullableValues": { "properties": { "originProviderStopId": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "destinationProviderStopId": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "departureUnixUtc": { "type": "number", "format": "double" }, "arrivalUnixUtc": { "type": "number", "format": "double" }, "departureOffset": { "type": "string" }, "arrivalOffset": { "type": "string" }, "cacheDate": { "type": "string" }, "cacheSource": { "type": "string" }, "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "providerId": { "$ref": "#/components/schemas/TBrandId" }, "segmentProviderId": { "$ref": "#/components/schemas/ESegmentProviderId" }, "priceCents": { "type": "number", "format": "double", "nullable": true }, "durationMinutes": { "type": "number", "format": "double" }, "availableSeats": { "type": "number", "format": "double", "nullable": true }, "id": { "$ref": "#/components/schemas/TSegmentId" }, "brandName": { "type": "string" }, "transportType": { "$ref": "#/components/schemas/ETransportType" }, "isAvailable": { "type": "boolean" }, "segmentProviderBrandId": { "$ref": "#/components/schemas/TSegmentProviderBrandId" }, "isBookable": { "type": "boolean" }, "redirectionLink": { "type": "string" }, "feeCents": { "type": "number", "format": "double" }, "includedProviderFeeCents": { "type": "number", "format": "double" }, "segmentProviderSegmentRefId": { "type": "string" }, "vehicleIdentifier": { "type": "string", "nullable": true, "description": "The identifier for the physical transportation mean. Has to be set for it to be a candidate for a partial cache update." }, "co2g": { "type": "number", "format": "double" }, "bookingClass": { "type": "string", "nullable": true }, "fareName": { "type": "string", "nullable": true }, "conditionsName": { "type": "string" }, "conditions": { "items": { "type": "string" }, "type": "array" }, "includedBaggage": { "type": "boolean" }, "seatPreferences": { "items": { "$ref": "#/components/schemas/ESeatPreferences" }, "type": "array" }, "isPresale": { "type": "boolean" } }, "required": [ "originProviderStopId", "destinationProviderStopId", "departureUnixUtc", "arrivalUnixUtc", "departureOffset", "arrivalOffset", "notAvailableReason", "segmentProviderId", "priceCents", "id", "brandName", "transportType", "durationMinutes", "isAvailable", "feeCents", "includedProviderFeeCents", "co2g", "includedBaggage", "availableSeats", "isPresale" ], "type": "object", "additionalProperties": false }, "ICreateCachePayload": { "properties": { "origin": { "type": "string" }, "destination": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "segments": { "items": { "$ref": "#/components/schemas/IExtendedSegmentResponseWithNullableValues" }, "type": "array" } }, "required": [ "origin", "destination", "source", "segments" ], "type": "object", "additionalProperties": false }, "RefreshCachedSegmentPricesAvailableProvider": { "enum": [ 10, 500, 501, 502 ], "type": "number" }, "Pick_ISegmentResponse.originProviderStopId-or-destinationProviderStopId-or-departureUnixUtc-or-arrivalUnixUtc-or-departureOffset-or-arrivalOffset-or-durationMinutes-or-priceCents-or-providerId-or-cacheDate-or-cacheSource-or-segmentProviderId_": { "properties": { "originProviderStopId": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "destinationProviderStopId": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "departureUnixUtc": { "type": "number", "format": "double" }, "arrivalUnixUtc": { "type": "number", "format": "double" }, "departureOffset": { "type": "string" }, "arrivalOffset": { "type": "string" }, "durationMinutes": { "type": "number", "format": "double" }, "priceCents": { "type": "number", "format": "double" }, "providerId": { "$ref": "#/components/schemas/TBrandId" }, "cacheDate": { "type": "string" }, "cacheSource": { "type": "string" }, "segmentProviderId": { "$ref": "#/components/schemas/ESegmentProviderId" } }, "required": [ "originProviderStopId", "destinationProviderStopId", "departureUnixUtc", "arrivalUnixUtc", "departureOffset", "arrivalOffset", "durationMinutes", "priceCents", "segmentProviderId" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "ISegmentResponseReduced": { "$ref": "#/components/schemas/Pick_ISegmentResponse.originProviderStopId-or-destinationProviderStopId-or-departureUnixUtc-or-arrivalUnixUtc-or-departureOffset-or-arrivalOffset-or-durationMinutes-or-priceCents-or-providerId-or-cacheDate-or-cacheSource-or-segmentProviderId_" }, "IRefreshCachePayload": { "properties": { "source": { "type": "string" }, "status": { "type": "string" }, "segments": { "items": { "$ref": "#/components/schemas/ISegmentResponseReduced" }, "type": "array" } }, "required": [ "source", "segments" ], "type": "object", "additionalProperties": false }, "MailType": { "type": "string", "enum": [ "ABANDONED_1", "ABANDONED_2" ] }, "ICartNotification": { "properties": { "id": { "type": "number", "format": "double" }, "cartId": { "type": "string" }, "messageId": { "type": "string" }, "version": { "type": "string" }, "mailType": { "$ref": "#/components/schemas/MailType" }, "templateId": { "type": "number", "format": "double" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time", "nullable": true }, "deletedAt": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "cartId", "messageId", "version", "mailType", "templateId", "createdAt", "updatedAt", "deletedAt" ], "type": "object", "additionalProperties": false }, "IClientCartNotification": { "properties": { "customer": { "$ref": "#/components/schemas/TClientCustomer" }, "passengers": { "items": { "$ref": "#/components/schemas/TClientPassenger" }, "type": "array" }, "cart": { "properties": { "returnTrip": { "$ref": "#/components/schemas/IClientTrip" }, "outboundTrip": { "$ref": "#/components/schemas/IClientTrip" } }, "required": [ "outboundTrip" ], "type": "object" }, "totalPrice": { "type": "number", "format": "double" }, "rawPrice": { "type": "number", "format": "double" }, "paidPrice": { "type": "number", "format": "double" }, "confirmedAt": { "type": "string", "format": "date-time" }, "partnerExternalId": { "type": "string" }, "partnerId": { "type": "string" }, "id": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "cartNotifications": { "items": { "$ref": "#/components/schemas/ICartNotification" }, "type": "array" }, "deviceMessagingToken": { "type": "string", "nullable": true } }, "required": [ "cart", "totalPrice", "rawPrice", "paidPrice", "confirmedAt", "id", "createdAt", "cartNotifications", "deviceMessagingToken" ], "type": "object", "additionalProperties": false }, "CreateCartNotificationResponse": { "properties": { "id": { "type": "number", "format": "double" }, "messageId": { "type": "string" }, "cartId": { "type": "string" }, "templateId": { "type": "number", "format": "double" }, "version": { "type": "string" }, "mailType": { "$ref": "#/components/schemas/MailType" } }, "required": [ "id", "messageId", "cartId", "templateId", "version", "mailType" ], "type": "object", "additionalProperties": false }, "CreateCartNotificationBody": { "properties": { "messageId": { "type": "string" }, "templateId": { "type": "number", "format": "double" }, "version": { "type": "string" }, "mailType": { "$ref": "#/components/schemas/MailType" } }, "required": [ "messageId", "templateId", "version", "mailType" ], "type": "object", "additionalProperties": false }, "TripAvailability": { "properties": { "segments": { "items": { "properties": { "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "isAvailable": { "type": "boolean" }, "priceCents": { "type": "number", "format": "double" } }, "required": [ "notAvailableReason", "isAvailable", "priceCents" ], "type": "object" }, "type": "array" }, "priceCentsDiff": { "type": "number", "format": "double" }, "priceCents": { "type": "number", "format": "double" }, "isDiscountCardApplied": { "type": "boolean" }, "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "isAvailable": { "type": "boolean" } }, "required": [ "segments", "priceCentsDiff", "priceCents", "isDiscountCardApplied", "notAvailableReason", "isAvailable" ], "type": "object" }, "ISearchSegment": { "properties": { "id": { "type": "string" }, "company": { "type": "string" }, "companyId": { "type": "string" }, "origin": { "properties": { "long": { "type": "number", "format": "double" }, "lat": { "type": "number", "format": "double" }, "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "long", "lat", "station", "city" ], "type": "object" }, "destination": { "properties": { "long": { "type": "number", "format": "double" }, "lat": { "type": "number", "format": "double" }, "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "long", "lat", "station", "city" ], "type": "object" }, "priceCents": { "type": "number", "format": "double" }, "redirectionLink": { "type": "string" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "durationMinutes": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "isBookable": { "type": "boolean" }, "mean": { "type": "string" }, "segmentProviderId": { "type": "number", "format": "double" }, "vehicleIdentifier": { "type": "string" }, "co2g": { "type": "number", "format": "double" }, "bookingClass": { "type": "string" }, "fareName": { "type": "string" }, "conditionsName": { "type": "string" }, "conditions": { "items": { "type": "string" }, "type": "array" }, "isPresale": { "type": "boolean" } }, "required": [ "id", "company", "origin", "destination", "priceCents", "departureUTC", "arrivalUTC", "durationMinutes", "originOffset", "destinationOffset", "isBookable", "mean", "segmentProviderId", "isPresale" ], "type": "object", "additionalProperties": false }, "ISearchTrip": { "properties": { "origin": { "properties": { "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "station", "city" ], "type": "object" }, "destination": { "properties": { "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "station", "city" ], "type": "object" }, "available": { "type": "boolean" }, "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "priceCents": { "type": "number", "format": "double" }, "mean": { "type": "string" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "durationMinutes": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "companies": { "items": { "type": "string" }, "type": "array" }, "score": { "type": "number", "format": "double", "nullable": true }, "id": { "type": "string" }, "isPartiallyBookable": { "type": "boolean" }, "isFullyBookable": { "type": "boolean" }, "transportType": { "type": "string" }, "segments": { "items": { "$ref": "#/components/schemas/ISearchSegment" }, "type": "array" }, "co2g": { "type": "number", "format": "double" } }, "required": [ "origin", "destination", "available", "notAvailableReason", "priceCents", "mean", "departureUTC", "arrivalUTC", "durationMinutes", "originOffset", "destinationOffset", "companies", "score", "id", "isPartiallyBookable", "isFullyBookable", "transportType", "segments", "co2g" ], "type": "object", "additionalProperties": false }, "ISearchResults": { "properties": { "trips": { "properties": { "multimodal": { "items": { "$ref": "#/components/schemas/ISearchTrip" }, "type": "array" }, "carpooling": { "items": { "$ref": "#/components/schemas/ISearchTrip" }, "type": "array" }, "train": { "items": { "$ref": "#/components/schemas/ISearchTrip" }, "type": "array" }, "bus": { "items": { "$ref": "#/components/schemas/ISearchTrip" }, "type": "array" } }, "required": [ "multimodal", "carpooling", "train", "bus" ], "type": "object" }, "complete": { "type": "boolean" } }, "required": [ "trips", "complete" ], "type": "object", "additionalProperties": false }, "CheckTripAvailabilityResponse": { "properties": { "searchResults": { "allOf": [ { "$ref": "#/components/schemas/ISearchResults" } ], "nullable": true }, "availability": { "$ref": "#/components/schemas/TripAvailability" } }, "required": [ "searchResults", "availability" ], "type": "object" }, "GetSegmentAvailabilityPassenger": { "properties": { "discountCards": { "items": { "properties": { "cardCode": { "type": "string" } }, "required": [ "cardCode" ], "type": "object" }, "type": "array" }, "age": { "type": "number", "format": "double" } }, "required": [ "discountCards", "age" ], "type": "object" }, "ETripDirection": { "enum": [ "outboundTrip", "returnTrip" ], "type": "string" }, "CheckTripAvailabilityPayload": { "properties": { "currentDirection": { "$ref": "#/components/schemas/ETripDirection" }, "otherDirectionDate": { "type": "string" }, "passengers": { "items": { "$ref": "#/components/schemas/GetSegmentAvailabilityPassenger" }, "type": "array" }, "searchId": { "type": "string" } }, "required": [ "passengers", "searchId" ], "type": "object" }, "IPopularCity": { "properties": { "unique_name": { "type": "string" }, "city_id": { "type": "number", "format": "double" }, "local_name": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "gpuid": { "type": "string" }, "iscity": { "type": "boolean" }, "popular": { "type": "boolean" }, "nb_search": { "type": "string" } }, "required": [ "unique_name", "city_id", "local_name", "latitude", "longitude", "gpuid", "iscity", "popular", "nb_search" ], "type": "object", "additionalProperties": false }, "ESearchDirection": { "enum": [ "from", "to" ], "type": "string" }, "ICityCompanyStation": { "properties": { "city": { "properties": { "name": { "type": "string" }, "gpuid": { "type": "string" }, "id": { "type": "number", "format": "double" } }, "required": [ "name", "gpuid", "id" ], "type": "object" }, "companyStation": { "properties": { "name": { "type": "string" }, "originalId": { "type": "string" }, "id": { "type": "number", "format": "double" } }, "required": [ "name", "originalId", "id" ], "type": "object" } }, "required": [ "city", "companyStation" ], "type": "object", "additionalProperties": false }, "ICityCompanyCity": { "properties": { "cityId": { "type": "number", "format": "double" }, "companyCities": { "items": { "properties": { "name": { "type": "string" }, "originalId": { "type": "string" }, "id": { "type": "number", "format": "double" } }, "required": [ "name", "originalId", "id" ], "type": "object" }, "type": "array" } }, "required": [ "cityId", "companyCities" ], "type": "object", "additionalProperties": false }, "ICityPaths": { "properties": { "originId": { "type": "number", "format": "double" }, "destinationId": { "type": "number", "format": "double" }, "paths": { "items": { "items": { "type": "number", "format": "double" }, "type": "array" }, "type": "array" } }, "required": [ "originId", "destinationId", "paths" ], "type": "object", "additionalProperties": false }, "ICompanies": { "properties": { "id": { "type": "number", "format": "double" }, "coord_api": { "type": "boolean" }, "direct_only": { "type": "boolean" }, "has_station_api": { "type": "boolean" }, "implemented": { "type": "boolean" }, "is_visible_on_search": { "type": "boolean" }, "is_customer_cancellation_enabled": { "type": "boolean" }, "is_meta_company": { "type": "boolean" }, "name": { "type": "string" } }, "required": [ "id", "coord_api", "direct_only", "has_station_api", "implemented", "is_visible_on_search", "is_customer_cancellation_enabled", "is_meta_company", "name" ], "type": "object", "additionalProperties": false }, "TIsoString": { "type": "string", "description": "ISO 8601 date string" }, "EAvailabilityType": { "enum": [ "SLIDING_WINDOW", "FIXED_WINDOW" ], "type": "string" }, "EAvailabilityWindowGranularity": { "enum": [ "ROLLING", "DAY" ], "type": "string" }, "IAvailabilityExtension": { "description": "This interface allows to define the availability of a brand for a given date window\nThere are two types of availability:\n\nFIXED_WINDOW: All trains are available for a given time window at a precise time.\n- For example on May 3rd 10AM all trains will available between September 3rd and September 10th.\n\nSLIDING_WINDOW: Trains are released little by little following a pattern.\n- For example on May 3rd 10AM all trains will be available for the next four month between September 3rd and September 10th.\nThen on May 4th you can book trains until Sept 4th and so on.\nFinally on May 11th you will only be able to book trains until Sept 10th following this rule.", "properties": { "applicationDate": { "$ref": "#/components/schemas/TIsoString", "description": "Date from which the system is allowed to apply this rule" }, "type": { "$ref": "#/components/schemas/EAvailabilityType", "description": "Type of the extension" }, "windowLengthInDays": { "type": "number", "format": "double", "description": "Only applicable if type is set to SLIDING_WINDOW" }, "from": { "$ref": "#/components/schemas/TIsoString", "description": "First circulation date of the extension window" }, "to": { "$ref": "#/components/schemas/TIsoString", "description": "Last circulation date of the extension window" }, "granularity": { "$ref": "#/components/schemas/EAvailabilityWindowGranularity", "description": "Granularity used to compute the SLIDING_WINDOW availability.\nDefaults to ROLLING if not specified." } }, "required": [ "applicationDate", "type", "from" ], "type": "object", "additionalProperties": false }, "IBrandAvailabilityDetails": { "description": "This interface allows to define the availability policy for all brands of a company.", "properties": { "brands": { "properties": {}, "additionalProperties": { "items": { "$ref": "#/components/schemas/IAvailabilityExtension" }, "type": "array" }, "type": "object" }, "default": { "allOf": [ { "$ref": "#/components/schemas/IAvailabilityExtension" } ], "nullable": true } }, "required": [ "brands", "default" ], "type": "object", "additionalProperties": false }, "ICachedOd": { "properties": { "origin_id": { "type": "string" }, "destination_id": { "type": "string" } }, "required": [ "origin_id", "destination_id" ], "type": "object", "additionalProperties": false }, "IGetCustomerContextResponse": { "properties": { "mail": { "type": "string" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "birthdate": { "type": "string", "format": "date-time" }, "phoneNumber": { "type": "string" }, "id": { "type": "string" } }, "required": [ "mail", "title", "firstName", "lastName", "birthdate", "phoneNumber", "id" ], "type": "object", "additionalProperties": false }, "TClientOrder": { "properties": { "paymentStatus": { "$ref": "#/components/schemas/EPaymentStatus" }, "error": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "customer": { "$ref": "#/components/schemas/TClientCustomer" }, "passengers": { "items": { "$ref": "#/components/schemas/TClientPassenger" }, "type": "array" }, "cart": { "properties": { "returnTrip": { "$ref": "#/components/schemas/IClientTrip" }, "outboundTrip": { "$ref": "#/components/schemas/IClientTrip" } }, "required": [ "outboundTrip" ], "type": "object" }, "partnerId": { "type": "string" }, "totalPrice": { "type": "number", "format": "double" }, "paidPrice": { "type": "number", "format": "double" }, "rawPrice": { "type": "number", "format": "double" }, "orderStatus": { "$ref": "#/components/schemas/EOrderStatus" }, "cartId": { "type": "string" }, "orderDate": { "type": "string" }, "id": { "type": "string" } }, "required": [ "paymentStatus", "customer", "passengers", "cart", "totalPrice", "paidPrice", "rawPrice", "orderStatus", "orderDate", "id" ], "type": "object" }, "ISerializeCustomerTrip": { "properties": { "originCity": { "type": "string" }, "originRegion": { "type": "string" }, "originCountry": { "type": "string" }, "destinationCity": { "type": "string" }, "destinationRegion": { "type": "string" }, "destinationCountry": { "type": "string" }, "departureUTC": { "type": "number", "format": "double" }, "departureOffset": { "type": "string" }, "arrivalUTC": { "type": "number", "format": "double" }, "arrivalOffset": { "type": "string" }, "providers": { "items": { "type": "string" }, "type": "array" }, "brands": { "items": { "type": "string" }, "type": "array" }, "distanceInKm": { "type": "number", "format": "double" }, "co2InG": { "type": "number", "format": "double" }, "transportType": { "type": "string" }, "isCancelled": { "type": "boolean" } }, "required": [ "originCity", "originRegion", "originCountry", "destinationCity", "destinationRegion", "destinationCountry", "departureUTC", "departureOffset", "arrivalUTC", "arrivalOffset", "providers", "brands", "distanceInKm", "co2InG", "transportType", "isCancelled" ], "type": "object", "additionalProperties": false }, "ISerializeCustomerOrder": { "properties": { "partnerId": { "type": "string" }, "paidPrice": { "type": "number", "format": "double" }, "priceCents": { "type": "number", "format": "double" }, "feeCents": { "type": "number", "format": "double" }, "createdAt": { "type": "string" }, "numberOfPassengers": { "type": "number", "format": "double" }, "paymentStatus": { "items": { "type": "string" }, "type": "array" }, "orderStatus": { "items": { "type": "string" }, "type": "array" }, "discountCards": { "items": { "type": "string" }, "type": "array" }, "outboundTrip": { "$ref": "#/components/schemas/ISerializeCustomerTrip" }, "returnTrip": { "$ref": "#/components/schemas/ISerializeCustomerTrip" } }, "required": [ "partnerId", "paidPrice", "priceCents", "feeCents", "createdAt", "numberOfPassengers", "paymentStatus", "orderStatus", "discountCards", "outboundTrip" ], "type": "object", "additionalProperties": false }, "ISerializeCustomer": { "properties": { "mail": { "type": "string" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "birthdate": { "type": "string" }, "language": { "type": "string" }, "orders": { "items": { "$ref": "#/components/schemas/ISerializeCustomerOrder" }, "type": "array" } }, "required": [ "mail", "title", "firstName", "lastName", "birthdate", "language", "orders" ], "type": "object", "additionalProperties": false }, "IGetAllCustomersOrders": { "properties": { "totalPages": { "type": "number", "format": "double" }, "customers": { "items": { "$ref": "#/components/schemas/ISerializeCustomer" }, "type": "array" } }, "required": [ "totalPages", "customers" ], "type": "object", "additionalProperties": false }, "GetUserActivityResponse": { "properties": { "lastCartCreated": { "properties": { "createdAt": { "type": "string" }, "id": { "type": "string" } }, "required": [ "createdAt", "id" ], "type": "object", "nullable": true }, "lastPaidOrder": { "properties": { "createdAt": { "type": "string" }, "paidAt": { "type": "string" }, "id": { "type": "string" } }, "required": [ "createdAt", "paidAt", "id" ], "type": "object", "nullable": true } }, "required": [ "lastCartCreated", "lastPaidOrder" ], "type": "object" }, "ITripStats": { "properties": { "request": { "properties": { "to": { "type": "number", "format": "double" }, "from": { "type": "number", "format": "double" } }, "required": [ "to", "from" ], "type": "object" }, "response": { "properties": {}, "additionalProperties": {}, "type": "object" } }, "required": [ "request", "response" ], "type": "object", "additionalProperties": false }, "IApiStatsStation": { "properties": { "id": { "type": "number", "format": "double" }, "name": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "id", "name", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "IApiStatsCity": { "properties": { "id": { "type": "number", "format": "double" }, "localname": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "stations": { "items": { "$ref": "#/components/schemas/IApiStatsStation" }, "type": "array" } }, "required": [ "id", "localname", "latitude", "longitude", "stations" ], "type": "object", "additionalProperties": false }, "IApiStatsCompany": { "properties": { "fullname": { "type": "string" }, "transportType": { "$ref": "#/components/schemas/EApiTransportType" } }, "required": [ "fullname", "transportType" ], "type": "object", "additionalProperties": false }, "IApiStatsTransportInformation": { "properties": { "historyData": { "type": "boolean" }, "minNbSteps": { "type": "number", "format": "double", "description": "minimum number of segments for the origin-destination" }, "nbPerDay": { "type": "number", "format": "double", "description": "number of trips per day in average" }, "bestItinerary": { "properties": { "cities": { "items": { "type": "string" }, "type": "array", "description": "array with the intermediate cities' full name" }, "departureTsOfLast": { "type": "number", "format": "double", "description": "timestamp of the last departure expressed in minutes (08:00 => 8*60 => 480)" }, "departureTsOfFirst": { "type": "number", "format": "double", "description": "timestamp of the first departure expressed in minutes (08:00 => 8*60 => 480)" }, "stations": { "properties": { "destination": { "$ref": "#/components/schemas/IApiStatsStation" }, "intermediateStations": { "items": { "$ref": "#/components/schemas/IApiStatsStation" }, "type": "array" }, "origin": { "$ref": "#/components/schemas/IApiStatsStation" } }, "required": [ "destination", "intermediateStations", "origin" ], "type": "object" }, "minNbSteps": { "type": "number", "format": "double" }, "companies": { "items": { "$ref": "#/components/schemas/IApiStatsCompany" }, "type": "array" }, "duration": { "properties": { "mean": { "type": "number", "format": "double" }, "max": { "type": "number", "format": "double" }, "min": { "type": "number", "format": "double" } }, "required": [ "mean", "max", "min" ], "type": "object" }, "price": { "properties": { "mean": { "type": "number", "format": "double" }, "max": { "type": "number", "format": "double" }, "min": { "type": "number", "format": "double" } }, "required": [ "mean", "max", "min" ], "type": "object" } }, "required": [ "cities", "departureTsOfLast", "departureTsOfFirst", "stations", "minNbSteps", "companies", "duration", "price" ], "type": "object" } }, "required": [ "historyData", "minNbSteps", "nbPerDay", "bestItinerary" ], "type": "object", "additionalProperties": false }, "Record_never.never_": { "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "IApiStatsTransportInformations": { "description": "When no stats are provided for a transport type, an empty object fills it", "properties": { "historyData": { "type": "boolean" }, "train": { "anyOf": [ { "$ref": "#/components/schemas/IApiStatsTransportInformation" }, { "$ref": "#/components/schemas/Record_never.never_" } ] }, "bus": { "anyOf": [ { "$ref": "#/components/schemas/IApiStatsTransportInformation" }, { "$ref": "#/components/schemas/Record_never.never_" } ] }, "multimodality": { "anyOf": [ { "$ref": "#/components/schemas/IApiStatsTransportInformation" }, { "$ref": "#/components/schemas/Record_never.never_" } ] }, "carpooling": { "anyOf": [ { "$ref": "#/components/schemas/IApiStatsTransportInformation" }, { "$ref": "#/components/schemas/Record_never.never_" } ] } }, "required": [ "historyData", "train", "bus", "multimodality", "carpooling" ], "type": "object", "additionalProperties": false }, "IApiStatisticsTrip": { "properties": { "cities": { "properties": { "intermediateCities": { "items": { "$ref": "#/components/schemas/IApiStatsCity" }, "type": "array" }, "destination": { "$ref": "#/components/schemas/IApiStatsCity" }, "origin": { "$ref": "#/components/schemas/IApiStatsCity" } }, "required": [ "intermediateCities", "destination", "origin" ], "type": "object" }, "companiesInvolved": { "items": { "$ref": "#/components/schemas/IApiStatsCompany" }, "type": "array" }, "transportInformation": { "$ref": "#/components/schemas/IApiStatsTransportInformations" }, "distanceAsCrowFlies": { "type": "number", "format": "double" }, "hasDirectTrip": { "type": "boolean" }, "minNbSteps": { "type": "number", "format": "double" }, "priceDurationGeneralInfo": { "properties": { "minDuration": { "type": "number", "format": "double", "description": "duration expressed in seconds" }, "maxPrice": { "type": "number", "format": "double", "description": "price expressed in cents" }, "minPrice": { "type": "number", "format": "double", "description": "price expressed in cents" } }, "required": [ "minDuration", "maxPrice", "minPrice" ], "type": "object" } }, "required": [ "cities", "companiesInvolved", "transportInformation", "distanceAsCrowFlies", "hasDirectTrip", "minNbSteps", "priceDurationGeneralInfo" ], "type": "object", "additionalProperties": false }, "IApiStatisticsWithSearchCount": { "properties": { "searchCount": { "type": "number", "format": "double" }, "stats": { "$ref": "#/components/schemas/IApiStatisticsTrip" } }, "required": [ "searchCount", "stats" ], "type": "object", "additionalProperties": false }, "IApiTripStatistics": { "properties": { "recentStats": { "$ref": "#/components/schemas/IApiStatisticsWithSearchCount" }, "previousStats": { "$ref": "#/components/schemas/IApiStatisticsWithSearchCount" } }, "required": [ "recentStats", "previousStats" ], "type": "object", "additionalProperties": false }, "ISearchSegmentWithNullableValues": { "properties": { "id": { "type": "string" }, "company": { "type": "string" }, "companyId": { "type": "string" }, "origin": { "properties": { "long": { "type": "number", "format": "double" }, "lat": { "type": "number", "format": "double" }, "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "long", "lat", "station", "city" ], "type": "object" }, "destination": { "properties": { "long": { "type": "number", "format": "double" }, "lat": { "type": "number", "format": "double" }, "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "long", "lat", "station", "city" ], "type": "object" }, "priceCents": { "type": "number", "format": "double" }, "redirectionLink": { "type": "string", "nullable": true }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "durationMinutes": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "isBookable": { "type": "boolean" }, "mean": { "type": "string" }, "segmentProviderId": { "type": "number", "format": "double" }, "vehicleIdentifier": { "type": "string", "nullable": true }, "co2g": { "type": "number", "format": "double" }, "bookingClass": { "type": "string" }, "fareName": { "type": "string", "nullable": true }, "conditionsName": { "type": "string" }, "conditions": { "items": { "type": "string" }, "type": "array" }, "isPresale": { "type": "boolean" } }, "required": [ "id", "company", "origin", "destination", "priceCents", "departureUTC", "arrivalUTC", "durationMinutes", "originOffset", "destinationOffset", "isBookable", "mean", "segmentProviderId", "isPresale" ], "type": "object", "additionalProperties": false }, "ILighterSearchTrip": { "properties": { "origin": { "properties": { "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "station", "city" ], "type": "object" }, "destination": { "properties": { "station": { "type": "string" }, "country": { "type": "string" }, "city": { "type": "string" } }, "required": [ "station", "city" ], "type": "object" }, "available": { "type": "boolean" }, "priceCents": { "type": "number", "format": "double" }, "mean": { "type": "string" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "durationMinutes": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "companies": { "items": { "type": "string" }, "type": "array" }, "score": { "type": "number", "format": "double", "nullable": true }, "id": { "type": "string" }, "isPartiallyBookable": { "type": "boolean" }, "isFullyBookable": { "type": "boolean" }, "transportType": { "type": "string" }, "segments": { "items": { "$ref": "#/components/schemas/ISearchSegmentWithNullableValues" }, "type": "array" }, "co2g": { "type": "number", "format": "double" }, "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "includedBaggage": { "type": "boolean" } }, "required": [ "origin", "destination", "available", "priceCents", "mean", "departureUTC", "arrivalUTC", "durationMinutes", "originOffset", "destinationOffset", "companies", "score", "id", "isPartiallyBookable", "isFullyBookable", "transportType", "segments", "co2g" ], "type": "object", "additionalProperties": false }, "ILighterSearchResults": { "properties": { "trips": { "properties": { "multimodal": { "items": { "$ref": "#/components/schemas/ILighterSearchTrip" }, "type": "array" }, "carpooling": { "items": { "$ref": "#/components/schemas/ILighterSearchTrip" }, "type": "array" }, "train": { "items": { "$ref": "#/components/schemas/ILighterSearchTrip" }, "type": "array" }, "bus": { "items": { "$ref": "#/components/schemas/ILighterSearchTrip" }, "type": "array" } }, "required": [ "multimodal", "carpooling", "train", "bus" ], "type": "object" }, "complete": { "type": "boolean" } }, "required": [ "trips", "complete" ], "type": "object", "additionalProperties": false }, "Record_string.any_": { "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "IOdDetails": { "properties": { "originUniqueName": { "type": "string" }, "destinationUniqueName": { "type": "string" }, "originLocalName": { "type": "string" }, "destinationLocalName": { "type": "string" }, "originId": { "type": "number", "format": "double" }, "destinationId": { "type": "number", "format": "double" }, "originCountryCode": { "type": "string" }, "destinationCountryCode": { "type": "string" }, "international": { "type": "boolean" } }, "required": [ "originUniqueName", "destinationUniqueName", "originLocalName", "destinationLocalName", "originId", "destinationId", "originCountryCode", "destinationCountryCode", "international" ], "type": "object", "additionalProperties": false }, "Pick_DeviceCreationAttributes.notificationToken-or-platform-or-userAgent-or-deviceId_": { "properties": { "notificationToken": { "type": "string" }, "deviceId": { "type": "string" }, "platform": { "type": "string" }, "userAgent": { "type": "string" } }, "required": [ "notificationToken", "deviceId", "platform", "userAgent" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "CreateDevicePayload": { "$ref": "#/components/schemas/Pick_DeviceCreationAttributes.notificationToken-or-platform-or-userAgent-or-deviceId_" }, "IEditableContent": { "properties": { "id": { "type": "number", "format": "double" }, "state": { "type": "string" }, "priority": { "type": "number", "format": "double" }, "date": { "type": "string", "format": "date-time" }, "content": { "properties": {}, "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "id", "state", "priority", "date", "content" ], "type": "object", "additionalProperties": false }, "Pick_IEditableContent.Exclude_keyofIEditableContent.id-or-date__": { "properties": { "state": { "type": "string" }, "priority": { "type": "number", "format": "double" }, "content": { "properties": {}, "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "state", "priority", "content" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "Omit_IEditableContent.id-or-date_": { "$ref": "#/components/schemas/Pick_IEditableContent.Exclude_keyofIEditableContent.id-or-date__", "description": "Construct a type with the properties of T except for those in type K." }, "Partial_Omit_IEditableContent.id-or-state__": { "properties": { "date": { "type": "string", "format": "date-time" }, "priority": { "type": "number", "format": "double" }, "content": { "properties": {}, "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "description": "Make all properties in T optional" }, "IFeatureFlag": { "properties": { "id": { "type": "number", "format": "double" }, "name": { "type": "string" }, "description": { "type": "string" }, "active": { "type": "boolean" }, "updatedBy": { "type": "string" } }, "required": [ "id", "name", "description", "active", "updatedBy" ], "type": "object", "additionalProperties": false }, "FileContext": { "enum": [ "searchHeader" ], "type": "string" }, "IGeojsonCache": { "properties": { "id": { "type": "number", "format": "double" }, "lat": { "type": "number", "format": "double" }, "lon": { "type": "number", "format": "double" }, "zoom": { "type": "number", "format": "double" }, "date": { "type": "string", "format": "date-time" }, "geojson": { "properties": {}, "additionalProperties": {}, "type": "object" }, "type": { "type": "string" } }, "required": [ "id", "lat", "lon", "zoom", "date", "geojson", "type" ], "type": "object", "additionalProperties": false }, "GenerateGpuidResponse": { "properties": { "name": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "countryCode": { "type": "string" }, "type": { "type": "string" }, "id": { "type": "string" } }, "required": [ "name", "latitude", "longitude", "countryCode", "type", "id" ], "type": "object", "additionalProperties": false }, "GenerateGpuidBody": { "properties": { "name": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "countryCode": { "type": "string" }, "type": { "type": "string" } }, "required": [ "name", "latitude", "longitude", "countryCode", "type" ], "type": "object", "additionalProperties": false }, "IRecordSearchResponse": { "properties": { "searchParts": { "properties": { "returnId": { "type": "number", "format": "double" }, "outwardId": { "type": "number", "format": "double" } }, "required": [ "returnId", "outwardId" ], "type": "object" }, "searchId": { "type": "number", "format": "double" } }, "required": [ "searchParts", "searchId" ], "type": "object", "additionalProperties": false }, "IValidationError": { "properties": { "errorKey": { "type": "string" }, "errorMessage": { "type": "string" }, "fields": { "properties": {}, "additionalProperties": { "properties": { "message": { "type": "string" } }, "required": [ "message" ], "type": "object" }, "type": "object" } }, "required": [ "errorKey", "errorMessage", "fields" ], "type": "object", "additionalProperties": false }, "IRecordSearchPlace": { "properties": { "city": { "type": "number", "format": "double" }, "station": { "type": "number", "format": "double" }, "isNearFrom": { "type": "boolean" } }, "required": [ "city", "isNearFrom" ], "type": "object", "additionalProperties": false }, "CreateUserSearchBody": { "properties": { "origin": { "$ref": "#/components/schemas/IRecordSearchPlace" }, "destination": { "$ref": "#/components/schemas/IRecordSearchPlace" }, "departureDate": { "type": "string" }, "returnDate": { "type": "string", "nullable": true }, "isOneWay": { "type": "boolean" }, "passengersNumber": { "type": "number", "format": "double" }, "refererId": { "type": "string", "nullable": true }, "partnerId": { "type": "string", "nullable": true } }, "required": [ "origin", "destination", "departureDate", "returnDate", "isOneWay", "passengersNumber" ], "type": "object", "additionalProperties": false }, "IEnrichPath": { "properties": { "originCity": { "type": "number", "format": "double" }, "destinationCity": { "type": "number", "format": "double" }, "departureDate": { "type": "string" } }, "required": [ "originCity", "destinationCity", "departureDate" ], "type": "object", "additionalProperties": false }, "TSegmentProvider": { "properties": { "requiresIdentityDocument": { "type": "boolean" }, "fullname": { "type": "string" }, "name": { "type": "string" }, "id": { "type": "number", "format": "double" } }, "required": [ "requiresIdentityDocument", "fullname", "name", "id" ], "type": "object" }, "IApiStopCluster": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "city": { "type": "string" }, "region": { "type": "string" }, "country": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "id", "name", "city", "region", "country", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "IGetStopGroupResponse": { "properties": { "id": { "type": "string" }, "address": { "type": "string" }, "city": { "type": "string" }, "country": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "name": { "type": "string" }, "region": { "type": "string" }, "transportTypes": { "items": { "$ref": "#/components/schemas/EApiTransportType" }, "type": "array" }, "stopClusters": { "items": { "$ref": "#/components/schemas/IApiStopCluster" }, "type": "array" } }, "required": [ "id", "address", "city", "country", "latitude", "longitude", "name", "region", "transportTypes", "stopClusters" ], "type": "object", "additionalProperties": false }, "IApiStopGroupWithTransportTypes": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "city": { "type": "string" }, "region": { "type": "string" }, "country": { "type": "string" }, "address": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "transportTypes": { "items": { "$ref": "#/components/schemas/EApiTransportType" }, "type": "array" } }, "required": [ "id", "name", "city", "region", "country", "address", "latitude", "longitude", "transportTypes" ], "type": "object", "additionalProperties": false }, "IGetStopClusterResponse": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "city": { "type": "string" }, "region": { "type": "string" }, "country": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "transportTypes": { "items": { "$ref": "#/components/schemas/EApiTransportType" }, "type": "array" }, "stopGroups": { "items": { "$ref": "#/components/schemas/IApiStopGroupWithTransportTypes" }, "type": "array" } }, "required": [ "id", "name", "city", "region", "country", "latitude", "longitude", "transportTypes", "stopGroups" ], "type": "object", "additionalProperties": false }, "IApiProvider": { "properties": { "name": { "type": "string" }, "company": { "type": "string" }, "transportType": { "$ref": "#/components/schemas/EApiTransportType" } }, "required": [ "name", "company", "transportType" ], "type": "object", "additionalProperties": false }, "Autocomplete": { "properties": { "id": { "type": "number", "format": "double" }, "unique_name": { "type": "string" }, "local_name": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "new_id": { "type": "string" }, "city_id": { "type": "number", "format": "double" }, "gpuid": { "type": "string" }, "nb_search": { "type": "string" }, "popular": { "type": "boolean" }, "iscity": { "type": "boolean" } }, "required": [ "id", "unique_name", "local_name", "latitude", "longitude", "new_id", "city_id", "gpuid", "nb_search", "popular", "iscity" ], "type": "object", "additionalProperties": false }, "IApiStopGroup": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "city": { "type": "string" }, "region": { "type": "string" }, "country": { "type": "string" }, "address": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "id", "name", "city", "region", "country", "address", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "IApiSegment": { "properties": { "id": { "type": "string" }, "provider": { "$ref": "#/components/schemas/IApiProvider" }, "origin": { "$ref": "#/components/schemas/IApiStopGroup" }, "destination": { "$ref": "#/components/schemas/IApiStopGroup" }, "priceCents": { "type": "number", "format": "double" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "durationMinutes": { "type": "number", "format": "double" }, "transportType": { "$ref": "#/components/schemas/EApiTransportType" }, "vehicleIdentifier": { "type": "string" }, "co2g": { "type": "number", "format": "double" }, "bookingClass": { "type": "string" }, "fareName": { "type": "string" }, "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "includedBaggage": { "type": "boolean" }, "isPresale": { "type": "boolean" } }, "required": [ "id", "provider", "origin", "destination", "priceCents", "departureUTC", "arrivalUTC", "originOffset", "destinationOffset", "durationMinutes", "transportType", "isPresale" ], "type": "object", "additionalProperties": false }, "Pick_IApiTrip.Exclude_keyofIApiTrip.totalFeeCents__": { "properties": { "id": { "type": "string" }, "durationMinutes": { "type": "number", "format": "double" }, "priceCents": { "type": "number", "format": "double" }, "direction": { "$ref": "#/components/schemas/ETripDirection" }, "origin": { "$ref": "#/components/schemas/IApiStopGroup" }, "destination": { "$ref": "#/components/schemas/IApiStopGroup" }, "available": { "type": "boolean" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "transportType": { "$ref": "#/components/schemas/ETripTransport" }, "providers": { "items": { "$ref": "#/components/schemas/IApiProvider" }, "type": "array" }, "segments": { "items": { "$ref": "#/components/schemas/IApiSegment" }, "type": "array" }, "isIdentityDocumentRequired": { "type": "boolean" } }, "required": [ "id", "durationMinutes", "priceCents", "direction", "origin", "destination", "available", "departureUTC", "arrivalUTC", "originOffset", "destinationOffset", "transportType", "providers", "segments", "isIdentityDocumentRequired" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "Omit_IApiTrip.totalFeeCents_": { "$ref": "#/components/schemas/Pick_IApiTrip.Exclude_keyofIApiTrip.totalFeeCents__", "description": "Construct a type with the properties of T except for those in type K." }, "IBundle": { "properties": { "trips": { "items": { "type": "string" }, "type": "array" }, "redirectionLink": { "type": "string" } }, "required": [ "trips", "redirectionLink" ], "type": "object", "additionalProperties": false }, "IApiSearchResponse": { "properties": { "trips": { "properties": {}, "additionalProperties": { "$ref": "#/components/schemas/Omit_IApiTrip.totalFeeCents_" }, "type": "object" }, "bundles": { "items": { "$ref": "#/components/schemas/IBundle" }, "type": "array" } }, "required": [ "trips", "bundles" ], "type": "object", "additionalProperties": false }, "IApiInputPassenger": { "properties": { "age": { "type": "number", "format": "double" } }, "required": [ "age" ], "type": "object", "additionalProperties": false }, "IApiTripTimeFilter": { "description": "Filter about the trip time. Each value is in the form 'YYYY-MM-DDTHH:mm'.", "properties": { "minDepartureTime": { "type": "string" }, "maxDepartureTime": { "type": "string" }, "minArrivalTime": { "type": "string" }, "maxArrivalTime": { "type": "string" } }, "type": "object", "additionalProperties": false }, "IApiTripStopoverFilter": { "description": "Filter about the trip stopovers.", "properties": { "minStopovers": { "type": "number", "format": "double" }, "maxStopovers": { "type": "number", "format": "double" } }, "type": "object", "additionalProperties": false }, "IApiTripDurationFilter": { "description": "Filter about the trip duration. Each value is in minutes.", "properties": { "minDuration": { "type": "number", "format": "double" }, "maxDuration": { "type": "number", "format": "double" } }, "type": "object", "additionalProperties": false }, "IApiTripConnectionFilter": { "description": "Filter about the trip connection distance. Each value is in Km.\nUseful when you want to filter trips with a maximum distance between two stops.", "properties": { "maxConnectionDistance": { "type": "number", "format": "double" } }, "type": "object", "additionalProperties": false }, "IApiTripRelevanceSort": { "description": "Sorts the trips according to their relevance. The relevance of a trip is calculated based on a weighted sum of the normalized price and duration. The weighted sum yields a relevance score that ranges from 0 to 1.\n\nThe weightage given to duration over price is used as follows:\n - A weight of 0: This indicates that only the price is significant in determining the trip's relevance. In this case, trips with lower prices are given higher relevance and are displayed first.\n - A weight of 0.5: This means that both duration and price hold equal significance in determining the trip's relevance. The sorting of trips will balance between lower prices and shorter durations.\n - A weight of 1: This implies that only the duration is significant for determining the trip's relevance. Therefore, trips with shorter durations are considered more relevant and are displayed first.", "properties": { "durationOverPriceFactor": { "type": "number", "format": "double" } }, "required": [ "durationOverPriceFactor" ], "type": "object", "additionalProperties": false }, "IApiTripStopGroupFilter": { "properties": { "originStopGroupIds": { "type": "number", "format": "double" }, "destinationStopGroupIds": { "type": "number", "format": "double" } }, "type": "object", "additionalProperties": false }, "IApiTripProviderFilter": { "description": "Provides to the API the list of providers you want to include or exclude.\nProvider must be provided with their ID which can be found on the (/v2/segmentProviders)[https://developers.tictactrip.eu/api#operation/GetSegmentProviders] endpoint.\n- Included providers: Will trigger search ONLY for the providers you provided.\n- Excluded providers: Will trigger search for all providers EXCEPT the ones you provided.", "properties": { "includedProviders": { "items": { "type": "string" }, "type": "array" }, "excludedProviders": { "items": { "type": "string" }, "type": "array" } }, "type": "object", "additionalProperties": false }, "IApiTripFilter": { "description": "Possible filters for a trip (outbound or return).", "properties": { "timeFilters": { "$ref": "#/components/schemas/IApiTripTimeFilter" }, "stopoverFilters": { "$ref": "#/components/schemas/IApiTripStopoverFilter" }, "durationFilters": { "$ref": "#/components/schemas/IApiTripDurationFilter" }, "connectionFilters": { "$ref": "#/components/schemas/IApiTripConnectionFilter" }, "relevanceSorts": { "$ref": "#/components/schemas/IApiTripRelevanceSort" }, "stopGroupFilters": { "$ref": "#/components/schemas/IApiTripStopGroupFilter" }, "providerFilters": { "$ref": "#/components/schemas/IApiTripProviderFilter" } }, "type": "object", "additionalProperties": false }, "IApiGetResultsParams": { "properties": { "originGpuid": { "type": "string" }, "destinationGpuid": { "type": "string" }, "passengers": { "items": { "$ref": "#/components/schemas/IApiInputPassenger" }, "type": "array" }, "outboundDate": { "type": "string" }, "returnDate": { "type": "string" }, "outboundFilters": { "$ref": "#/components/schemas/IApiTripFilter" }, "returnFilters": { "$ref": "#/components/schemas/IApiTripFilter" } }, "required": [ "originGpuid", "destinationGpuid", "passengers", "outboundDate" ], "type": "object", "additionalProperties": false }, "ISegmentResponse": { "properties": { "originProviderStopId": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "destinationProviderStopId": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "departureUnixUtc": { "type": "number", "format": "double" }, "arrivalUnixUtc": { "type": "number", "format": "double" }, "departureOffset": { "type": "string" }, "arrivalOffset": { "type": "string" }, "cacheDate": { "type": "string" }, "cacheSource": { "type": "string" }, "notAvailableReason": { "allOf": [ { "$ref": "#/components/schemas/ENotAvailableReason" } ], "nullable": true }, "providerId": { "$ref": "#/components/schemas/TBrandId" }, "segmentProviderId": { "$ref": "#/components/schemas/ESegmentProviderId" }, "priceCents": { "type": "number", "format": "double" }, "durationMinutes": { "type": "number", "format": "double" }, "availableSeats": { "type": "number", "format": "double", "nullable": true }, "id": { "$ref": "#/components/schemas/TSegmentId" }, "brandName": { "type": "string" }, "transportType": { "$ref": "#/components/schemas/ETransportType" }, "isAvailable": { "type": "boolean" }, "segmentProviderBrandId": { "$ref": "#/components/schemas/TSegmentProviderBrandId" }, "isBookable": { "type": "boolean" }, "redirectionLink": { "type": "string" }, "feeCents": { "type": "number", "format": "double" }, "includedProviderFeeCents": { "type": "number", "format": "double" }, "segmentProviderSegmentRefId": { "type": "string" }, "vehicleIdentifier": { "type": "string", "description": "The identifier for the physical transportation mean. Has to be set for it to be a candidate for a partial cache update." }, "co2g": { "type": "number", "format": "double" }, "bookingClass": { "type": "string" }, "fareName": { "type": "string" }, "conditionsName": { "type": "string" }, "conditions": { "items": { "type": "string" }, "type": "array" }, "includedBaggage": { "type": "boolean" }, "seatPreferences": { "items": { "$ref": "#/components/schemas/ESeatPreferences" }, "type": "array" }, "isPresale": { "type": "boolean" } }, "required": [ "originProviderStopId", "destinationProviderStopId", "departureUnixUtc", "arrivalUnixUtc", "departureOffset", "arrivalOffset", "notAvailableReason", "segmentProviderId", "priceCents", "id", "brandName", "transportType", "durationMinutes", "isAvailable", "feeCents", "includedProviderFeeCents", "co2g", "includedBaggage", "availableSeats", "isPresale" ], "type": "object", "additionalProperties": false }, "orderNotificationMailType": { "type": "string", "enum": [ "NOTIFICATION_1" ], "nullable": false }, "IOrderNotification": { "properties": { "id": { "type": "number", "format": "double" }, "orderId": { "type": "string" }, "messageId": { "type": "string" }, "version": { "type": "string" }, "mailType": { "$ref": "#/components/schemas/orderNotificationMailType" }, "templateId": { "type": "number", "format": "double" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time", "nullable": true }, "deletedAt": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "orderId", "messageId", "version", "mailType", "templateId", "createdAt", "updatedAt", "deletedAt" ], "type": "object", "additionalProperties": false }, "Pick_IOrderNotification.messageId-or-version-or-mailType-or-templateId_": { "properties": { "messageId": { "type": "string" }, "version": { "type": "string" }, "mailType": { "$ref": "#/components/schemas/orderNotificationMailType" }, "templateId": { "type": "number", "format": "double" } }, "required": [ "messageId", "version", "mailType", "templateId" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "ICreateOrderNotificationBody": { "$ref": "#/components/schemas/Pick_IOrderNotification.messageId-or-version-or-mailType-or-templateId_" }, "IFormatedOrderCustomer": { "properties": { "email": { "type": "string" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" } }, "required": [ "email", "title", "firstName", "lastName" ], "type": "object", "additionalProperties": false }, "IGetOrder": { "properties": { "orderId": { "type": "string" }, "customer": { "$ref": "#/components/schemas/IFormatedOrderCustomer" }, "cart": { "properties": { "outboundTrip": { "properties": { "destination": { "properties": { "arrivalOffset": { "type": "string" }, "arrivalUnixUtc": { "type": "number", "format": "double" }, "city": { "type": "string" } }, "required": [ "arrivalOffset", "arrivalUnixUtc", "city" ], "type": "object" }, "origin": { "properties": { "departureOffset": { "type": "string" }, "departureUnixUtc": { "type": "number", "format": "double" }, "city": { "type": "string" } }, "required": [ "departureOffset", "departureUnixUtc", "city" ], "type": "object" } }, "required": [ "destination", "origin" ], "type": "object" } }, "required": [ "outboundTrip" ], "type": "object" }, "orderNotifications": { "items": { "$ref": "#/components/schemas/IOrderNotification" }, "type": "array" } }, "required": [ "orderId", "customer", "cart", "orderNotifications" ], "type": "object", "additionalProperties": false }, "OrderStatus": { "additionalProperties": false, "type": "object", "description": "{@inheritDoc}" }, "IOrderStatus": { "properties": { "status": { "$ref": "#/components/schemas/EOrderStatus" }, "errorKey": { "type": "string" } }, "required": [ "status" ], "type": "object", "additionalProperties": false }, "EOrderStatus.SUCCESS": { "enum": [ "SUCCESS" ], "type": "string" }, "EOrderStatus.CANCELED": { "enum": [ "CANCELED" ], "type": "string" }, "EOrderRefundStatus": { "enum": [ "CREATED", "ACCEPTED", "INPROGRESS", "ERRORED" ], "type": "string" }, "ERefundType": { "enum": [ "CASH" ], "type": "string" }, "IOrderRefundStatus": { "properties": { "id": { "type": "number", "format": "double" }, "orderId": { "type": "string" }, "status": { "$ref": "#/components/schemas/EOrderRefundStatus" }, "message": { "type": "string", "nullable": true }, "refundAmountCents": { "type": "number", "format": "double" }, "reason": { "type": "string" }, "refundBy": { "type": "string" }, "refundType": { "$ref": "#/components/schemas/ERefundType" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "orderId", "status", "message", "refundAmountCents", "reason", "refundBy", "refundType", "createdAt", "updatedAt", "deletedAt" ], "type": "object", "additionalProperties": false }, "Pick_IOrderRefundStatus.status-or-message-or-refundAmountCents-or-reason-or-refundBy-or-refundType_": { "properties": { "status": { "$ref": "#/components/schemas/EOrderRefundStatus" }, "message": { "type": "string", "nullable": true }, "refundAmountCents": { "type": "number", "format": "double" }, "reason": { "type": "string" }, "refundBy": { "type": "string" }, "refundType": { "$ref": "#/components/schemas/ERefundType" } }, "required": [ "status", "message", "refundAmountCents", "reason", "refundBy", "refundType" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "ICreateOrderRefundStatusBody": { "$ref": "#/components/schemas/Pick_IOrderRefundStatus.status-or-message-or-refundAmountCents-or-reason-or-refundBy-or-refundType_" }, "GetOrderTicketResponse": { "properties": { "id": { "type": "number", "format": "double" }, "originStopClusterGpuid": { "type": "string" }, "destinationStopClusterGpuid": { "type": "string" }, "originStopGroupGpuid": { "type": "string" }, "destinationStopGroupGpuid": { "type": "string" }, "departureUnixUtc": { "type": "number", "format": "double" }, "departureOffset": { "type": "string" }, "arrivalUnixUtc": { "type": "number", "format": "double" }, "arrivalOffset": { "type": "string" }, "brandId": { "type": "number", "format": "double" }, "isBookable": { "type": "boolean" }, "priceCents": { "type": "number", "format": "double" }, "feeCents": { "type": "number", "format": "double" }, "orderId": { "type": "string" }, "orderCreatedAt": { "type": "string" }, "lockData": { "type": "string" }, "segmentProviderSegmentRefId": { "type": "string" } }, "required": [ "id", "originStopClusterGpuid", "destinationStopClusterGpuid", "originStopGroupGpuid", "destinationStopGroupGpuid", "departureUnixUtc", "departureOffset", "arrivalUnixUtc", "arrivalOffset", "brandId", "isBookable", "priceCents", "feeCents", "orderId", "orderCreatedAt", "lockData", "segmentProviderSegmentRefId" ], "type": "object", "additionalProperties": false }, "GetPresoldFutureOrderTicketsResponse": { "properties": { "pagination": { "properties": { "hasPreviousPage": { "type": "boolean" }, "hasNextPage": { "type": "boolean" }, "totalPages": { "type": "number", "format": "double" }, "totalItems": { "type": "number", "format": "double" }, "pageSize": { "type": "number", "format": "double" }, "currentPage": { "type": "number", "format": "double" } }, "required": [ "hasPreviousPage", "hasNextPage", "totalPages", "totalItems", "pageSize", "currentPage" ], "type": "object" }, "data": { "items": { "$ref": "#/components/schemas/GetOrderTicketResponse" }, "type": "array" } }, "required": [ "pagination", "data" ], "type": "object" }, "OrderTicket": { "additionalProperties": false, "type": "object", "description": "{@inheritDoc}" }, "IUpdateOrderTicketBody": { "properties": { "priceCents": { "type": "number", "format": "double" }, "lockData": { "type": "string" }, "cancelledAt": { "type": "string", "format": "date-time" }, "scheduledBookingDate": { "type": "string", "format": "date-time", "nullable": true } }, "type": "object", "additionalProperties": false }, "TCreateOrderTicketVirtualCard": { "properties": { "cvc": { "type": "string" }, "expiryMonth": { "type": "string" }, "expiryYear": { "type": "string" }, "numbers": { "type": "string" } }, "required": [ "cvc", "expiryMonth", "expiryYear", "numbers" ], "type": "object" }, "TBookableTicketId": { "type": "string" }, "IBookingCancellationConditions": { "properties": { "isCancellable": { "type": "boolean", "description": "Specifies whether the booking is cancellable or not" }, "feeCents": { "type": "number", "format": "double", "nullable": true, "description": "The fee in cents that applies to the cancellation and must be deducted from the price to calculate the refund value" }, "cutoff": { "type": "string", "nullable": true, "description": "The date (deadline) in ISO 8601 format by which the booking can be cancelled for a cost of `feeCents`. e.g. 2021-06-15T06:05:00.000Z" }, "bookingId": { "$ref": "#/components/schemas/TBookableTicketId", "description": "Booking id" }, "isRefundedByVoucher": { "type": "boolean", "description": "Specifies whether the booking is reimbursed with coupons or not" } }, "required": [ "isCancellable", "feeCents", "bookingId", "isRefundedByVoucher" ], "type": "object", "additionalProperties": false }, "OrderTicketCancellationStatus": { "additionalProperties": false, "type": "object", "description": "{@inheritDoc}" }, "EOrderTicketCancellationStatus": { "enum": [ "ACCEPTED", "CREATED", "ERRORED", "INPROGRESS", "REFUNDED" ], "type": "string" }, "Partial_ICancellationStatusPayload_": { "properties": { "message": { "type": "string" }, "status": { "type": "string", "enum": [ "ACCEPTED", "CREATED", "ERRORED", "INPROGRESS", "REFUNDED" ], "nullable": false }, "refundedAmountCents": { "type": "number", "format": "double" }, "refundType": { "type": "string", "enum": [ "CASH", "FLIXBUS_VOUCHER", "BLABLABUS_VOUCHER" ], "nullable": false }, "refundExpirationDateUtc": { "type": "string", "format": "date-time" } }, "type": "object", "description": "Make all properties in T optional" }, "IOrderTicketUpdate": { "properties": { "trip": { "type": "number", "format": "double" }, "isBookable": { "type": "boolean" }, "brandId": { "type": "number", "format": "double" }, "segmentProviderSegmentRefId": { "type": "string" }, "originStopClusterGpuid": { "type": "string" }, "destinationStopClusterGpuid": { "type": "string" }, "departureUnixUtc": { "type": "string" }, "departureOffset": { "type": "string" }, "arrivalUnixUtc": { "type": "string" }, "arrivalOffset": { "type": "string" }, "priceCents": { "type": "number", "format": "double" }, "feeCents": { "type": "number", "format": "double" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "type": "string" }, "originStopGroupGpuid": { "type": "string" }, "destinationStopGroupGpuid": { "type": "string" }, "redirectUrl": { "type": "string" }, "lockData": { "type": "string" }, "vehicleIdentifier": { "type": "string" }, "co2g": { "type": "number", "format": "double" }, "bookingClass": { "type": "string" }, "fareName": { "type": "string" }, "conditionsName": { "type": "string" }, "conditions": { "type": "string" }, "cacheDate": { "type": "string" }, "includedProviderFeeCents": { "type": "number", "format": "double" }, "cancelledAt": { "type": "string" }, "cacheSource": { "type": "string" }, "isAvailable": { "type": "boolean" }, "availableSeats": { "type": "string" } }, "required": [ "trip", "isBookable", "brandId", "segmentProviderSegmentRefId", "originStopClusterGpuid", "destinationStopClusterGpuid", "departureUnixUtc", "departureOffset", "arrivalUnixUtc", "arrivalOffset", "priceCents", "feeCents", "createdAt", "updatedAt", "deletedAt", "originStopGroupGpuid", "destinationStopGroupGpuid", "redirectUrl", "lockData", "vehicleIdentifier", "co2g", "bookingClass", "fareName", "conditionsName", "conditions", "cacheDate", "includedProviderFeeCents", "cancelledAt", "cacheSource", "isAvailable", "availableSeats" ], "type": "object", "additionalProperties": false }, "IRefundBookingPayload": { "properties": { "amountToRefundCents": { "type": "number", "format": "double" } }, "required": [ "amountToRefundCents" ], "type": "object", "additionalProperties": false }, "GetPresoldFutureOrderTripsResponse": { "properties": { "pagination": { "properties": { "hasPreviousPage": { "type": "boolean" }, "hasNextPage": { "type": "boolean" }, "totalPages": { "type": "number", "format": "double" }, "totalItems": { "type": "number", "format": "double" }, "pageSize": { "type": "number", "format": "double" }, "currentPage": { "type": "number", "format": "double" } }, "required": [ "hasPreviousPage", "hasNextPage", "totalPages", "totalItems", "pageSize", "currentPage" ], "type": "object" }, "data": { "items": { "$ref": "#/components/schemas/IClientTrip" }, "type": "array" } }, "required": [ "pagination", "data" ], "type": "object" }, "ServiceDate": { "properties": { "year": { "type": "number", "format": "double" }, "month": { "type": "number", "format": "double" }, "day": { "type": "number", "format": "double" } }, "required": [ "year", "month", "day" ], "type": "object", "additionalProperties": false }, "StopTime": { "properties": { "year": { "type": "number", "format": "double" }, "month": { "type": "number", "format": "double" }, "day": { "type": "number", "format": "double" }, "hours": { "type": "number", "format": "double" }, "minutes": { "type": "number", "format": "double" }, "seconds": { "type": "number", "format": "double" }, "nanos": { "type": "number", "format": "double" }, "utc_offset": { "type": "string" } }, "required": [ "year", "month", "day", "hours", "minutes", "seconds", "nanos", "utc_offset" ], "type": "object", "additionalProperties": false }, "SegmentKey": { "properties": { "ticketing_trip_id": { "type": "string" }, "from_ticketing_stop_time_id": { "type": "string" }, "to_ticketing_stop_time_id": { "type": "string" }, "service_date": { "$ref": "#/components/schemas/ServiceDate" }, "boarding_time": { "$ref": "#/components/schemas/StopTime" }, "arrival_time": { "$ref": "#/components/schemas/StopTime" } }, "required": [ "ticketing_trip_id", "from_ticketing_stop_time_id", "to_ticketing_stop_time_id", "service_date", "boarding_time", "arrival_time" ], "type": "object", "additionalProperties": false }, "Itinerary": { "properties": { "segment_keys": { "items": { "$ref": "#/components/schemas/SegmentKey" }, "type": "array" } }, "required": [ "segment_keys" ], "type": "object", "additionalProperties": false }, "ServiceClass": { "properties": { "type": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "Segment": { "properties": { "service_class": { "$ref": "#/components/schemas/ServiceClass" } }, "required": [ "service_class" ], "type": "object", "additionalProperties": false }, "Amount": { "properties": { "units": { "type": "number", "format": "double" }, "nanos": { "type": "number", "format": "double" }, "currency_code": { "type": "string" } }, "required": [ "units", "nanos", "currency_code" ], "type": "object", "additionalProperties": false }, "LineItem": { "properties": { "line_item_type": { "type": "string" }, "amount": { "$ref": "#/components/schemas/Amount" } }, "required": [ "line_item_type", "amount" ], "type": "object", "additionalProperties": false }, "LowestStandardFare": { "properties": { "total_amount": { "$ref": "#/components/schemas/Amount" }, "line_items": { "items": { "$ref": "#/components/schemas/LineItem" }, "type": "array" } }, "required": [ "total_amount", "line_items" ], "type": "object", "additionalProperties": false }, "Available": { "properties": { "available_seat_count": { "type": "number", "format": "double" }, "total_seat_count": { "type": "number", "format": "double" } }, "required": [ "available_seat_count", "total_seat_count" ], "type": "object", "additionalProperties": false }, "Availability": { "properties": { "available": { "anyOf": [ { "$ref": "#/components/schemas/Available" }, { "additionalProperties": false, "type": "object" } ] } }, "required": [ "available" ], "type": "object", "additionalProperties": false }, "TripOption": { "properties": { "segments": { "items": { "$ref": "#/components/schemas/Segment" }, "type": "array" }, "lowest_standard_fare": { "$ref": "#/components/schemas/LowestStandardFare" }, "availability": { "$ref": "#/components/schemas/Availability" } }, "required": [ "segments", "lowest_standard_fare", "availability" ], "type": "object", "additionalProperties": false }, "TripOptionSet": { "properties": { "trip_options": { "items": { "$ref": "#/components/schemas/TripOption" }, "type": "array" } }, "required": [ "trip_options" ], "type": "object", "additionalProperties": false }, "ItineraryResponse": { "properties": { "itinerary": { "$ref": "#/components/schemas/Itinerary" }, "trip_option_set": { "$ref": "#/components/schemas/TripOptionSet" } }, "required": [ "itinerary", "trip_option_set" ], "type": "object", "additionalProperties": false }, "BulkTripOptionsResult": { "properties": { "itinerary_responses": { "items": { "$ref": "#/components/schemas/ItineraryResponse" }, "type": "array" } }, "required": [ "itinerary_responses" ], "type": "object", "additionalProperties": false }, "IGetBulkTripOptionsResponse": { "properties": { "bulk_trip_options_result": { "$ref": "#/components/schemas/BulkTripOptionsResult" } }, "required": [ "bulk_trip_options_result" ], "type": "object", "additionalProperties": false }, "ITripOptionsError": { "properties": { "trip_options_error": { "properties": { "error_type": { "type": "string" }, "error_message": { "type": "string" } }, "required": [ "error_type", "error_message" ], "type": "object" } }, "required": [ "trip_options_error" ], "type": "object", "additionalProperties": false }, "MarketDate": { "properties": { "origin_ticketing_stop_id": { "type": "string" }, "destination_ticketing_stop_id": { "type": "string" }, "departure_date": { "$ref": "#/components/schemas/ServiceDate" } }, "required": [ "origin_ticketing_stop_id", "destination_ticketing_stop_id", "departure_date" ], "type": "object", "additionalProperties": false }, "IGetBulkTripOptionsRequestPayload": { "properties": { "market_dates": { "items": { "$ref": "#/components/schemas/MarketDate" }, "type": "array" }, "known_itineraries": { "items": {}, "type": "array" }, "only_known_itineraries": { "type": "boolean" } }, "required": [ "market_dates" ], "type": "object", "additionalProperties": false }, "IPartner": { "properties": { "id": { "type": "string" }, "gpuids": { "items": { "type": "string" }, "type": "array" }, "placeholder": { "type": "string" }, "header": { "type": "string" }, "subHeader": { "type": "string" }, "primaryColor": { "type": "string" }, "secondaryColor": { "type": "string" }, "backgroundUrl": { "type": "string" }, "logoUrl": { "type": "string" } }, "required": [ "id" ], "type": "object", "additionalProperties": false }, "IGetOrdersResponse": { "properties": { "orders": { "items": { "$ref": "#/components/schemas/ISerializedOrder" }, "type": "array" }, "pagination": { "properties": { "hasPreviousPage": { "type": "boolean" }, "hasNextPage": { "type": "boolean" }, "totalPages": { "type": "number", "format": "double" }, "totalItems": { "type": "number", "format": "double" }, "itemsPerPage": { "type": "number", "format": "double" }, "currentPage": { "type": "number", "format": "double" } }, "required": [ "hasPreviousPage", "hasNextPage", "totalPages", "totalItems", "itemsPerPage", "currentPage" ], "type": "object" } }, "required": [ "orders", "pagination" ], "type": "object", "additionalProperties": false }, "IPassengerCategories": { "properties": { "name": { "type": "string" }, "min_age": { "type": "number", "format": "double" }, "max_age": { "type": "number", "format": "double" }, "age_required": { "type": "boolean" } }, "required": [ "name", "min_age", "max_age", "age_required" ], "type": "object", "additionalProperties": false }, "PaylineBuyer": { "properties": { "email": { "type": "string" }, "title": { "type": "string" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "customerId": { "type": "string" }, "shippingAdress": { "type": "string" }, "billingAddress": { "type": "string" }, "accountCreateDate": { "type": "string" }, "birthDate": { "type": "string" }, "ip": { "type": "string", "description": "IP address of the buyer" } }, "required": [ "email", "title", "lastName", "firstName", "customerId" ], "type": "object", "additionalProperties": false }, "Payment": { "additionalProperties": false, "type": "object", "description": "{@inheritDoc}" }, "UpdatePaymentStatusRequestBody": { "properties": { "paymentStatus": { "$ref": "#/components/schemas/EPaymentStatus" }, "pspMetadata": { "properties": { "longMessage": { "type": "string" }, "shortMessage": { "$ref": "#/components/schemas/EPaymentStatus" }, "code": { "type": "string" } }, "required": [ "longMessage", "shortMessage", "code" ], "type": "object" } }, "required": [ "paymentStatus" ], "type": "object", "additionalProperties": false }, "ICityConnection": { "properties": { "providers": { "items": { "$ref": "#/components/schemas/ESegmentProviderId" }, "type": "array" }, "distance": { "type": "number", "format": "double" }, "destinationCluster": { "properties": { "localName": { "type": "string" }, "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" }, "gpuid": { "type": "string" }, "id": { "type": "number", "format": "double" } }, "required": [ "localName", "longitude", "latitude", "gpuid", "id" ], "type": "object" }, "originCluster": { "properties": { "localName": { "type": "string" }, "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" }, "gpuid": { "type": "string" }, "id": { "type": "number", "format": "double" } }, "required": [ "localName", "longitude", "latitude", "gpuid", "id" ], "type": "object" } }, "required": [ "providers", "distance", "destinationCluster", "originCluster" ], "type": "object" }, "ISegmentPresaleResponse": { "properties": { "priceCents": { "type": "number", "format": "double" }, "averageDurationMinutes": { "type": "number", "format": "double" }, "metadata": {} }, "required": [ "priceCents", "averageDurationMinutes" ], "type": "object", "additionalProperties": false }, "IPricingResponse_ISegmentResponse_": { "properties": { "cityConnection": { "$ref": "#/components/schemas/ICityConnection" }, "liveSearchResults": { "items": { "$ref": "#/components/schemas/ISegmentResponse" }, "type": "array" }, "presaleSearchResults": { "$ref": "#/components/schemas/ISegmentPresaleResponse" }, "originStopCluster": { "type": "string" }, "destinationStopCluster": { "type": "string" }, "companyId": { "$ref": "#/components/schemas/ESegmentProviderId" } }, "required": [ "cityConnection", "originStopCluster", "destinationStopCluster", "companyId" ], "type": "object", "additionalProperties": false }, "EPrebookStatus": { "enum": [ "NOT_YET_BOOKABLE", "BOOKABLE", "BOOKED", "ERRORED", "REFUNDED" ], "type": "string" }, "IPresaleTicket": { "allOf": [ { "$ref": "#/components/schemas/IClientSegment" }, { "properties": { "saleOpeningDate": { "type": "string" }, "prebookStatus": { "$ref": "#/components/schemas/EPrebookStatus" } }, "required": [ "saleOpeningDate", "prebookStatus" ], "type": "object" } ] }, "ISerializedTrip_IPresaleTicket_": { "properties": { "id": { "type": "string" }, "uuid": { "type": "string" }, "origin": { "$ref": "#/components/schemas/TClientPlace" }, "destination": { "$ref": "#/components/schemas/TClientPlace" }, "priceCents": { "type": "number", "format": "double" }, "feeCents": { "type": "number", "format": "double" }, "paidPrice": { "type": "number", "format": "double" }, "departureUTC": { "type": "number", "format": "double" }, "arrivalUTC": { "type": "number", "format": "double" }, "originOffset": { "type": "string" }, "destinationOffset": { "type": "string" }, "durationMinutes": { "type": "number", "format": "double" }, "companies": { "items": { "type": "string" }, "type": "array" }, "mean": { "$ref": "#/components/schemas/ETripTransport" }, "segments": { "items": { "$ref": "#/components/schemas/IPresaleTicket" }, "type": "array" }, "co2g": { "type": "number", "format": "double" }, "vehicleIdentifier": { "type": "string" } }, "required": [ "id", "origin", "destination", "priceCents", "feeCents", "paidPrice", "departureUTC", "arrivalUTC", "originOffset", "destinationOffset", "durationMinutes", "companies", "mean", "segments", "co2g" ], "type": "object", "additionalProperties": false }, "IPresaleTrip": { "$ref": "#/components/schemas/ISerializedTrip_IPresaleTicket_" }, "ISerializedOrder_IPresaleTrip_": { "properties": { "id": { "type": "string" }, "paidPrice": { "type": "number", "format": "double" }, "rawPrice": { "type": "number", "format": "double" }, "totalPrice": { "type": "number", "format": "double" }, "orderDate": { "type": "string" }, "cartId": { "type": "string" }, "partnerId": { "type": "string" }, "orderStatus": { "$ref": "#/components/schemas/EOrderStatus" }, "trips": { "properties": { "returnTrip": { "$ref": "#/components/schemas/IPresaleTrip" }, "outboundTrip": { "$ref": "#/components/schemas/IPresaleTrip" } }, "required": [ "outboundTrip" ], "type": "object" }, "passengers": { "items": { "$ref": "#/components/schemas/TClientPassenger" }, "type": "array" }, "customer": { "$ref": "#/components/schemas/TClientCustomer" }, "error": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "paymentStatus": { "$ref": "#/components/schemas/EPaymentStatus" } }, "required": [ "id", "paidPrice", "rawPrice", "totalPrice", "orderDate", "orderStatus", "trips", "passengers", "customer", "paymentStatus" ], "type": "object", "additionalProperties": false }, "IReducedCityConnection": { "properties": { "originCluster": { "properties": { "gpuid": { "type": "string" } }, "required": [ "gpuid" ], "type": "object" }, "destinationCluster": { "properties": { "gpuid": { "type": "string" } }, "required": [ "gpuid" ], "type": "object" } }, "required": [ "originCluster", "destinationCluster" ], "type": "object", "additionalProperties": false }, "PriceCalendarServiceTrip": { "properties": { "numberOfStops": { "type": "number", "format": "double" }, "companies": { "items": { "type": "string" }, "type": "array" }, "transportType": { "type": "string" }, "priceCents": { "type": "number", "format": "double" }, "durationMinutes": { "type": "number", "format": "double" }, "arrivalOffset": { "type": "string" }, "arrivalUnixUtc": { "type": "number", "format": "double" }, "departureOffset": { "type": "string" }, "departureUnixUtc": { "type": "number", "format": "double" } }, "required": [ "numberOfStops", "companies", "transportType", "priceCents", "durationMinutes", "arrivalOffset", "arrivalUnixUtc", "departureOffset", "departureUnixUtc" ], "type": "object" }, "PriceCalendarDate": { "properties": { "trip": { "allOf": [ { "$ref": "#/components/schemas/PriceCalendarServiceTrip" } ], "nullable": true }, "date": { "type": "string" } }, "required": [ "trip", "date" ], "type": "object" }, "PriceCalendar": { "items": { "$ref": "#/components/schemas/PriceCalendarDate" }, "type": "array" }, "Record_number.IAggregatedPriceHistory-or-null_": { "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "PriceHistoryByTimeframeDay": { "$ref": "#/components/schemas/Record_number.IAggregatedPriceHistory-or-null_" }, "ICompanyStations": { "properties": { "id": { "type": "number", "format": "double" }, "company_id": { "type": "number", "format": "double" }, "original_id": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "station_name": { "type": "string" }, "unique_name": { "type": "string" }, "serviced": { "type": "boolean" }, "geojson": { "type": "number", "format": "double" } }, "required": [ "id", "company_id", "original_id", "latitude", "longitude", "station_name", "unique_name", "serviced", "geojson" ], "type": "object", "additionalProperties": false }, "IGetSegmentProviderStopResponse": { "properties": { "segmentProviderStop": { "$ref": "#/components/schemas/ICompanyStations" } }, "required": [ "segmentProviderStop" ], "type": "object", "additionalProperties": false }, "ISegmentProviderStopPlaceInput": { "properties": { "id": { "$ref": "#/components/schemas/TSegmentProviderStopId" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "id", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "ISearchSegmentProviderStopOriginDestination": { "properties": { "origin": { "$ref": "#/components/schemas/ISegmentProviderStopPlaceInput" }, "destination": { "$ref": "#/components/schemas/ISegmentProviderStopPlaceInput" } }, "required": [ "origin", "destination" ], "type": "object", "additionalProperties": false }, "ISearchSegmentProviderStopOriginDestinationCardinality": { "allOf": [ { "$ref": "#/components/schemas/ISearchSegmentProviderStopOriginDestination" }, { "properties": { "count": { "type": "number", "format": "double" } }, "required": [ "count" ], "type": "object" } ] }, "IGetRouteIdsResponse": { "properties": { "routes": { "items": { "type": "string" }, "type": "array" } }, "required": [ "routes" ], "type": "object", "additionalProperties": false }, "ISegmentProviderStopIdPair": { "properties": { "origin": { "type": "string" }, "destination": { "type": "string" } }, "required": [ "origin", "destination" ], "type": "object", "additionalProperties": false }, "IProviderOD": { "properties": { "originId": { "type": "string" }, "originName": { "type": "string" }, "destinationId": { "type": "string" }, "coordinates": { "properties": { "destination": { "properties": { "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "latitude", "longitude" ], "type": "object" }, "origin": { "properties": { "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "latitude", "longitude" ], "type": "object" } }, "required": [ "destination", "origin" ], "type": "object" }, "destinationName": { "type": "string" }, "providerName": { "type": "string" } }, "required": [ "originId", "originName", "destinationId", "coordinates", "destinationName", "providerName" ], "type": "object", "additionalProperties": false }, "TSegmentProviderStopClusterId": { "type": "string" }, "ISegmentProviderStopClusterPlaceInput": { "properties": { "id": { "$ref": "#/components/schemas/TSegmentProviderStopClusterId" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "id", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "ISearchSegmentProviderStopClusterOriginDestination": { "properties": { "origin": { "$ref": "#/components/schemas/ISegmentProviderStopClusterPlaceInput" }, "destination": { "$ref": "#/components/schemas/ISegmentProviderStopClusterPlaceInput" } }, "required": [ "origin", "destination" ], "type": "object", "additionalProperties": false }, "TStopClusterId": { "type": "number", "format": "double" }, "IStopClusterPlaceInput": { "properties": { "id": { "$ref": "#/components/schemas/TStopClusterId" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "unique_name": { "type": "string" }, "local_name": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "ISearchStopClusterOriginDestination": { "properties": { "origin": { "$ref": "#/components/schemas/IStopClusterPlaceInput" }, "destination": { "$ref": "#/components/schemas/IStopClusterPlaceInput" } }, "required": [ "origin", "destination" ], "type": "object", "additionalProperties": false }, "ISegmentProviderStop": { "properties": { "id": { "type": "string" }, "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" } }, "required": [ "id", "longitude", "latitude" ], "type": "object", "additionalProperties": false }, "ISegmentProviderStopPair": { "properties": { "companyId": { "$ref": "#/components/schemas/ESegmentProviderId" }, "origin": { "$ref": "#/components/schemas/ISegmentProviderStop" }, "destination": { "$ref": "#/components/schemas/ISegmentProviderStop" } }, "required": [ "companyId", "origin", "destination" ], "type": "object", "additionalProperties": false }, "TApiStopGroupUrl": { "properties": { "id": { "type": "string" }, "address": { "type": "string" }, "city": { "type": "string" }, "country": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "name": { "type": "string" }, "region": { "type": "string" }, "transportTypes": { "items": { "$ref": "#/components/schemas/EApiTransportType" }, "type": "array" }, "stopClusters": { "items": { "$ref": "#/components/schemas/IApiStopCluster" }, "type": "array" }, "pageId": { "type": "string" } }, "required": [ "id", "address", "city", "country", "latitude", "longitude", "name", "region", "transportTypes", "stopClusters", "pageId" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfApplicationPeriod": { "properties": { "begin": { "type": "string" }, "end": { "type": "string" } }, "required": [ "begin", "end" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfImpactedStop": { "properties": { "amendedArrivalTime": { "type": "string" }, "amendedDepartureTime": { "type": "string" }, "baseDepartureTime": { "type": "string" }, "baseArrivalTime": { "type": "string" }, "isDetour": { "type": "boolean" }, "cause": { "type": "string" }, "arrivalStatus": { "type": "string" }, "departureStatus": { "type": "string" }, "stationName": { "type": "string" }, "stopTimeEffect": { "type": "string" } }, "required": [ "amendedArrivalTime", "amendedDepartureTime", "baseDepartureTime", "baseArrivalTime", "isDetour", "cause", "arrivalStatus", "departureStatus", "stationName", "stopTimeEffect" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfImpactedObject": { "properties": { "impactedStops": { "items": { "$ref": "#/components/schemas/IOpenDataSncfImpactedStop" }, "type": "array" }, "ptObject": { "properties": { "tripName": { "type": "string" }, "tripId": { "type": "string" }, "name": { "type": "string" }, "quality": { "type": "number", "format": "double" }, "id": { "type": "string" }, "embeddedType": { "type": "string" } }, "required": [ "tripName", "tripId", "name", "quality", "id", "embeddedType" ], "type": "object" } }, "required": [ "impactedStops", "ptObject" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfDisruption": { "properties": { "status": { "type": "string" }, "disruptionId": { "type": "string" }, "name": { "type": "string" }, "effect": { "type": "string" }, "impactId": { "type": "string" }, "applicationPeriods": { "items": { "$ref": "#/components/schemas/IOpenDataSncfApplicationPeriod" }, "type": "array" }, "updatedAt": { "type": "string" }, "impactedObjects": { "items": { "$ref": "#/components/schemas/IOpenDataSncfImpactedObject" }, "type": "array" } }, "required": [ "status", "disruptionId", "name", "effect", "impactId", "applicationPeriods", "updatedAt", "impactedObjects" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfDisplayInformations": { "properties": { "direction": { "type": "string" }, "network": { "type": "string" }, "name": { "type": "string" }, "physicalMode": { "type": "string" }, "headsign": { "type": "string" }, "label": { "type": "string" }, "tripShortName": { "type": "string" }, "commercialMode": { "type": "string" }, "description": { "type": "string" }, "arrivalDateTime": { "type": "string" }, "departureDateTime": { "type": "string" }, "baseArrivalDateTime": { "type": "string" }, "baseDepartureDateTime": { "type": "string" }, "dataFreshness": { "type": "string" } }, "required": [ "direction", "network", "name", "physicalMode", "headsign", "label", "tripShortName", "commercialMode", "description", "arrivalDateTime", "departureDateTime", "baseArrivalDateTime", "baseDepartureDateTime", "dataFreshness" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfServiceDepartureResponse": { "properties": { "disruptions": { "items": { "$ref": "#/components/schemas/IOpenDataSncfDisruption" }, "type": "array" }, "departures": { "items": { "$ref": "#/components/schemas/IOpenDataSncfDisplayInformations" }, "type": "array" } }, "required": [ "disruptions", "departures" ], "type": "object", "additionalProperties": false }, "IStopGroupConnections": { "properties": { "origin": { "properties": { "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" }, "id": { "type": "string" } }, "required": [ "longitude", "latitude", "id" ], "type": "object" }, "destination": { "properties": { "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" }, "id": { "type": "string" } }, "required": [ "longitude", "latitude", "id" ], "type": "object" } }, "required": [ "origin", "destination" ], "type": "object", "additionalProperties": false }, "IOpenDataSncfServiceArrivalResponse": { "properties": { "disruptions": { "items": { "$ref": "#/components/schemas/IOpenDataSncfDisruption" }, "type": "array" }, "arrivals": { "items": { "$ref": "#/components/schemas/IOpenDataSncfDisplayInformations" }, "type": "array" } }, "required": [ "disruptions", "arrivals" ], "type": "object", "additionalProperties": false }, "IStopGroupProviderData": { "properties": { "provider": { "type": "string" }, "trainsPerDay": { "type": "number", "format": "double" }, "firstDeparture": { "type": "string" }, "lastDeparture": { "type": "string" }, "firstArrival": { "type": "string" }, "lastArrival": { "type": "string" } }, "required": [ "provider", "trainsPerDay", "firstDeparture", "lastDeparture", "firstArrival", "lastArrival" ], "type": "object", "additionalProperties": false }, "ICloseStopGroups": { "properties": { "newId": { "type": "string" }, "uniqueName": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } }, "required": [ "newId", "uniqueName", "latitude", "longitude" ], "type": "object", "additionalProperties": false }, "IStopGroupsInformations": { "properties": { "name": { "type": "string" }, "gpuid": { "type": "string" }, "address": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "journeysPerDay": { "type": "number", "format": "double" }, "firstDeparture": { "type": "string" }, "lastDeparture": { "type": "string" }, "firstArrival": { "type": "string" }, "lastArrival": { "type": "string" }, "city": { "type": "string" }, "servicedDestinations": { "items": { "type": "string" }, "type": "array" }, "stopGroupType": { "items": { "type": "string" }, "type": "array" }, "providersName": { "items": { "type": "string" }, "type": "array" }, "providers": { "items": { "$ref": "#/components/schemas/IStopGroupProviderData" }, "type": "array" }, "closeStopGroups": { "items": { "$ref": "#/components/schemas/ICloseStopGroups" }, "type": "array" } }, "required": [ "name", "gpuid", "address", "latitude", "longitude", "journeysPerDay", "city", "servicedDestinations", "stopGroupType", "providersName", "providers", "closeStopGroups" ], "type": "object", "additionalProperties": false }, "ICreateTicketResponse": { "properties": { "status": { "type": "number", "format": "double" } }, "required": [ "status" ], "type": "object", "additionalProperties": false }, "ICreateTicketBody": { "properties": { "subject": { "properties": { "typeOfRequest": { "type": "string" }, "message": { "type": "string" } }, "required": [ "typeOfRequest", "message" ], "type": "object" }, "email": { "type": "string" }, "phoneNumber": { "type": "string" }, "orderId": { "type": "string" }, "departureDate": { "type": "string" }, "moreInformations": { "type": "string" }, "departureCity": { "type": "string" }, "arrivalCity": { "type": "string" }, "files": { "items": { "properties": { "base64": { "type": "string" }, "name": { "type": "string" } }, "required": [ "base64", "name" ], "type": "object" }, "type": "array" } }, "required": [ "subject", "email", "phoneNumber", "orderId", "departureDate", "moreInformations" ], "type": "object", "additionalProperties": false }, "Pick_UserAttributes.Exclude_keyofUserAttributes.createdAt-or-updatedAt-or-deletedAt__": { "properties": { "id": { "type": "number", "format": "double" }, "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "mail": { "type": "string" }, "birthdate": { "type": "string", "format": "date-time" } }, "required": [ "id", "title", "firstName", "lastName", "mail", "birthdate" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "Omit_UserAttributes.createdAt-or-updatedAt-or-deletedAt_": { "$ref": "#/components/schemas/Pick_UserAttributes.Exclude_keyofUserAttributes.createdAt-or-updatedAt-or-deletedAt__", "description": "Construct a type with the properties of T except for those in type K." }, "UserDto": { "$ref": "#/components/schemas/Omit_UserAttributes.createdAt-or-updatedAt-or-deletedAt_" }, "Pick_PassengerAttributes.mail-or-lastName-or-firstName-or-birthdate-or-title_": { "properties": { "title": { "$ref": "#/components/schemas/EPassengerTitle" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "mail": { "type": "string", "nullable": true }, "birthdate": { "type": "string", "format": "date-time" } }, "required": [ "title", "firstName", "lastName", "mail", "birthdate" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "Pick_PassengerDiscountCardAttributes.code-or-expirationDate-or-discountCardId_": { "properties": { "code": { "type": "string" }, "expirationDate": { "type": "string", "format": "date-time", "nullable": true }, "discountCardId": { "type": "string" } }, "required": [ "code", "expirationDate", "discountCardId" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "PassengerDiscountCardDto": { "$ref": "#/components/schemas/Pick_PassengerDiscountCardAttributes.code-or-expirationDate-or-discountCardId_" }, "Pick_PassengerIdentityDocumentAttributes.type-or-expirationDate-or-documentIdentifier-or-countryCode_": { "properties": { "expirationDate": { "type": "string", "format": "date-time" }, "type": { "$ref": "#/components/schemas/EIdentityDocumentType" }, "documentIdentifier": { "type": "string" }, "countryCode": { "$ref": "#/components/schemas/EIsoCountryCodes" } }, "required": [ "expirationDate", "type", "documentIdentifier", "countryCode" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, "PassengerIdentityDocumentDto": { "$ref": "#/components/schemas/Pick_PassengerIdentityDocumentAttributes.type-or-expirationDate-or-documentIdentifier-or-countryCode_" }, "CreatePassengerDto": { "allOf": [ { "$ref": "#/components/schemas/Pick_PassengerAttributes.mail-or-lastName-or-firstName-or-birthdate-or-title_" }, { "properties": { "identityDocument": { "allOf": [ { "$ref": "#/components/schemas/PassengerIdentityDocumentDto" } ], "nullable": true }, "discountCards": { "items": { "$ref": "#/components/schemas/PassengerDiscountCardDto" }, "type": "array" } }, "required": [ "identityDocument", "discountCards" ], "type": "object" } ] }, "Partial_IPartner_": { "properties": { "id": { "type": "string" }, "gpuids": { "items": { "type": "string" }, "type": "array" }, "placeholder": { "type": "string" }, "header": { "type": "string" }, "subHeader": { "type": "string" }, "primaryColor": { "type": "string" }, "secondaryColor": { "type": "string" }, "backgroundUrl": { "type": "string" }, "logoUrl": { "type": "string" } }, "type": "object", "description": "Make all properties in T optional" } }, "securitySchemes": { "authentication": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "info": { "title": "@tictactrip/api", "version": "2.1489.0", "description": "Tictactrip's API service", "license": { "name": "UNLICENSED" }, "contact": { "name": "Tictactrip", "email": "dev@tictactrip.eu", "url": "https://www.tictactrip.eu" } }, "openapi": "3.0.0", "paths": { "/v2/segmentProviders": { "get": { "operationId": "GetSegmentProviders", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/TSegmentProvider" }, "type": "array" }, "examples": { "Example 1": { "value": [ { "id": 1, "name": "vsc", "fullname": "Voyages SNCF", "requiresIdentityDocument": false } ] } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" } } } } }, "description": "Returns all SegmentProviders", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [] } }, "/v2/stopGroups": { "get": { "operationId": "GetAllStopGroups", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/IGetStopGroupResponse" }, "type": "array" }, "examples": { "Example 1": { "value": [ { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167, "transportTypes": [ "bus", "train" ], "stopClusters": [ { "id": "c|FRavignon_@spg6j", "name": "Avignon", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d'Azur", "country": "FR", "latitude": 43.952499, "longitude": 4.804022 } ] } ] } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns the list of all StopGroups.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [ { "in": "query", "name": "providerId", "required": false, "schema": { "format": "double", "type": "number" } } ] } }, "/v2/stopGroups/{stopGroupGpuid}": { "get": { "operationId": "GetStopGroup", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IGetStopGroupResponse" }, "examples": { "Example 1": { "value": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167, "transportTypes": [ "bus", "train" ], "stopClusters": [ { "id": "c|FRavignon_@spg6j", "name": "Avignon", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d'Azur", "country": "FR", "latitude": 43.952499, "longitude": 4.804022 } ] } } } } } }, "404": { "description": "StopGroup not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:stopGroupNotFound", "errorMessage": "This StopGroup could not be found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns a StopGroup details.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [ { "in": "path", "name": "stopGroupGpuid", "required": true, "schema": { "type": "string" }, "example": "g|FRavignon_@spg3vp" } ] } }, "/v2/stopClusters": { "get": { "operationId": "GetAllStopClusters", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/IGetStopClusterResponse" }, "type": "array" }, "examples": { "Example 1": { "value": [ { "id": "c|FRangers__@gbrw5", "name": "Angers", "city": "Angers", "region": "Pays-de-la-Loire", "country": "FR", "latitude": 47.478419, "longitude": 0.563166, "transportTypes": [ "bus", "train" ], "stopGroups": [ { "id": "g|FRangmaiec@gbrw5c", "name": "Angers Maitre Ecole", "city": "Angers", "region": "Pays-de-la-Loire", "country": "FR", "address": "21 Rue Louis Legendre, 49100 Angers, France", "latitude": 47.467, "longitude": 0.5322, "transportTypes": [ "train" ] }, { "id": "g|FRangsaila@gbrw52", "name": "Angers Saint-Laud", "city": "Angers", "region": "Pays-de-la-Loire", "country": "FR", "address": "1 Esplanade De La Gare, 49100 Angers, France", "latitude": 47.46477, "longitude": 0.55693, "transportTypes": [ "bus", "train" ] } ] } ] } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns the list of all StopClusters.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [] } }, "/v2/stopClusters/{stopClusterGpuid}": { "get": { "operationId": "GetStopCluster", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IGetStopClusterResponse" }, "examples": { "Example 1": { "value": { "id": "c|FRangers__@gbrw5", "name": "Angers", "city": "Angers", "region": "Pays-de-la-Loire", "country": "FR", "latitude": 47.478419, "longitude": 0.563166, "transportTypes": [ "bus", "train" ], "stopGroups": [ { "id": "g|FRangmaiec@gbrw5c", "name": "Angers Maitre Ecole", "city": "Angers", "region": "Pays-de-la-Loire", "country": "FR", "address": "21 Rue Louis Legendre, 49100 Angers, France", "latitude": 47.467, "longitude": 0.5322, "transportTypes": [ "train" ] }, { "id": "g|FRangsaila@gbrw52", "name": "Angers Saint-Laud", "city": "Angers", "region": "Pays-de-la-Loire", "country": "FR", "address": "1 Esplanade De La Gare, 49100 Angers, France", "latitude": 47.46477, "longitude": 0.55693, "transportTypes": [ "bus", "train" ] } ] } } } } } }, "404": { "description": "StopCluster not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:stopClusterNotFound", "errorMessage": "This StopCluster could not be found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns a StopCluster details.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [ { "in": "path", "name": "stopClusterGpuid", "required": true, "schema": { "type": "string" }, "example": "c|FRangers__@gbrw5" } ] } }, "/v2/autocomplete": { "get": { "operationId": "GetAutocomplete", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Autocomplete" }, "type": "array" } } } }, "400": { "description": "Missing or invalid query parameter", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:missingQueryParam", "errorMessage": "The query parameter \"q\" is required" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Autocomplete search for stop clusters and stop groups by name.\nReturns cities and stations matching the query, filtered by the partner's allowed gpuids when applicable.\nMirrors the behaviour of the legacy GET /autocomplete route.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [ { "description": "The search query (e.g. a city name or prefix)", "in": "query", "name": "q", "required": true, "schema": { "type": "string" }, "example": "Paris" } ] } }, "/v2/cities/popular/{limit}": { "get": { "operationId": "GetPopularCities", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/IPopularCity" }, "type": "array" } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns the `limit` most searched cities within 2 months.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [ { "description": "The maximum number of cities to return.", "in": "path", "name": "limit", "required": true, "schema": { "format": "double", "type": "number" }, "example": 10 } ] } }, "/v2/cities/popular/{direction}/{uniqueName}/{limit}": { "get": { "operationId": "GetPopularCitiesFromTo", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/IPopularCity" }, "type": "array" } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns the `limit` most searched cities for a given direction from/to a city within 2 weeks.\nFalls back to global top cities if no results are found.", "security": [ { "authentication": [ "bookPartner", "searchPartner", "admin" ] } ], "parameters": [ { "description": "Can be either `from` or `to`.", "in": "path", "name": "direction", "required": true, "schema": { "$ref": "#/components/schemas/ESearchDirection" } }, { "description": "The unique name of the city to be based on.", "in": "path", "name": "uniqueName", "required": true, "schema": { "type": "string" }, "example": "paris" }, { "description": "The maximum number of cities to return (capped at 10).", "in": "path", "name": "limit", "required": true, "schema": { "format": "double", "type": "number" }, "example": 5 } ] } }, "/v2/results": { "post": { "operationId": "GetResults", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IApiSearchResponse" }, "examples": { "Example 1": { "value": { "trips": { "67f077b4-3836-4616-ace2-42d68b0f4c71": { "id": "67f077b4-3836-4616-ace2-42d68b0f4c71", "direction": "outboundTrip", "origin": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167 }, "destination": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167 }, "available": true, "priceCents": 6000, "durationMinutes": 210, "departureUTC": 1619759072, "arrivalUTC": 1619773472, "originOffset": "+0200", "destinationOffset": "+0200", "isIdentityDocumentRequired": false, "transportType": "MULTIMODAL", "providers": [ { "name": "Altibus", "company": "Altibus", "transportType": "bus" }, { "name": "TGV", "company": "SNCF", "transportType": "train" } ], "segments": [ { "id": "0123456789", "provider": { "name": "Altibus", "company": "Altibus", "transportType": "bus" }, "origin": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167 }, "destination": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167 }, "priceCents": 2000, "durationMinutes": 120, "departureUTC": 1619759072, "arrivalUTC": 1619773472, "originOffset": "+0200", "destinationOffset": "+0200", "transportType": "bus", "includedBaggage": true, "notAvailableReason": null, "isPresale": false }, { "id": "2345678901", "provider": { "name": "TGV", "company": "SNCF", "transportType": "train" }, "origin": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167 }, "destination": { "id": "g|FRavignon_@spg3vp", "name": "Avignon Centre", "city": "Avignon", "region": "Provence-Alpes-C\u00f4te d\u2019Azur", "country": "FR", "address": "1 rue du centre, 84000, Avignon", "latitude": 43.9408, "longitude": 4.79167 }, "priceCents": 4000, "durationMinutes": 80, "departureUTC": 1619774072, "arrivalUTC": 1619778872, "originOffset": "+0200", "destinationOffset": "+0200", "transportType": "train", "includedBaggage": true, "notAvailableReason": null, "vehicleIdentifier": "6319", "co2g": 50, "bookingClass": "2_ND_CLASS", "fareName": "PREM'S", "isPresale": false } ] } }, "bundles": [ { "trips": [ "67f077b4-3836-4616-ace2-42d68b0f4c71" ], "redirectionLink": "v2/redirect/?outboundTripId=67f077b4-3836-4616-ace2-42d68b0f4c71&partnerId=FR-WB-TEST" } ] } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "string", "errorMessage": "string" } } } } } }, "404": { "description": "If the stopCluster is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:stopClusterNotFound", "errorMessage": "This StopCluster could not be found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Fetch results. Ignore search request that are further than 1800KM.", "security": [ { "authentication": [ "admin", "searchPartner", "bookPartner" ] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IApiGetResultsParams" }, "example": { "originGpuid": "c|FRavignon_@spg6j", "destinationGpuid": "c|FRmarseill@spey6", "passengers": [ { "age": 22 } ], "outboundDate": "2021-04-28T00:00:00Z", "returnDate": "2021-04-28T00:00:00Z" } } } } } }, "/booking/v3/carts/{cartId}": { "get": { "operationId": "GetCart", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "properties": { "cart": { "$ref": "#/components/schemas/ISerializedCart" } }, "required": [ "cart" ], "type": "object" }, "examples": { "Example 1": { "value": { "cart": { "id": "6771146ca0b7432b", "partnerId": null, "partnerExternalId": null, "paidPrice": 1420, "rawPrice": 1320, "totalPrice": 1420, "isIdentityDocumentRequired": false, "trips": { "outboundTrip": { "id": "1165021", "uuid": "1f945779-4d9d-47ae-a711-c32bbcbf7639", "origin": { "id": 12709, "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "id": 549, "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "originOffset": "+0200", "destinationOffset": "+0200", "priceCents": 1420, "feeCents": 0, "paidPrice": 1420, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "1764084", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3819, "long": 6.72121 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4852, "long": 6.5291 }, "isBookable": true, "priceCents": 1420, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 1445751, "lastName": null, "firstName": null, "title": null, "isCustomer": false, "discountCardId": null, "category": "adults", "discountCards": [], "age": 30, "birthdate": null } ] } } } } } } }, "404": { "description": "If cart does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "carts:client:cartNotFound", "errorMessage": "Cart was not found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Get a cart by its id and its matching order if it exists.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "in": "path", "name": "cartId", "required": true, "schema": { "type": "string" }, "example": "6771146ca0b7432b" } ] }, "patch": { "operationId": "UpdateCart", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "properties": { "isAvailable": { "type": "boolean" }, "priceCentsDiff": { "type": "number", "format": "double" }, "cart": { "$ref": "#/components/schemas/ISerializedCart" } }, "required": [ "isAvailable", "priceCentsDiff", "cart" ], "type": "object" }, "examples": { "Example 1": { "value": { "cart": { "id": "6771146ca0b7432b", "partnerId": null, "partnerExternalId": null, "paidPrice": 1180, "totalPrice": 1180, "rawPrice": 1080, "isIdentityDocumentRequired": false, "trips": { "outboundTrip": { "id": "1165021", "uuid": "1f945779-4d9d-47ae-a711-c32bbcbf7639", "origin": { "id": 12709, "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "id": 549, "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "originOffset": "+0200", "destinationOffset": "+0200", "priceCents": 1080, "feeCents": 0, "paidPrice": 1180, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "1764084", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3819, "long": 6.72121 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4852, "long": 6.5291 }, "isBookable": true, "priceCents": 1180, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 1445752, "lastName": "name", "firstName": "firstName", "title": "MR", "isCustomer": true, "discountCardId": null, "category": "adults", "discountCards": [], "age": 30, "birthdate": "1992-09-09T00:00:00.000Z" } ], "customer": { "mail": "mail@mail.com", "title": "MR", "lastName": "lastName", "firstName": "firstName", "birthdate": "1992-09-09T00:00:00.000Z" } }, "isAvailable": false } } } } } }, "404": { "description": "If cart does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "carts:client:cartNotFound", "errorMessage": "Cart was not found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "\nUpdates a cart with the provided informations. A price lookup is done everytime a cart is patched.\nKeep in mind that patching a cart with an empty payload WILL NOT reset the cart's data, and will trigger a price lookup with the saved cart's data.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "in": "path", "name": "cartId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IUpdateCartPayload" }, "example": { "passengers": [ { "lastName": "name", "discountCards": [], "isCustomer": true, "title": "MR", "firstName": "firstName", "category": "adults", "age": 25, "birthdate": "1992-09-09" } ], "customer": { "lastName": "lastName", "mail": "mail@mail.com", "isSubscribedToNewsletter": false, "title": "MR", "firstName": "firstName", "birthdate": "1992-09-09" } } } } } } }, "/booking/v3/carts": { "post": { "operationId": "CreateCart", "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "properties": { "cart": { "$ref": "#/components/schemas/ISerializedCart" } }, "required": [ "cart" ], "type": "object" }, "examples": { "Example 1": { "value": { "cart": { "id": "6771146ca0b7432b", "partnerId": null, "partnerExternalId": null, "paidPrice": 1420, "rawPrice": 1320, "totalPrice": 1420, "isIdentityDocumentRequired": false, "trips": { "outboundTrip": { "id": "1165021", "uuid": "1f945779-4d9d-47ae-a711-c32bbcbf7639", "origin": { "id": 12709, "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "id": 549, "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "originOffset": "+0200", "destinationOffset": "+0200", "priceCents": 1420, "feeCents": 0, "paidPrice": 1420, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "1764084", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3819, "long": 6.72121 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4852, "long": 6.5291 }, "isBookable": true, "priceCents": 1420, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 1445751, "lastName": null, "firstName": null, "title": null, "isCustomer": false, "discountCardId": null, "category": "adults", "discountCards": [], "age": 30, "birthdate": null } ] } } } } } } }, "400": { "description": "If trip does not exist or has expired", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "carts:client:tripExpired", "errorMessage": "The trip does not exist or has expired" } } } } } }, "404": { "description": "If partner is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:partnerNotFound", "errorMessage": "Partner was not found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Creates a cart. Has to contain at least an outbound trip id and minimal passenger information for it to work.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ICreateCartBody" }, "example": { "outboundTripId": "1f945779-4d9d-47ae-a711-c32bbcbf7639", "passengers": [ { "age": 30, "discountCards": [] } ] } } } } } }, "/booking/v3/orders": { "get": { "operationId": "GetOrders", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IGetOrdersResponse" }, "examples": { "Example 1": { "value": { "orders": [ { "id": "8bc8557793fe4447", "orderDate": "2022-09-09T15:30:02.896Z", "cartId": "6771146ca0b7432b", "orderStatus": "CREATED", "paidPrice": 1180, "rawPrice": 1180, "totalPrice": 1880, "trips": { "outboundTrip": { "id": "309496", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "priceCents": 1180, "feeCents": 0, "paidPrice": 1180, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "406308", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3886, "long": 6.7163 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4867, "long": 6.5311 }, "priceCents": 1180, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "isBookable": true, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "eTicketUrl": "https://api.tictactrip.eu/booking/v3/orders/8bc8557793fe4447/etickets/79967/download?filename=eticket", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 349410, "title": "MR", "lastName": "name", "firstName": "firstName", "category": "adults", "discountCards": [], "isCustomer": true, "identityDocument": null, "age": 30, "birthDay": 9, "birthMonth": 9, "birthYear": 1992, "discountCardId": null } ], "customer": { "mail": "mail@mail.com", "title": "MR", "lastName": "name", "firstName": "firstName", "birthDay": 9, "birthMonth": 9, "birthYear": 1992 }, "paymentStatus": "ACCEPTED" } ], "pagination": { "currentPage": 1, "itemsPerPage": 30, "totalItems": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false } } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Retrieves a paginated list of all orders for the authenticated partner, ordered by most recent first.\nEach page contains up to 30 orders.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "description": "Page number (1-indexed). Defaults to 1.", "in": "query", "name": "page", "required": false, "schema": { "default": 1, "format": "double", "type": "number" } }, { "description": "Number of orders per page. Defaults to 30 and is capped at 30.", "in": "query", "name": "itemsPerPage", "required": false, "schema": { "default": 30, "format": "double", "type": "number" } } ] }, "post": { "operationId": "CreateOrder", "responses": { "201": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ICreateOrderResponse" }, "examples": { "Example 1": { "value": { "order": { "id": "8bc8557793fe4447", "orderDate": "2022-09-09T13:24:15.533Z", "cartId": "6771146ca0b7432b", "orderStatus": "CREATED", "totalPrice": 1180, "rawPrice": 1180, "paidPrice": 1180, "trips": { "outboundTrip": { "id": "309495", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "priceCents": 1180, "feeCents": 0, "paidPrice": 1180, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "406307", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3886, "long": 6.7163 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4867, "long": 6.5311 }, "priceCents": 1180, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "isBookable": true, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 349409, "title": "MR", "lastName": "name", "firstName": "firstName", "category": "adults", "discountCards": [], "isCustomer": true, "identityDocument": null, "age": 30, "birthDay": 9, "birthMonth": 9, "birthYear": 1992, "discountCardId": null } ], "customer": { "mail": "mail@mail.com", "title": "MR", "lastName": "name", "firstName": "firstName", "birthDay": 9, "birthMonth": 9, "birthYear": 1992 }, "paymentStatus": "ACCEPTED" }, "priceCentsDiff": 0, "isAvailable": true, "expiresAt": "2022-09-09T13:39:15.533Z" } } } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "string", "errorMessage": "string" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Creates an order. It uses the cart's information to build the order from it.\nThe cart must have been patched with customer information and at least one passenger.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ICreateOrderPayload" }, "example": { "cartId": "6771146ca0b7432b" } } } } } }, "/booking/v3/orders/{orderId}": { "get": { "operationId": "GetOrder", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "properties": { "order": { "$ref": "#/components/schemas/ISerializedOrder" } }, "required": [ "order" ], "type": "object" }, "examples": { "Example 1": { "value": { "order": { "id": "8bc8557793fe4447", "orderDate": "2022-09-09T15:30:02.896Z", "cartId": "6771146ca0b7432b", "orderStatus": "CREATED", "paidPrice": 1180, "rawPrice": 1180, "totalPrice": 1880, "trips": { "outboundTrip": { "id": "309496", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "priceCents": 1180, "feeCents": 0, "paidPrice": 1180, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "406308", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3886, "long": 6.7163 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4867, "long": 6.5311 }, "priceCents": 1180, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "isBookable": true, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "eTicketUrl": "https://api.tictactrip.eu/booking/v3/orders/8bc8557793fe4447/etickets/79967/download?filename=eticket", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 349410, "title": "MR", "lastName": "name", "firstName": "firstName", "category": "adults", "discountCards": [], "isCustomer": true, "identityDocument": null, "age": 30, "birthDay": 9, "birthMonth": 9, "birthYear": 1992, "discountCardId": null } ], "customer": { "mail": "mail@mail.com", "title": "MR", "lastName": "name", "firstName": "firstName", "birthDay": 9, "birthMonth": 9, "birthYear": 1992 }, "paymentStatus": "ACCEPTED" } } } } } } }, "404": { "description": "If order does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "orders:client:orderNotFound", "errorMessage": "Order was not found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Retrieves the order from the given cart ID.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "in": "path", "name": "orderId", "required": true, "schema": { "type": "string" }, "example": "8bc8557793fe4447" } ] } }, "/booking/v3/discountCards": { "get": { "operationId": "GetDiscountCards", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/IDiscountCard" }, "type": "array" }, "examples": { "Example 1": { "value": [ { "id": "TTT_ADULT_PASS", "label": "Avantage Adulte", "visibility": 7, "cardCode": "WEEKEND_PASS", "isIdRequired": true }, { "id": "TTT_VSC_YOUNG_PASS", "label": "Avantage Jeune", "visibility": 6, "cardCode": "YOUNG_PASS", "isIdRequired": true }, { "id": "TTT_VSC_SENIOR_PASS", "label": "Avantage Senior", "visibility": 5, "cardCode": "SENIOR_PASS", "isIdRequired": true }, { "id": "TTT_VSC_FAM30", "label": "Famille nombreuse 30%", "visibility": 4, "cardCode": "FAM30", "isIdRequired": false }, { "id": "TTT_VSC_FAM40", "label": "Famille nombreuse 40%", "visibility": 3, "cardCode": "FAM40", "isIdRequired": false }, { "id": "TTT_VSC_FAM50", "label": "Famille nombreuse 50%", "visibility": 2, "cardCode": "FAM50", "isIdRequired": false }, { "id": "TTT_VSC_FAM75", "label": "Famille nombreuse 75%", "visibility": 1, "cardCode": "FAM75", "isIdRequired": false } ] } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Returns all available discount cards.", "security": [], "parameters": [] } }, "/booking/v3/orders/{orderId}/book": { "post": { "operationId": "CreateBook", "responses": { "202": { "description": "Booking in progress", "content": { "application/json": { "schema": { "properties": { "order": { "$ref": "#/components/schemas/ISerializedOrder" } }, "required": [ "order" ], "type": "object" }, "examples": { "Example 1": { "value": { "order": { "id": "8bc8557793fe4447", "orderDate": "2022-09-09T15:30:02.896Z", "cartId": "6771146ca0b7432b", "orderStatus": "PENDING_BOOKING", "paidPrice": 1180, "rawPrice": 1180, "totalPrice": 1880, "trips": { "outboundTrip": { "id": "309496", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles" }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains" }, "priceCents": 1180, "feeCents": 0, "paidPrice": 1180, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "companies": [ "Altibus" ], "segments": [ { "id": "406308", "company": "Altibus", "mean": "bus", "origin": { "city": "Pralognan La Vanoise", "country": "France", "station": "PRALOGNAN LA VANOISE Airelles", "lat": 45.3886, "long": 6.7163 }, "destination": { "city": "Mo\u00fbtiers", "country": "France", "station": "Mo\u00fbtiers - Salins-les-Thermes - Brides-les-Bains", "lat": 45.4867, "long": 6.5311 }, "priceCents": 1180, "feeCents": 100, "includedProviderFeeCents": 120, "departureUTC": 1663561920, "arrivalUTC": 1663566300, "originOffset": "+0200", "destinationOffset": "+0200", "durationMinutes": 73, "isBookable": true, "redirectionLink": "/redirect?company=21&trip=MOG577&date=19/09/2022&env=production", "isPresale": false } ], "mean": "BUS", "co2g": 669 } }, "passengers": [ { "id": 349410, "title": "MR", "lastName": "name", "firstName": "firstName", "category": "adults", "discountCards": [], "isCustomer": true, "identityDocument": null, "age": 30, "birthDay": 9, "birthMonth": 9, "birthYear": 1992, "discountCardId": null } ], "customer": { "mail": "mail@mail.com", "title": "MR", "lastName": "name", "firstName": "firstName", "birthDay": 9, "birthMonth": 9, "birthYear": 1992 }, "paymentStatus": "ACCEPTED" } } } } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "string", "errorMessage": "string" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Triggers an asynchronous booking process.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "in": "path", "name": "orderId", "required": true, "schema": { "type": "string" }, "example": "8bc8557793fe4447" } ] } }, "/booking/v3/orders/{orderId}/ticket": { "get": { "operationId": "DownloadTicket", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string", "format": "byte" } } } }, "404": { "description": "If no order is found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "orderEtickets:client:orderNotFound", "errorMessage": "Order was not found" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Download an order Eticket and gives the name provided to the file.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "in": "path", "name": "orderId", "required": true, "schema": { "type": "string" }, "example": "8bc8557793fe4447" }, { "in": "query", "name": "filename", "required": false, "schema": { "default": "ticket", "type": "string" }, "example": "myTicketName" } ] } }, "/booking/v3/orderTickets/{orderTicketId}/cancellation/conditions": { "get": { "operationId": "PartnerCancellationConditions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/IBookingCancellationConditions" }, { "properties": { "voucherAmountCents": { "type": "number", "format": "double" } }, "type": "object" } ] } } } }, "403": { "description": "If you're accessing an order ticket you haven't emitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:notIssuer", "errorMessage": "The user is not the issuer of this entity" } } } } } }, "404": { "description": "If no order is found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "orderEtickets:client:orderNotFound", "errorMessage": "Order was not found" } } } } } }, "409": { "description": "If cancelling a ticket that shouldn't be canceled", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "bookableTickets:client:bookableTicketNotCancellable", "errorMessage": "Bookable ticket is not cancellable" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "description": "Get cancellation conditions.", "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "in": "path", "name": "orderTicketId", "required": true, "schema": { "format": "double", "type": "number" } } ] } }, "/booking/v3/orderTickets/{orderTicketId}/cancellation": { "put": { "operationId": "PartnerCancelBooking", "responses": { "200": { "description": "The status of the cancellation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderTicketCancellationStatus" } } } }, "403": { "description": "If you're accessing an order ticket you haven't emitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "partnersApi:client:notIssuer", "errorMessage": "The user is not the issuer of this entity" } } } } } }, "404": { "description": "If no order is found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "orderEtickets:client:orderNotFound", "errorMessage": "Order was not found" } } } } } }, "409": { "description": "If cancelling a ticket that shouldn't be canceled", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "bookableTickets:client:bookableTicketNotCancellable", "errorMessage": "Bookable ticket is not cancellable" } } } } } }, "500": { "description": "If an unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IErrorCodeResponse" }, "examples": { "Example 1": { "value": { "errorKey": "general:internal:unexpected", "errorMessage": "An unexpected error occurred" } } } } } } }, "security": [ { "authentication": [ "admin", "bookPartner" ] } ], "parameters": [ { "description": "The order ticket id", "in": "path", "name": "orderTicketId", "required": true, "schema": { "format": "double", "type": "number" } } ] } } }, "servers": [ { "url": "/" } ] }