/** * Shell EVLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, lazy, number, object, optional, Schema, string, } from '../schema'; import { Accessibility, accessibilitySchema } from './accessibility'; import { Address, addressSchema } from './address'; import { Coordinates, coordinatesSchema } from './coordinates'; import { EvseVO, evseVOSchema } from './evseVO'; import { OpeningHoursObject, openingHoursObjectSchema, } from './openingHoursObject'; export interface LocationResponeObject { /** Unique Internal identifier used to refer to this Location by Shell Recharge */ uid?: number; /** Identifier as given by the Shell Recharge Operator, unique for that Operator */ externalId?: string; /** Coordinates of the Shell Recharge Site Location */ coordinates?: Coordinates; /** Operator of this Shell Recharge Location */ operatorName?: string; /** Address of the Shell Recharge Location */ address?: Address; /** Accessibility of the Location */ accessibility?: Accessibility; evses?: EvseVO[]; /** Optional Opening Hours of the Location. Please note that it is not available for all sites. */ openingHours?: OpeningHoursObject[]; /** ISO8601-compliant UTC datetime of the last update of the location */ updated?: string; /** optional Operator-wide arbitrary text (eg promotional, warning) */ operatorComment?: string; /** the type of the location. Could be "UNKNOWN". */ locationType?: string; } export const locationResponeObjectSchema: Schema = object( { uid: ['uid', optional(number())], externalId: ['externalId', optional(string())], coordinates: ['coordinates', optional(lazy(() => coordinatesSchema))], operatorName: ['operatorName', optional(string())], address: ['address', optional(lazy(() => addressSchema))], accessibility: ['accessibility', optional(lazy(() => accessibilitySchema))], evses: ['evses', optional(array(lazy(() => evseVOSchema)))], openingHours: [ 'openingHours', optional(array(lazy(() => openingHoursObjectSchema))), ], updated: ['updated', optional(string())], operatorComment: ['operatorComment', optional(string())], locationType: ['locationType', optional(string())], } );