export interface MembershipRedeemableTokenData { id: string; redeemableFor: ReedemableFor; status: string; redeemability: string; } interface ReedemableFor { accessDuration?: string; licenceId: string; type: string; optionalLicenceId?: string; } export interface RedeemableTokenResponsePost { id: string; creationDateTime: string; redeemableFor: ReedemableForPost; status: string; validUntil: string | null; redeemability: string; } /* I had to add this new type because graphQl returns a variable called redeemableFor.licenceId while the POST to remdeem a token returns redeemableFor.accessLicenceId. The POST request also does not always return accessDuration or validUntil so I am defaulting them to null */ interface ReedemableForPost { accessDuration?: string | null; accessLicenceId: string; type: string; }