@d19n/youfibre-odin-sdk 2.0.193 → 2.0.194

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,7 +30,7 @@ export declare type VMO2OrderAction = 'add' | 'remove' | 'change';
30
30
  export declare type VMO2OrderStatus = 'accepted' | 'rejected' | 'validated' | 'committed' | 'completed' | 'cancelled' | 'delayed';
31
31
  export declare type VMO2RequestType = 'reactiveincident' | 'preserviceispassistance' | 'postserviceispassistance' | 'restrictedpremisesurvey' | 'cableinstallsurvey' | 'equipmentmove';
32
32
  export declare type VMO2RequestStatus = 'rejected' | 'delayed' | 'accepted' | 'inprogress' | 'resolved' | 'closed';
33
- export declare type VMO2VisitType = 'Pre-Work' | 'In-Home' | 'SingleVisitForPreWorkAndInHome' | 'Internal Incident' | 'External Incident' | 'Move Interior Equipment' | 'Move Exterior Equipment' | 'End Customer Support' | 'Pre-Service ISP Assistance' | 'Restricted Premise Survey' | 'Cable Install Survey' | 'Troubleshoot';
33
+ export declare type VMO2VisitType = 'InHome' | 'PreWork' | 'SingleVisitForPreWorkAndInHome' | 'Internal Incident' | 'External Incident' | 'Move Interior Equipment' | 'Move Exterior Equipment' | 'End Customer Support' | 'Pre-Service ISP Assistance' | 'Restricted Premise Survey' | 'Cable Install Survey' | 'Troubleshoot';
34
34
  export declare type VMO2AppointmentStatus = 'reserved' | 'confirmed' | 'cancelled' | 'engineer assigned' | 'visit started' | 'visit complete';
35
35
  export declare type VMO2InstallFieldVisitRequired = 'no' | 'singleInHome' | 'splitPreWorkAndInHome' | 'singlePreWork' | 'singlePreWorkAndInHome';
36
36
  export declare type VMO2SelfInstallAvailable = 'no' | 'customerGatewayOnly';
@@ -161,36 +161,55 @@ export interface VMO2AppointmentVisitFilter {
161
161
  additionalWorkCode?: VMO2AdditionalWorkCode[];
162
162
  specialRequest?: VMO2SpecialRequestCode[];
163
163
  startDate?: ISODate;
164
+ /** Request-side filter; response slots come back lowercase (`am`/`pm`). */
164
165
  preferredSlotType?: 'AM' | 'PM' | 'ALL DAY';
165
166
  preferredAppointmentClass?: 'Standard' | 'Premium';
166
167
  }
168
+ /**
169
+ * CORRECTED to the verified wire (2026-06-08): identifiers (orderId / requestId
170
+ * / premiseId) are ROOT parameters, NOT nested under a `scope` object. The
171
+ * previous `scope` wrapper made the gateway treat premiseId as missing →
172
+ * "invalid combination".
173
+ */
167
174
  export interface VMO2ListAppointmentRequest {
168
- scope: VMO2AppointmentScope;
175
+ orderId?: VMO2OrderId;
176
+ requestId?: VMO2RequestId;
177
+ premiseId?: VMO2PremiseId;
169
178
  networkType: VMO2NetworkType;
170
179
  journeyType: VMO2JourneyType;
171
180
  deploymentMethod?: VMO2DeploymentMethod;
172
181
  serviceLevel?: VMO2RequestServiceLevel;
173
182
  visit: VMO2AppointmentVisitFilter[];
174
183
  }
184
+ /** Verified response slot — slot/class come back LOWERCASE (`am`/`pm`/`standard`). */
175
185
  export interface VMO2AvailableSlot {
176
186
  appointmentDate: ISODate;
177
- appointmentSlot: 'AM' | 'PM' | 'ALL DAY' | string;
178
- appointmentClass: 'Standard' | 'Premium' | string;
187
+ appointmentSlot: 'am' | 'pm' | string;
188
+ appointmentClass: 'standard' | string;
179
189
  earliestArrivalTime: string;
180
190
  latestArrivalTime: string;
181
191
  }
192
+ /**
193
+ * CORRECTED to the verified wire (2026-06-08): carries a free-text `status`
194
+ * (e.g. "Fully Accepted"), and `estimatedDuration` / `inHomeLeadTime` are
195
+ * NUMBERS (minutes / days), not strings.
196
+ */
182
197
  export interface VMO2ListAppointmentResult {
198
+ status: string;
183
199
  installFieldVisitRequired?: VMO2InstallFieldVisitRequired;
184
200
  visit: Array<{
185
201
  visitType: VMO2VisitType;
186
- estimatedDuration: string;
187
- inHomeLeadTime?: string;
202
+ estimatedDuration: number;
203
+ inHomeLeadTime?: number;
188
204
  availableTimeSlots: VMO2AvailableSlot[];
189
205
  message?: WholesaleRejectionMessage[];
190
206
  }>;
191
207
  }
208
+ /** CORRECTED: identifiers at ROOT (not under `scope`). */
192
209
  export interface VMO2ReserveAppointmentRequest {
193
- scope: VMO2AppointmentScope;
210
+ orderId?: VMO2OrderId;
211
+ requestId?: VMO2RequestId;
212
+ premiseId?: VMO2PremiseId;
194
213
  networkType: VMO2NetworkType;
195
214
  journeyType: VMO2JourneyType;
196
215
  deploymentMethod?: VMO2DeploymentMethod;
@@ -204,16 +223,18 @@ export interface VMO2ReserveAppointmentRequest {
204
223
  appointmentClass: string;
205
224
  }>;
206
225
  }
226
+ /** CORRECTED: `estimatedDuration` is a NUMBER; carries the issued appointmentKey. */
207
227
  export interface VMO2ReservedSlot {
208
228
  visitType: VMO2VisitType;
209
- estimatedDuration: string;
229
+ estimatedDuration: number;
210
230
  appointmentKey: VMO2AppointmentKey;
211
231
  earliestArrivalTime: string;
212
232
  latestArrivalTime: string;
213
233
  message?: WholesaleRejectionMessage[];
214
234
  }
235
+ /** CORRECTED: `status` is free-text (e.g. "fully accepted"). */
215
236
  export interface VMO2ReserveAppointmentResult {
216
- status: 'accepted' | 'partially accepted';
237
+ status: string;
217
238
  appointmentSlots: VMO2ReservedSlot[];
218
239
  }
219
240
  export interface VMO2AppointmentDetails {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.193",
3
+ "version": "2.0.194",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",