square_ox/objects/
enums.rs

1use std::fmt;
2use std::fmt::{Formatter};
3use serde::{Deserialize, Serialize};
4
5// TODO change the implementation of existing Response Object fields to use the right enums
6
7/// The Currency code corresponding to the amount of Money.
8#[non_exhaustive]
9#[derive(Serialize, Deserialize, Debug, Clone)]
10pub enum Currency {
11    GBP,
12    USD,
13    EUR,
14    JPY,
15    SGD
16}
17
18/// The CustomerCreationSource type, indicating how the customer was created.
19#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
20#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
21pub enum CustomerCreationSource {
22    Other,
23    Appointments,
24    Coupon,
25    DeletionRecovery,
26    Directory,
27    Egifting,
28    EmailCollection,
29    Feedback,
30    Import,
31    Invoices,
32    Loyalty,
33    Marketing,
34    Merge,
35    OnlineStore,
36    InstantProfile,
37    Terminal,
38    ThirdParty,
39    ThirdPartyImport,
40    UnmergeRecovery
41}
42
43#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
44#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
45pub enum CatalogObjectTypeEnum {
46    Item,
47    Image,
48    Category,
49    ItemVariation,
50    Tax,
51    Discount,
52    ModifierList,
53    Modifier,
54    PricingRule,
55    TimePeriod,
56    ProductSet,
57    MeasurementUnit,
58    SubscriptionPlan,
59    ItemOption,
60    ItemOptionVal,
61    CustomAttributeDefinition,
62    QuickAmountsSettings,
63}
64
65impl fmt::Display for CatalogObjectTypeEnum {
66    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
67        match self {
68            CatalogObjectTypeEnum::Item => write!(f, "ITEM"),
69            CatalogObjectTypeEnum::Image => write!(f, "IMAGE =>"),
70            CatalogObjectTypeEnum::Category => write!(f, "CATEGORY"),
71            CatalogObjectTypeEnum::ItemVariation => write!(f, "ItemVariation"),
72            CatalogObjectTypeEnum::Tax => write!(f, "TAX"),
73            CatalogObjectTypeEnum::Discount => write!(f, "DISCOUNT"),
74            CatalogObjectTypeEnum::ModifierList => write!(f, "MODIFIER_LIST"),
75            CatalogObjectTypeEnum::Modifier => write!(f, "MODIFIER"),
76            CatalogObjectTypeEnum::PricingRule => write!(f, "PRICING_RULE"),
77            CatalogObjectTypeEnum::TimePeriod => write!(f, "TIME_PERIOD"),
78            CatalogObjectTypeEnum::ProductSet => write!(f, "PRODUCT_SET"),
79            CatalogObjectTypeEnum::MeasurementUnit => write!(f, "MeasurementUnit"),
80            CatalogObjectTypeEnum::SubscriptionPlan => write!(f, "SubscriptionPlan"),
81            CatalogObjectTypeEnum::ItemOption => write!(f, "ItemOption"),
82            CatalogObjectTypeEnum::ItemOptionVal => write!(f, "ItemOptionVal"),
83            CatalogObjectTypeEnum::CustomAttributeDefinition
84            => write!(f, "CustomAttributeDefinition"),
85            CatalogObjectTypeEnum::QuickAmountsSettings => write!(f, "QuickAmountsSettings"),
86        }
87    }
88}
89
90#[derive(Serialize, Deserialize, Debug, Clone)]
91#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
92pub enum BusinessAppointmentSettingsBookingLocationType {
93    BusinessLocation,
94    CustomerLocation,
95    Phone,
96}
97
98#[derive(Serialize, Deserialize, Debug, Clone)]
99#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
100pub enum BookingBookingSource {
101    FirstPartyMerchant,
102    FirstPartyBuyer,
103    ThirdPartyBuyer,
104    Api,
105}
106
107#[derive(Serialize, Deserialize, Debug, Clone)]
108#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
109pub enum BookingStatus {
110    Pending,
111    CancelledByCustomer,
112    CancelledBySeller,
113    Declined,
114    Accepted,
115    NoShow,
116}
117
118#[derive(Serialize, Deserialize, Debug, Clone)]
119pub enum LocationStatus {
120    ACTIVE,
121    INACTIVE,
122}
123
124#[derive(Serialize, Deserialize, Debug, Clone)]
125#[serde(rename_all = "snake_case")]
126pub enum TaxIds {
127    EsNif,
128    EuVat,
129    FrNaf,
130    FrSiret,
131}
132
133#[derive(Serialize, Deserialize, Debug, Clone)]
134#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
135pub enum LocationType {
136    Physical,
137    Mobile,
138}
139
140#[derive(Serialize, Deserialize, Debug, Clone)]
141#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
142pub enum SortOrder {
143    Desc,
144    Asc,
145}
146
147impl fmt::Display for SortOrder {
148    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
149        match self {
150            SortOrder::Asc => write!(f, "ASC"),
151            SortOrder::Desc => write!(f, "DESC"),
152        }
153    }
154}
155
156#[derive(Serialize, Deserialize, Debug, Clone)]
157#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
158pub enum BusinessBookingProfileBookingPolicy {
159    AcceptAll,
160    RequiresAcceptance,
161}
162
163#[derive(Serialize, Deserialize, Debug, Clone)]
164#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
165pub enum BusinessAppointmentSettingsCancellationPolicy {
166    CancellationTreatedAsNoShow,
167    CustomPolicy,
168}
169
170#[derive(Serialize, Deserialize, Debug, Clone)]
171#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
172pub enum BusinessAppointmentSettingsMaxAppointmentsPerDayLimitType {
173    PerTeamMember,
174    PerLocation,
175}
176
177#[derive(Serialize, Deserialize, Debug, Clone)]
178#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
179pub enum BusinessBookingProfileCustomerTimezoneChoice {
180    BusinessLocationTimezone,
181    CustomerChoice,
182}
183
184#[derive(Serialize, Deserialize, Debug, Clone)]
185#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
186pub enum OrderLineItemDiscountScope {
187    OtherDiscountScope,
188    LineItem,
189    Order,
190}
191
192#[derive(Serialize, Deserialize, Debug, Clone)]
193#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
194pub enum OrderLineItemDiscountType {
195    UnknownDiscount,
196    FixedPercentage,
197    FixedAmount,
198    VariablePercentage,
199    VariableAmount,
200}
201
202#[derive(Serialize, Deserialize, Debug, Clone)]
203#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
204pub enum OrderFulfillmentFulfillmentLineItemApplication {
205    All,
206    EntryList
207}
208
209#[derive(Serialize, Deserialize, Debug, Clone)]
210#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
211pub enum OrderFulfillmentPickupDetailsScheduleType {
212    Scheduled,
213    Asap
214}
215
216#[derive(Serialize, Deserialize, Debug, Clone)]
217#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
218pub enum OrderLineItemItemType {
219    Item,
220    CustomAmount,
221    GiftCard,
222}
223
224#[derive(Serialize, Deserialize, Debug, Clone)]
225#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
226pub enum RefundStatus {
227    Pending,
228    Approved,
229    Rejected,
230    Failed,
231}
232
233#[derive(Serialize, Deserialize, Debug, Clone)]
234#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
235pub enum OrderLineItemTaxScope {
236    OtherTaxScope,
237    LineItem,
238    Order
239}
240
241#[derive(Serialize, Deserialize, Debug, Clone)]
242#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
243pub enum OrderLineItemTaxType {
244    UnknownTax,
245    Additive,
246    Inclusive,
247}
248
249#[derive(Serialize, Deserialize, Debug, Clone)]
250#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
251pub enum OrderState {
252    Open,
253    Completed,
254    Canceled,
255    Draft
256}
257
258#[derive(Serialize, Deserialize, Debug, Clone)]
259#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
260pub enum OrderServiceChargeCalculationPhase {
261    SubtotalPhase,
262    TotalPhase,
263}
264
265#[derive(Serialize, Deserialize, Debug, Clone)]
266#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
267pub enum OrderServiceChargeType {
268    AutoGratuity,
269    Custom,
270}
271
272#[derive(Serialize, Deserialize, Debug, Clone)]
273#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
274pub enum TenderType {
275    Card,
276    Cash,
277    ThirdPartyCard,
278    SquareGiftCard,
279    NoSale,
280    Wallet,
281    Other,
282}
283
284#[derive(Serialize, Deserialize, Debug, Clone)]
285#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
286pub enum TenderCardDetailsStatus {
287    Authorized,
288    Captured,
289    Voided,
290    Failed,
291}
292
293#[derive(Serialize, Deserialize, Debug, Clone)]
294#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
295pub enum TenderCardDetailsEntryMethod {
296    Swiped,
297    Keyed,
298    Emv,
299    OnFile,
300    Contactless
301}
302
303#[derive(Serialize, Deserialize, Debug, Clone)]
304#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
305pub enum CatalogObjectType {
306    Item,
307    Image,
308    Category,
309    ItemVariation,
310    Tax,
311    Discount,
312    ModifierList,
313    PricingRule,
314    ProductSet,
315    TimePeriod,
316    MeasurementUnit,
317    SubscriptionPlan,
318    ItemOption,
319    ItemOptionVal,
320    CustomAttributeDefinition,
321    QuickAmountSetting,
322}
323
324#[derive(Serialize, Deserialize, Debug, Clone)]
325#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
326pub enum CatalogCustomAttributeDefinitionType {
327    String,
328    Boolean,
329    Number,
330    Selection
331}
332
333#[derive(Serialize, Deserialize, Debug, Clone)]
334#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
335pub enum CatalogItemProductType {
336    Regular,
337    GiftCard,  /// Deprecated
338    AppointmentsService,
339}
340
341#[derive(Serialize, Deserialize, Debug, Clone)]
342#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
343pub enum InventoryAlertType {
344    None,
345    LowQuantity,
346}
347
348#[derive(Serialize, Deserialize, Debug, Clone)]
349#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
350pub enum CatalogPricingType {
351    FixedPricing,
352    VariablePricing,
353}
354
355#[derive(Serialize, Deserialize, Debug, Clone)]
356#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
357pub enum SearchCatalogItemsRequestStockLevel {
358    Out,
359    Low,
360}
361
362#[derive(Serialize, Deserialize, Debug, Clone)]
363#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
364pub enum InventoryState {
365    Custom,
366    InStock,
367    Sold,
368    ReturnedByCustomer,
369    ReservedForSale,
370    SoldOnline,
371    OrderedFromVendor,
372    ReceivedFromVendor,
373    InTransitTo,
374    None,
375    Waste,
376    UnlinkedReturn,
377    Composed,
378    Decomposed,
379    SupportedByNewerVersion,
380}
381
382impl Default for InventoryState {
383    fn default() -> Self {
384        InventoryState::InStock
385    }
386}
387
388#[derive(Serialize, Deserialize, Debug, Clone)]
389#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
390pub enum InventoryChangeType {
391    PhysicalCount,
392    Adjustment,
393    Transfer,
394}
395
396impl Default for InventoryChangeType {
397    fn default() -> Self {
398        InventoryChangeType::PhysicalCount
399    }
400}
401
402#[derive(Serialize, Deserialize, Debug, Clone)]
403#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
404pub enum PaymentType {
405    Check,
406    BankTransfer,
407    OtherGiftCard,
408    Crypto,
409    SquareCash,
410    Social,
411    External,
412    Emoney,
413    Card,
414    StoredBalance,
415    FoodVoucher,
416    Other,
417}
418
419#[derive(Serialize, Deserialize, Debug, Clone)]
420#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
421pub enum ApplicationDetailsExternalSquareProduct {
422    Appointments,
423    EcommerceApi,
424    Invoices,
425    OnlineStore,
426    Other,
427    Restaurants,
428    Retail,
429    SquarePos,
430    TerminalApi,
431    VirtualTerminal,
432}
433
434#[derive(Serialize, Deserialize, Debug, Clone)]
435#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
436pub enum BankAccountOwnershipType {
437    Individual,
438    Company,
439    Unknown
440}
441
442#[derive(Serialize, Deserialize, Debug, Clone)]
443#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
444pub enum BankAccountType {
445    Checking,
446    Savings,
447    Unknown,
448}
449
450#[derive(Serialize, Deserialize, Debug, Clone)]
451#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
452pub enum BuyNowPayLaterBrand {
453    Afterpay,
454    Unknown
455}
456
457#[derive(Serialize, Deserialize, Debug, Clone)]
458#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
459pub enum CCVStatus {
460    CvvAccepted,
461    CvvRejected,
462    CvvNotChecked,
463}
464
465#[derive(Serialize, Deserialize, Debug, Clone)]
466#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
467pub enum PaymentStatus {
468    Authorized,
469    Captured,
470    Voided,
471    Failed
472}
473
474#[derive(Serialize, Deserialize, Debug, Clone)]
475#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
476pub enum PaymentVerificationResults {
477    Success,
478    Failure,
479    Unknown
480}
481
482#[derive(Serialize, Deserialize, Debug, Clone)]
483#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
484pub enum PaymentVerificationMethod {
485    Pin,
486    Signature,
487    PinAndSignature,
488    OnDevice,
489    None
490}
491
492#[derive(Serialize, Deserialize, Debug, Clone)]
493#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
494pub enum ProcessingFeeType {
495    Initial,
496    Adjustment,
497}
498
499#[derive(Serialize, Deserialize, Debug, Clone)]
500#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
501pub enum RiskEvaluationRiskLevel {
502    Pending,
503    Normal,
504    Moderate,
505    High,
506}
507
508#[derive(Serialize, Deserialize, Debug, Clone)]
509#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
510pub enum PaymentSourceType {
511    BankAccount,
512    Wallet,
513    BuyNowPayLater,
514    Cash,
515    Card,
516    External,
517}
518
519#[derive(Serialize, Deserialize, Debug, Clone)]
520#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
521pub enum DigitalWalletBrand {
522    CashApp,
523    Unknown
524}
525
526#[derive(Serialize, Deserialize, Debug, Clone)]
527#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
528pub enum DigitalWalletStatus {
529    Authorized,
530    Captured,
531    Voided,
532    Failed,
533}
534
535#[derive(Serialize, Deserialize, Debug, Clone)]
536#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
537pub enum ActionCancelReason {
538    BuyerCanceled,
539    SellerCanceled,
540    TimedOut,
541}
542
543#[derive(Serialize, Deserialize, Debug, Clone)]
544#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
545pub enum CheckoutOptionsPaymentType {
546    CardPresent,
547    ManualCardEntry,
548    FelicaId,
549    FelicaQuicpay,
550    FelicaTransportationGroup,
551    FelicaAll,
552}
553
554#[derive(Serialize, Deserialize, Debug, Clone)]
555#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
556pub enum TerminalCheckoutStatus {
557    Pending,
558    InProgress,
559    CancelRequested,
560    Canceled,
561    Completed,
562}
563
564#[derive(Serialize, Deserialize, Debug, Clone)]
565#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
566pub enum OrderFulfillmentState {
567    Proposed,
568    Preserved,
569    Prepared,
570    Completed,
571    Canceled,
572    Failed
573}
574
575#[derive(Serialize, Deserialize, Debug, Clone)]
576#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
577pub enum OrderFulfillmentType {
578    Pickup,
579    Shipment,
580}
581
582#[derive(Serialize, Deserialize, Debug, Clone)]
583#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
584pub enum SearchOrdersSortField {
585    CreatedAt,
586    UpdatedAt,
587    ClosedAt,
588}
589