From cfbbb374a8bd21b620e66187bb9bd861101ce4e8 Mon Sep 17 00:00:00 2001 From: Magnus Dahl Date: Mon, 5 Jan 2026 14:39:46 +0100 Subject: [PATCH 1/3] added formfactor, operatorid and operatorname to the farecontract --- src/fare-contract/types.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/fare-contract/types.ts b/src/fare-contract/types.ts index 6d767d8..7b65ba0 100644 --- a/src/fare-contract/types.ts +++ b/src/fare-contract/types.ts @@ -86,6 +86,22 @@ export enum FareContractState { Expired = 6, Archived = 7, } + +export enum FormFactor { + Bicycle = 'BICYCLE', + Car = 'CAR', + CargoBicycle = 'CARGO_BICYCLE', + Moped = 'MOPED', + Other = 'OTHER', + Scooter = 'SCOOTER', + ScooterSeated = 'SCOOTER_SEATED', + ScooterStanding = 'SCOOTER_STANDING', +} + +export const FormFactorSchema = z.enum( + Object.values(FormFactor) as [FormFactor, ...FormFactor[]], +); + /** * For definition, see `FareContract` struct in ticket service * https://github.com/AtB-AS/ticket/blob/main/firestore-client/src/fare_contract.rs @@ -96,6 +112,9 @@ export const FareContractType = z.object({ customerAccountId: z.string(), orderId: z.string(), bookingId: z.string().uuid().optional(), + formFactor: FormFactorSchema.optional(), + operatorId: z.string().optional(), + operatorName: z.string().optional(), paymentType: z.array(z.string()), qrCode: z.string().optional(), state: z.nativeEnum(FareContractState), From e74d33db7d0a8d3c7693558ac01ed1ae66b64300 Mon Sep 17 00:00:00 2001 From: Magnus Dahl Date: Tue, 6 Jan 2026 13:26:50 +0100 Subject: [PATCH 2/3] removed operatorName --- src/fare-contract/types.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fare-contract/types.ts b/src/fare-contract/types.ts index 7b65ba0..d87d2a5 100644 --- a/src/fare-contract/types.ts +++ b/src/fare-contract/types.ts @@ -114,7 +114,6 @@ export const FareContractType = z.object({ bookingId: z.string().uuid().optional(), formFactor: FormFactorSchema.optional(), operatorId: z.string().optional(), - operatorName: z.string().optional(), paymentType: z.array(z.string()), qrCode: z.string().optional(), state: z.nativeEnum(FareContractState), From f7bf8752206ddda90d9b6ba82e7e18845911fe83 Mon Sep 17 00:00:00 2001 From: Magnus Dahl Date: Thu, 8 Jan 2026 13:27:23 +0100 Subject: [PATCH 3/3] removed export from formfactor --- src/fare-contract/types.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fare-contract/types.ts b/src/fare-contract/types.ts index d87d2a5..a4a3a77 100644 --- a/src/fare-contract/types.ts +++ b/src/fare-contract/types.ts @@ -87,7 +87,7 @@ export enum FareContractState { Archived = 7, } -export enum FormFactor { +enum FormFactor { Bicycle = 'BICYCLE', Car = 'CAR', CargoBicycle = 'CARGO_BICYCLE', @@ -98,7 +98,7 @@ export enum FormFactor { ScooterStanding = 'SCOOTER_STANDING', } -export const FormFactorSchema = z.enum( +const FormFactorSchema = z.enum( Object.values(FormFactor) as [FormFactor, ...FormFactor[]], );