From b817b394ec41e21663b11bd60c0034612b860517 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 16 May 2024 19:48:34 +0000 Subject: [PATCH 01/71] Automatic upgrade of the SDK. Build #340123. --- .gitignore | 4 +- README.md | 168 +- WellnessLiving/Config/WlConfigDeveloper.php | 92 +- .../Core/Captcha/CaptchaRequireModel.php | 72 +- WellnessLiving/Core/Drive/DriveTypeSid.php | 60 +- .../Drive/ImageUpload/ImageUploadModel.php | 430 ++-- .../ImageUpload/ImageUploadTemporaryModel.php | 244 +-- .../Core/Geo/Region/RegionModel.php | 146 +- .../Core/Google/GoogleCaptchaModel.php | 62 +- WellnessLiving/Core/Locale/CurrencySid.php | 166 +- .../ChangePasswordApplyModel.php | 108 +- .../ChangePasswordBeginModel.php | 102 +- .../Login/Register/RegisterConfirmModel.php | 88 +- .../Passport/User/Email/EmailExistModel.php | 56 +- .../Core/Quiz/ResponseStatusSid.php | 86 +- .../Credential/CredentialModel.php | 82 +- .../Request/Api/Application/OriginModel.php | 74 +- .../Core/Request/Api/KeySecretModel.php | 114 +- .../Core/Request/Token/TokenPinModel.php | 76 +- WellnessLiving/Core/Sid/SortOrderSid.php | 40 +- WellnessLiving/Core/Sid/YesNoSid.php | 40 +- WellnessLiving/Core/a/ADateWeekSid.php | 90 +- WellnessLiving/Core/a/ADurationSid.php | 134 +- WellnessLiving/Core/a/AFolder.php | 186 +- WellnessLiving/Core/a/ASocialSid.php | 56 +- .../Drive/ImageUpload/ImageUploadModel.php | 88 +- .../Passport/Login/Enter/NotepadModel.php | 110 +- WellnessLiving/Custom/Wl/Report/DataModel.php | 60 +- .../Resource/ApplicationResourceModel.php | 628 +++--- WellnessLiving/Custom/Wl/WlRegionSid.php | 62 +- WellnessLiving/Sha3.php | 828 ++++---- .../Social/Apple/Login/AppleLoginModel.php | 56 +- .../Social/Facebook/Login/LoginModel.php | 60 +- .../Social/Google/Plus/LoginModel.php | 60 +- .../Social/Microsoft/LoginModel.php | 156 +- .../Studio/Task/Branch/BranchBuildModel.php | 116 +- .../Task/Branch/BranchDeleteModeSid.php | 50 +- .../Appointment/Book/Asset/AssetListModel.php | 476 ++--- .../Appointment/Book/Finish/Finish47Model.php | 492 ++--- .../Book/Finish/FinishMultipleModel.php | 788 +++---- .../Book/Payment/PaymentMultipleModel.php | 1056 ++++----- .../Book/Payment/PaymentPostModel.php | 834 ++++---- .../Book/Purchase/PurchaseModel.php | 8 - .../Book/Service/ServiceList52Model.php | 784 +++---- .../Wl/Appointment/Edit/AddonUpdateModel.php | 150 +- .../Wl/Book/Process/Info/Info54Model.php | 1256 +++++------ .../Process/Info/InfoCanCompleteModel.php | 214 +- .../Wl/Book/Process/Payment/PaymentModel.php | 814 +++---- .../Wl/Book/Process/Process54Model.php | 538 ++--- .../Wl/Book/Process/Process59Model.php | 536 ++--- .../Wl/Book/Process/ProcessSpaSid.php | 202 +- .../Book/Process/Purchase/Purchase56Model.php | 1110 +++++----- .../Purchase/PurchaseElementListModel.php | 236 +-- .../Process/Purchase/PurchaseElementModel.php | 294 +-- .../Wl/Book/Process/Quiz/QuizModel.php | 482 ++--- .../Book/Process/Relation/RelationModel.php | 286 +-- .../Book/Process/Resource/Resource54Model.php | 642 +++--- .../Wl/Book/Process/doc/Questions.md | 12 +- .../Business/Account/BusinessAccountModel.php | 84 +- .../AmazonRegion/AmazonRegionModel.php | 66 +- .../Wl/Business/BusinessAccessModel.php | 222 +- .../Wl/Business/BusinessCategorySid.php | 84 +- WellnessLiving/Wl/Business/BusinessModel.php | 156 +- .../Wl/Business/BusinessPaymentCaptcha.php | 30 +- .../Business/Config/BusinessConfigModel.php | 206 +- WellnessLiving/Wl/Business/DataModel.php | 670 +++--- .../Business/Design/BusinessDesignModel.php | 158 +- .../RsBusinessDesignLogoPositionSid.php | 50 +- .../Design/RsBusinessDesignLogoStyleSid.php | 60 +- .../Design/RsPageFrontendHeaderLayoutSid.php | 60 +- .../BusinessFranchiseLocationFormSid.php | 80 +- .../Location/BusinessFranchiseLocationSid.php | 66 +- .../Wl/Business/Lead/BusinessLeadModel.php | 136 +- .../Business/Partner/PartnerSettingsModel.php | 174 +- .../Business/Select/BusinessSelectModel.php | 146 +- .../Business/Type/BusinessTypeListModel.php | 50 +- .../User/Subscribe/SubscribeModel.php | 120 +- WellnessLiving/Wl/Catalog/Cart/CartModel.php | 412 ++-- .../Wl/Catalog/Cart/LimitQuantityModel.php | 196 +- .../Wl/Catalog/CatalogList/ElementModel.php | 1192 +++++------ .../Wl/Catalog/CatalogList/ListModel.php | 110 +- .../Wl/Catalog/Payment/PaymentModel.php | 1070 +++++----- .../Wl/Catalog/PurchaseOptionViewSid.php | 128 +- .../StaffApp/CatalogCart/CatalogCartModel.php | 550 ++--- .../Wl/Classes/ClassList/BookListModel.php | 148 +- .../Wl/Classes/ClassView/ElementModel.php | 336 +-- .../Wl/Classes/Period/Modify/ModifyModel.php | 256 +-- .../Classes/Promotion/ClassPromotionModel.php | 176 +- WellnessLiving/Wl/Classes/Tab/TabSid.php | 64 +- WellnessLiving/Wl/Collector/DebtListModel.php | 238 +-- WellnessLiving/Wl/Collector/DebtPayModel.php | 152 +- .../Wl/Collector/DebtTransactionModel.php | 168 +- .../Wl/Coupon/CouponList/ListModel.php | 164 +- .../Wl/Coupon/PurchaseRestrictionSid.php | 54 +- WellnessLiving/Wl/Coupon/WlTypeSid.php | 58 +- .../Wl/Event/Book/EventView/ElementModel.php | 1202 +++++------ .../Wl/Event/EventCancelWholeModel.php | 72 +- WellnessLiving/Wl/Event/EventListModel.php | 708 ++++--- .../Wl/Facebook/Login/FacebookLoginModel.php | 76 +- WellnessLiving/Wl/Facility/WlFacilitySid.php | 26 +- .../Wl/Family/Relation/RelationModel.php | 152 +- .../Family/Relation/WlFamilyRelationSid.php | 94 +- WellnessLiving/Wl/Fitbuilder/MessageModel.php | 29 - .../Wl/Google/Login/GoogleLoginModel.php | 76 +- WellnessLiving/Wl/Gym/Visit/VisitAddModel.php | 158 +- .../Wl/Holiday/BulkBusinessHolidayModel.php | 120 +- WellnessLiving/Wl/Holiday/HolidayModel.php | 106 +- .../Wl/Insurance/Catalog/ProgramListModel.php | 104 +- .../Field/EnrollmentFieldListModel.php | 232 +- .../Autymate/AutymateAccessModeSid.php | 40 +- .../Autymate/AutymateActivateModel.php | 112 +- .../Autymate/AutymateStatusSid.php | 40 +- .../Wl/Integration/Autymate/ReportModel.php | 332 +-- .../Curves/CurvesFranchiseLocationModel.php | 426 ++-- .../Wl/Integration/DragonFly/AccessModel.php | 98 +- .../Saml/SamlUserDeactivationModel.php | 60 +- WellnessLiving/Wl/Lead/LeadCaptcha.php | 30 +- WellnessLiving/Wl/Lead/LeadModel.php | 328 +-- WellnessLiving/Wl/Location/Flag/FlagModel.php | 124 +- WellnessLiving/Wl/Location/ListBulkModel.php | 246 +-- WellnessLiving/Wl/Location/LocationModel.php | 194 +- .../WorkTime/LocationWorkTimeModel.php | 96 +- WellnessLiving/Wl/Login/Agree/AgreeModel.php | 112 +- .../Wl/Login/Attendance/Add/AddModel.php | 430 ++-- .../Wl/Login/Attendance/AddOptionSid.php | 50 +- .../Attendance/AttendanceInfoByTokenModel.php | 640 +++--- .../Attendance/AttendanceListByTokenModel.php | 558 ++--- .../Login/Attendance/AttendanceListModel.php | 540 ++--- .../Wl/Login/Coupon/CouponModel.php | 90 +- WellnessLiving/Wl/Login/Mail/MailUseModel.php | 74 +- .../Wl/Login/Member/MemberModel.php | 134 +- .../Wl/Login/Member/MemberValidateModel.php | 202 +- .../Wl/Login/Permission/PermissionModel.php | 60 +- .../Login/Promotion/Convert/ConvertModel.php | 386 ++-- .../Promotion/Convert/ConvertWhenSid.php | 60 +- .../Promotion/PromotionPayPauseModel.php | 282 +-- WellnessLiving/Wl/Login/Type/SystemSid.php | 60 +- WellnessLiving/Wl/Mail/SendMailModel.php | 152 +- .../Wl/Member/Group/GroupList/ListModel.php | 174 +- .../Purchase/MemberByPromotionModel.php | 140 +- .../Microsoft/Login/MicrosoftLoginModel.php | 174 +- WellnessLiving/Wl/Mode/ModeSid.php | 268 +-- .../Send/NotificationSendModel.php | 140 +- .../Wl/Pay/Account/AccountModel.php | 190 +- .../Wl/Pay/Address/AddressModel.php | 96 +- .../Wl/Pay/Form/EnvironmentModel.php | 374 ++-- WellnessLiving/Wl/Pay/Method/ListModel.php | 148 +- .../Report/TransactionAllPaymentModel.php | 292 +-- .../Transaction/WlPayTransactionStatusSid.php | 270 +-- .../Wl/Profile/Alert/AlertModel.php | 232 +- .../Wl/Profile/Edit/CreateModel.php | 106 +- .../Wl/Profile/Edit/EditByTokenModel.php | 526 ++--- .../Wl/Profile/Edit/EditPasswordModel.php | 124 +- .../Form/Response/ResponseListModel.php | 214 +- .../PurchaseList/PurchaseListElementModel.php | 1618 +++++++------- .../PurchaseList/PurchaseListModel.php | 326 +-- .../Wl/Profile/RegisterSourceSid.php | 54 +- .../Wl/Profile/Setting/SettingModel.php | 188 +- WellnessLiving/Wl/Profile/Term/TermModel.php | 176 +- .../Promotion/Convert/PromotionConvertSid.php | 54 +- .../Wl/Promotion/Edit/Limit/Cycle/Sid.php | 40 +- .../Promotion/Index/PromotionIndexModel.php | 616 +++--- .../Wl/Promotion/PromotionListModel.php | 116 +- .../Wl/Promotion/PromotionModel.php | 328 +-- .../Wl/Purchase/Mail/PurchaseMailModel.php | 56 +- .../Purchase/Receipt/PurchaseReceiptModel.php | 848 ++++---- .../Wl/Purchase/Share/PurchaseShareModel.php | 74 +- WellnessLiving/Wl/Quiz/QuizElementModel.php | 274 +-- .../Wl/Quiz/Response/QuizResponse.php | 30 +- WellnessLiving/Wl/Quiz/Response/SourceSid.php | 88 +- .../Application/MemberInfoColorSid.php | 70 +- .../Application/MemberInfoIconSid.php | 124 +- .../Reception/Application/MemberInfoModel.php | 392 ++-- .../Application/ReceptionScheduleModel.php | 468 ++-- .../Generator/ReportGeneratorStatusSid.php | 174 +- .../Wl/Resource/Image/ImageIconSid.php | 314 +-- .../Wl/Resource/Image/ImageShapeSid.php | 60 +- .../Wl/Resource/Layout/LayoutModel.php | 514 ++--- .../Wl/Resource/Layout/LayoutShapeSid.php | 50 +- WellnessLiving/Wl/Review/ReviewCaptcha.php | 30 +- .../Wl/Review/ReviewFeatureModel.php | 72 +- .../Review/ReviewList/ReviewElementModel.php | 254 +-- .../Wl/Review/ReviewList/ReviewOrderSid.php | 60 +- WellnessLiving/Wl/Review/ReviewReplyModel.php | 104 +- .../Wl/Schedule/ClassList/ClassListModel.php | 510 ++--- .../Wl/Schedule/ClassView/ClassViewModel.php | 468 ++-- .../Wl/Schedule/ClassView/DenyReasonSid.php | 234 +- .../Wl/Schedule/Design/OptionSid.php | 54 +- .../Wl/Schedule/Page/PageElementModel.php | 722 +++---- .../StaffApp/ScheduleListByTokenModel.php | 756 +++---- .../Wl/Search/Tag/SearchTagListModel.php | 76 +- .../Wl/Service/ServiceBookFlowSid.php | 50 +- WellnessLiving/Wl/Service/ServicePriceSid.php | 60 +- .../Wl/Service/ServiceRequireSid.php | 86 +- WellnessLiving/Wl/Service/ServiceSid.php | 84 +- .../Shop/Product/PurchaseRestrictionSid.php | 54 +- .../Resource/ApplicationResourceModel.php | 54 +- .../Wl/Skin/Application/SkinModel.php | 114 +- .../Wl/Staff/Privilege/PrivilegeListModel.php | 128 +- WellnessLiving/Wl/Staff/StaffElementModel.php | 556 ++--- WellnessLiving/Wl/Tag/TagListModel.php | 86 +- WellnessLiving/Wl/Tax/TaxListModel.php | 78 +- WellnessLiving/Wl/Tax/TaxModel.php | 56 +- .../Wl/User/Info/UserIntegrationModel.php | 90 +- .../Wl/User/Referrer/ReferrerModel.php | 226 +- .../Catalog/Filter/Sort/FilterSortSid.php | 80 +- .../Video/Category/CategoryElementModel.php | 192 +- .../Wl/Video/Category/CategoryListModel.php | 150 +- .../Wl/Video/Level/LevelListModel.php | 84 +- WellnessLiving/Wl/Video/Level/LevelModel.php | 102 +- WellnessLiving/Wl/Video/Tag/TagListModel.php | 66 +- WellnessLiving/Wl/Video/Tag/TagModel.php | 102 +- WellnessLiving/Wl/Video/VideoElementModel.php | 768 +++---- WellnessLiving/Wl/Video/VideoListModel.php | 344 +-- WellnessLiving/Wl/Video/Watch/WatchModel.php | 128 +- .../Wl/Video/Watch/WatchSourceSid.php | 68 +- .../Wl/Virtual/VirtualProviderSid.php | 44 +- WellnessLiving/Wl/Visit/VisitStatusModel.php | 478 ++--- WellnessLiving/Wl/WlActivationSid.php | 98 +- WellnessLiving/Wl/WlAgeSid.php | 60 +- WellnessLiving/Wl/WlClassModifyActionSid.php | 50 +- WellnessLiving/Wl/WlClassModifyModeSid.php | 60 +- WellnessLiving/Wl/WlClassModifyStepSid.php | 72 +- WellnessLiving/Wl/WlFacilitySid.php | 174 +- WellnessLiving/Wl/WlHomeTourSid.php | 274 +-- WellnessLiving/Wl/WlPayProcessorSid.php | 90 +- WellnessLiving/Wl/WlPrivilegeRoleSid.php | 80 +- WellnessLiving/Wl/WlPrivilegeSid.php | 1880 ++++++++--------- WellnessLiving/Wl/WlProfileNoteSid.php | 96 +- WellnessLiving/Wl/WlProjectSid.php | 30 +- WellnessLiving/Wl/WlPurchasePriceSid.php | 40 +- WellnessLiving/Wl/WlRankTypeSid.php | 32 +- WellnessLiving/Wl/WlRegionSid.php | 56 +- WellnessLiving/Wl/WlReviewStatusSid.php | 50 +- WellnessLiving/Wl/WlScheduleTimeSid.php | 50 +- WellnessLiving/WlActivationSid.php | 26 +- WellnessLiving/WlAgeSid.php | 26 +- WellnessLiving/WlFacilitySid.php | 26 +- WellnessLiving/WlFile.php | 150 +- WellnessLiving/WlHomeTourSid.php | 26 +- WellnessLiving/WlModelMultiModel.php | 242 +-- WellnessLiving/WlPayProcessorSid.php | 26 +- WellnessLiving/WlPrivilegeSid.php | 22 +- WellnessLiving/WlProjectSid.php | 26 +- WellnessLiving/WlRegionSid.php | 26 +- WellnessLiving/doc/multi-model.md | 138 +- WellnessLiving/doc/problems.txt | 16 +- WellnessLiving/doc/upgrade-20211109.md | 84 +- composer.json | 26 +- composer.lock | 40 +- 250 files changed, 27868 insertions(+), 27873 deletions(-) delete mode 100644 WellnessLiving/Wl/Fitbuilder/MessageModel.php diff --git a/.gitignore b/.gitignore index 9fd1dabc..d8aed59f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -.idea -/vendor/ +.idea +/vendor/ diff --git a/README.md b/README.md index 45690a7e..87c54a1d 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,84 @@ -# WellnessLiving SDK - -## Register your application in our system - -To register your application, please contact WellnessLiving Support and provide the following information: - -* The name of your application. -* Information about what your application does. - -After registering, we'll send you the following information: - -* The application ID -* The secret code (authorization code) -* An example staff member in staging -* Your staging business ID for testing - -We'll also provide you with data to connect to our staging and production environments. -Unique application IDs and secret codes are required for both environments. - -## Download - -Our SDK can be downloaded at https://github.com/wellnessliving/wl-sdk. - -You can also use this bash one-liner to install the SDK with composer: -```shell -([ ! -f composer.json ] && echo '{"name":"sdk/project"}' > composer.json); composer config repositories.wellnessliving/wl-sdk git https://github.com/wellnessliving/wl-sdk && composer require 'wellnessliving/wl-sdk:>=1.0.0' && composer install -``` - -## How to run example script - -After the SDK has been downloaded, try to run the example script placed in the root directory of the WellnessLiving SDK. - -To run the example script, perform the following actions: - -1. Put your application ID and secret key in `example-config.php`. -2. Put your login/password of your example staff member in `example-sdk.php`. -3. Run the following command using your command-line interface: - - php example-sdk.php - -## Embed our SDK in your code - -To work with our SDK in your code, you'll need the `WellnessLiving/` directory from the root directory of the WellnessLiving SDK. - -You can remove example files from your project to suit your business needs. - -We recommend using our autoloader that's included in our example: - - require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; - -## Moving to production - -When you're ready to switch to the production environment, change your connection configuration class in your config file to inherit from -`\WellnessLiving\Config\WlConfigProduction`. By default, the connection configuration class inherits `\WellnessLiving\Config\WlConfigDeveloper`, which -points to the staging environment. - -## Notes about our release process - -We maintain three development branches: - -* Trunk -* Staging -* Production - -Trunk is where our Engineering Department develops new features. Most changes are made in the trunk. - -For about two weeks before the release to production, staging is recreated from the trunk. -Staging is used by our QA Team to find bugs. -Also, we use staging to present our new features to our customers so that they can be sure new features work as -they expected before new features move to production. - -### Versioning -The versioning scheme we use is based on [Semantic Versioning](https://semver.org), wherein version suffixes are added in accordance to [Composer's version stability protocols](https://getcomposer.org/doc/articles/versions.md#stabilities). -* Trunk (development) releases are tagged with only numbers, without any special suffix (for example, v1.0.4). -* Staging releases are tagged with `rc` suffix (for example, v1.0.3-rc). -* Production releases are tagged with `stable` suffix (for example, v1.0.0-stable). -If you're checking out a version with a specific suffix, changes in the API code are only available on the proper backend server (demo, stable, or production respectively) or a lower one (staging version is auto-merged into development, but not vice versa). - -**Note:** Our API and SDK is subject to change at any time without notice. - -Review changes in the SDK repository to determine if there are any incompatible changes. - -You must also write integration tests to be sure that your application is fully compatible with -our new version of SDK and staging. +# WellnessLiving SDK + +## Register your application in our system + +To register your application, please contact WellnessLiving Support and provide the following information: + +* The name of your application. +* Information about what your application does. + +After registering, we'll send you the following information: + +* The application ID +* The secret code (authorization code) +* An example staff member in staging +* Your staging business ID for testing + +We'll also provide you with data to connect to our staging and production environments. +Unique application IDs and secret codes are required for both environments. + +## Download + +Our SDK can be downloaded at https://github.com/wellnessliving/wl-sdk. + +You can also use this bash one-liner to install the SDK with composer: +```shell +([ ! -f composer.json ] && echo '{"name":"sdk/project"}' > composer.json); composer config repositories.wellnessliving/wl-sdk git https://github.com/wellnessliving/wl-sdk && composer require 'wellnessliving/wl-sdk:>=1.0.0' && composer install +``` + +## How to run example script + +After the SDK has been downloaded, try to run the example script placed in the root directory of the WellnessLiving SDK. + +To run the example script, perform the following actions: + +1. Put your application ID and secret key in `example-config.php`. +2. Put your login/password of your example staff member in `example-sdk.php`. +3. Run the following command using your command-line interface: + + php example-sdk.php + +## Embed our SDK in your code + +To work with our SDK in your code, you'll need the `WellnessLiving/` directory from the root directory of the WellnessLiving SDK. + +You can remove example files from your project to suit your business needs. + +We recommend using our autoloader that's included in our example: + + require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; + +## Moving to production + +When you're ready to switch to the production environment, change your connection configuration class in your config file to inherit from +`\WellnessLiving\Config\WlConfigProduction`. By default, the connection configuration class inherits `\WellnessLiving\Config\WlConfigDeveloper`, which +points to the staging environment. + +## Notes about our release process + +We maintain three development branches: + +* Trunk +* Staging +* Production + +Trunk is where our Engineering Department develops new features. Most changes are made in the trunk. + +For about two weeks before the release to production, staging is recreated from the trunk. +Staging is used by our QA Team to find bugs. +Also, we use staging to present our new features to our customers so that they can be sure new features work as +they expected before new features move to production. + +### Versioning +The versioning scheme we use is based on [Semantic Versioning](https://semver.org), wherein version suffixes are added in accordance to [Composer's version stability protocols](https://getcomposer.org/doc/articles/versions.md#stabilities). +* Trunk (development) releases are tagged with only numbers, without any special suffix (for example, v1.0.4). +* Staging releases are tagged with `rc` suffix (for example, v1.0.3-rc). +* Production releases are tagged with `stable` suffix (for example, v1.0.0-stable). +If you're checking out a version with a specific suffix, changes in the API code are only available on the proper backend server (demo, stable, or production respectively) or a lower one (staging version is auto-merged into development, but not vice versa). + +**Note:** Our API and SDK is subject to change at any time without notice. + +Review changes in the SDK repository to determine if there are any incompatible changes. + +You must also write integration tests to be sure that your application is fully compatible with +our new version of SDK and staging. diff --git a/WellnessLiving/Config/WlConfigDeveloper.php b/WellnessLiving/Config/WlConfigDeveloper.php index d13702b5..0de174c6 100644 --- a/WellnessLiving/Config/WlConfigDeveloper.php +++ b/WellnessLiving/Config/WlConfigDeveloper.php @@ -1,47 +1,47 @@ -<?php - -namespace WellnessLiving\Config; - -use WellnessLiving\Wl\WlRegionSid; - -/** - * Base class for Sandbox configurations. - * - * When creating an instance of a configuration class, the value of the <var>id_region</var> argument - * affects the selection of the testing branch: - * * <var>id_region</var>={@link \WellnessLiving\WlRegionSid::AP_SOUTHEAST_2} - Trunk branch (Demo data center); - * * <var>id_region</var>={@link \WellnessLiving\WlRegionSid::US_EAST_1} - Stable branch (Staging data center). - */ -abstract class WlConfigDeveloper extends WlConfigAbstract -{ - /** - * @inheritDoc - */ - protected static $COOKIE_PERSISTENT=[ - WlRegionSid::AP_SOUTHEAST_2 => 'dp', - WlRegionSid::US_EAST_1 => 'sp', - ]; - - /** - * @inheritDoc - */ - protected static $COOKIE_TRANSIENT=[ - WlRegionSid::AP_SOUTHEAST_2 => 'dt', - WlRegionSid::US_EAST_1 => 'st', - ]; - - /** - * @inheritDoc - */ - protected static $REGION_URL = [ - WlRegionSid::AP_SOUTHEAST_2 => 'https://demo.wellnessliving.com/', - WlRegionSid::US_EAST_1 => 'https://staging.wellnessliving.com/', - ]; - - /** - * @inheritDoc - */ - const URL_EDGE='https://edge.sandbox.wellnessliving.com/'; -} - +<?php + +namespace WellnessLiving\Config; + +use WellnessLiving\Wl\WlRegionSid; + +/** + * Base class for Sandbox configurations. + * + * When creating an instance of a configuration class, the value of the <var>id_region</var> argument + * affects the selection of the testing branch: + * * <var>id_region</var>={@link \WellnessLiving\WlRegionSid::AP_SOUTHEAST_2} - Trunk branch (Demo data center); + * * <var>id_region</var>={@link \WellnessLiving\WlRegionSid::US_EAST_1} - Stable branch (Staging data center). + */ +abstract class WlConfigDeveloper extends WlConfigAbstract +{ + /** + * @inheritDoc + */ + protected static $COOKIE_PERSISTENT=[ + WlRegionSid::AP_SOUTHEAST_2 => 'dp', + WlRegionSid::US_EAST_1 => 'sp', + ]; + + /** + * @inheritDoc + */ + protected static $COOKIE_TRANSIENT=[ + WlRegionSid::AP_SOUTHEAST_2 => 'dt', + WlRegionSid::US_EAST_1 => 'st', + ]; + + /** + * @inheritDoc + */ + protected static $REGION_URL = [ + WlRegionSid::AP_SOUTHEAST_2 => 'https://demo.wellnessliving.com/', + WlRegionSid::US_EAST_1 => 'https://staging.wellnessliving.com/', + ]; + + /** + * @inheritDoc + */ + const URL_EDGE='https://edge.sandbox.wellnessliving.com/'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Captcha/CaptchaRequireModel.php b/WellnessLiving/Core/Captcha/CaptchaRequireModel.php index 02471027..518c670e 100644 --- a/WellnessLiving/Core/Captcha/CaptchaRequireModel.php +++ b/WellnessLiving/Core/Captcha/CaptchaRequireModel.php @@ -1,37 +1,37 @@ -<?php - -namespace WellnessLiving\Core\Captcha; - -use WellnessLiving\WlModelAbstract; - -/** - * Checks if a CAPTCHA is required. - */ -class CaptchaRequireModel extends WlModelAbstract -{ - /** - * Arguments for creating CAPTCHA object. - * - * @get get - * @var array - */ - public $a_arguments = []; - - /** - * The CID of the CAPTCHA. - * - * @get get - * @var int - */ - public $cid_captcha = 0; - - /** - * This will be `true` if a CAPTCHA is required. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_require = false; -} - +<?php + +namespace WellnessLiving\Core\Captcha; + +use WellnessLiving\WlModelAbstract; + +/** + * Checks if a CAPTCHA is required. + */ +class CaptchaRequireModel extends WlModelAbstract +{ + /** + * Arguments for creating CAPTCHA object. + * + * @get get + * @var array + */ + public $a_arguments = []; + + /** + * The CID of the CAPTCHA. + * + * @get get + * @var int + */ + public $cid_captcha = 0; + + /** + * This will be `true` if a CAPTCHA is required. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_require = false; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Drive/DriveTypeSid.php b/WellnessLiving/Core/Drive/DriveTypeSid.php index b36643b4..3e1a284a 100644 --- a/WellnessLiving/Core/Drive/DriveTypeSid.php +++ b/WellnessLiving/Core/Drive/DriveTypeSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Core\Drive; - -/** - * List of image types. - */ -class DriveTypeSid -{ - /** - * Bmp image. - */ - const BMP = 4; - - /** - * Gif image. - */ - const GIF = 1; - - /** - * Jpeg image. - */ - const JPEG = 2; - - /** - * Png image. - */ - const PNG = 3; -} - +<?php + +namespace WellnessLiving\Core\Drive; + +/** + * List of image types. + */ +class DriveTypeSid +{ + /** + * Bmp image. + */ + const BMP = 4; + + /** + * Gif image. + */ + const GIF = 1; + + /** + * Jpeg image. + */ + const JPEG = 2; + + /** + * Png image. + */ + const PNG = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php index bb1a8a62..542776bf 100644 --- a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php +++ b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php @@ -1,216 +1,216 @@ -<?php - -namespace WellnessLiving\Core\Drive\ImageUpload; - -/** - * An endpoint that performs the final action to an uploaded image. - * Images are uploaded using {@link ImageUploadTemporaryModel}. - */ -class ImageUploadModel extends \WellnessLiving\Custom\Core\Drive\ImageUpload\ImageUploadModel -{ - /** - * Image information for every ID. - * - * @post result - * @var array[] - */ - public $a_image; - - /** - * Information about the text for an empty image upload. See the PHP side for more information. - * - * @get result - * @put result - * @var array|null - */ - public $a_text_empty; - - /** - * An HTML string to use for the image recommendation. - * - * @get result - * @put result - * @var string - */ - public $html_image_hint; - - /** - * The maximum height of image. - * - * @get result - * @put result - * @var int|null - */ - public $i_height_max; - - /** - * The minimum height of image. - * - * @get result - * @put result - * @var int|null - */ - public $i_height_min; - - /** - * The height of the thumbnail image. - * This will be `null` until it's loaded from the server. - * - * @get result - * @put result - * @var int|null - */ - public $i_thumbnail_height; - - /** - * The width of the thumbnail image. - * This will be `null` until it's loaded from the server. - * - * @get result - * @put result - * @var int|null - */ - public $i_thumbnail_width; - - /** - * The maximum width of the image. - * - * @get result - * @put result - * @var int|null - */ - public $i_width_max; - - /** - * The minimum width of the image. - * - * @get result - * @put result - * @var int|null - */ - public $i_width_min; - - /** - * If `true`, the image is treated as circular. Otherwise, this will be `false`. - * - * @get result - * @put result - * @var bool|null - */ - public $is_circular; - - /** - * If `true`, image deletion is permitted. Otherwise, this will be `false`. - * - * This will be `null` until it's loaded from the server. - * - * @get result - * @put result - * @var bool|null - */ - public $is_delete_allow; - - /** - * If `true`, the temporary image will be retrieved. Otherwise, this will be `false`. - * - * @get get - * @put get - * @var bool - */ - public $is_temporary = false; - - /** - * The image ID set in {@link ImageUploadModel::$s_class}. - * - * @get get - * @put get - * @var string - */ - public $k_id = ''; - - /** - * The name of the class that manages this image. - * - * @get get - * @post get - * @put get - * @var string - */ - public $s_class = ''; - - /** - * The link protection code. - * - * @get result - * @put result - * @var string|null - */ - public $s_code; - - /** - * The action that must be performed to the image. - * - * @put post - * @var string - */ - public $s_command = ''; - - /** - * The image link. - * - * @get result - * @put result - * @var string|null - */ - public $s_link; - - /** - * A list of image IDs set in {@link ImageUploadModel::$s_class}, serialised using JSON. - * - * This will be `null` if there's no data being sent by the client. - * - * @post post - * @var string|null - */ - public $text_id = null; - - /** - * The image URL that should be displayed in cases where no image is uploaded. - * This will be `null` until it's loaded from the server. - * - * @get result - * @put result - * @var string|null - */ - public $url_empty; - - /** - * The thumbnail URL of the image. - * This will be `null` until it's loaded from the server. - * - * @get result - * @put result - * @var string|null - */ - public $url_thumbnail; - - /** - * The script URL where new image should be uploaded from. - * - * @get result - * @put result - * @var string|null - */ - public $url_upload; - - /** - * The URL of the full image. - * - * @get result - * @put result - * @var string|null - */ - public $url_view; -} - +<?php + +namespace WellnessLiving\Core\Drive\ImageUpload; + +/** + * An endpoint that performs the final action to an uploaded image. + * Images are uploaded using {@link ImageUploadTemporaryModel}. + */ +class ImageUploadModel extends \WellnessLiving\Custom\Core\Drive\ImageUpload\ImageUploadModel +{ + /** + * Image information for every ID. + * + * @post result + * @var array[] + */ + public $a_image; + + /** + * Information about the text for an empty image upload. See the PHP side for more information. + * + * @get result + * @put result + * @var array|null + */ + public $a_text_empty; + + /** + * An HTML string to use for the image recommendation. + * + * @get result + * @put result + * @var string + */ + public $html_image_hint; + + /** + * The maximum height of image. + * + * @get result + * @put result + * @var int|null + */ + public $i_height_max; + + /** + * The minimum height of image. + * + * @get result + * @put result + * @var int|null + */ + public $i_height_min; + + /** + * The height of the thumbnail image. + * This will be `null` until it's loaded from the server. + * + * @get result + * @put result + * @var int|null + */ + public $i_thumbnail_height; + + /** + * The width of the thumbnail image. + * This will be `null` until it's loaded from the server. + * + * @get result + * @put result + * @var int|null + */ + public $i_thumbnail_width; + + /** + * The maximum width of the image. + * + * @get result + * @put result + * @var int|null + */ + public $i_width_max; + + /** + * The minimum width of the image. + * + * @get result + * @put result + * @var int|null + */ + public $i_width_min; + + /** + * If `true`, the image is treated as circular. Otherwise, this will be `false`. + * + * @get result + * @put result + * @var bool|null + */ + public $is_circular; + + /** + * If `true`, image deletion is permitted. Otherwise, this will be `false`. + * + * This will be `null` until it's loaded from the server. + * + * @get result + * @put result + * @var bool|null + */ + public $is_delete_allow; + + /** + * If `true`, the temporary image will be retrieved. Otherwise, this will be `false`. + * + * @get get + * @put get + * @var bool + */ + public $is_temporary = false; + + /** + * The image ID set in {@link ImageUploadModel::$s_class}. + * + * @get get + * @put get + * @var string + */ + public $k_id = ''; + + /** + * The name of the class that manages this image. + * + * @get get + * @post get + * @put get + * @var string + */ + public $s_class = ''; + + /** + * The link protection code. + * + * @get result + * @put result + * @var string|null + */ + public $s_code; + + /** + * The action that must be performed to the image. + * + * @put post + * @var string + */ + public $s_command = ''; + + /** + * The image link. + * + * @get result + * @put result + * @var string|null + */ + public $s_link; + + /** + * A list of image IDs set in {@link ImageUploadModel::$s_class}, serialised using JSON. + * + * This will be `null` if there's no data being sent by the client. + * + * @post post + * @var string|null + */ + public $text_id = null; + + /** + * The image URL that should be displayed in cases where no image is uploaded. + * This will be `null` until it's loaded from the server. + * + * @get result + * @put result + * @var string|null + */ + public $url_empty; + + /** + * The thumbnail URL of the image. + * This will be `null` until it's loaded from the server. + * + * @get result + * @put result + * @var string|null + */ + public $url_thumbnail; + + /** + * The script URL where new image should be uploaded from. + * + * @get result + * @put result + * @var string|null + */ + public $url_upload; + + /** + * The URL of the full image. + * + * @get result + * @put result + * @var string|null + */ + public $url_view; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php index 71d75dcf..4b7a02f6 100644 --- a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php +++ b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php @@ -1,125 +1,125 @@ -<?php - -namespace WellnessLiving\Core\Drive\ImageUpload; - -use WellnessLiving\Core\Drive\DriveTypeSid; -use WellnessLiving\WlFile; -use WellnessLiving\WlModelAbstract; - -/** - * Uploads a raw image to a server. - * - * You must save an image by using {@link ImageUploadModel}. - */ -class ImageUploadTemporaryModel extends WlModelAbstract -{ - /** - * The image to be uploaded. - * +<?php + +namespace WellnessLiving\Core\Drive\ImageUpload; + +use WellnessLiving\Core\Drive\DriveTypeSid; +use WellnessLiving\WlFile; +use WellnessLiving\WlModelAbstract; + +/** + * Uploads a raw image to a server. + * + * You must save an image by using {@link ImageUploadModel}. + */ +class ImageUploadTemporaryModel extends WlModelAbstract +{ + /** + * The image to be uploaded. + * * @post post * @var WlFile - */ - public $f_image; - - /** - * If `true`, a crop is used. Otherwise, this will be `false` if a crop isn't used (the image is saved in its original size). - * - * @post result - * @var bool - */ - public $has_crop; - - /** - * The actual height of the thumbnail image. - * - * @post result - * @var int - */ - public $i_height; - - /** - * The height of the original image. - * - * @post result - * @var int - */ - public $i_height_src; - - /** - * The angle of the image rotation compared to the original. - * - * @post result - * @var int - */ - public $i_rotate; - - /** - * The actual width of the thumbnail image. - * - * @post result - * @var int - */ - public $i_width; - - /** - * The width of the original image. - * - * @post result - * @var int - */ - public $i_width_src; - - /** - * The image type ID. One of the {@link DriveTypeSid} constants. - * - * @post result - * @var int - */ - public $id_type_src; - - /** - * If `true`, the thumbnail is a resized variant of the original image. - * - * @post result - * @var bool - */ - public $is_resize; - - /** - * The key of the image within {@link ImageUploadTemporaryModel::$s_class}. - * - * For example, for a user's photo, specify the user's key here. - * - * @post get - * @var string - */ - public $k_id = ''; - - /** - * The name of the class that manages this image. - * - * For example, for a user's photo, specify the string `PassportLoginImage` here. - * - * @post get - * @var string - */ - public $s_class = ''; - - /** - * The URL to the resized and rotated image in file storage. - * - * @post result - * @var string - */ - public $url_thumbnail; - - /** - * The URL to the original image in file storage. - * - * @post result - * @var string - */ - public $url_view; -} - + */ + public $f_image; + + /** + * If `true`, a crop is used. Otherwise, this will be `false` if a crop isn't used (the image is saved in its original size). + * + * @post result + * @var bool + */ + public $has_crop; + + /** + * The actual height of the thumbnail image. + * + * @post result + * @var int + */ + public $i_height; + + /** + * The height of the original image. + * + * @post result + * @var int + */ + public $i_height_src; + + /** + * The angle of the image rotation compared to the original. + * + * @post result + * @var int + */ + public $i_rotate; + + /** + * The actual width of the thumbnail image. + * + * @post result + * @var int + */ + public $i_width; + + /** + * The width of the original image. + * + * @post result + * @var int + */ + public $i_width_src; + + /** + * The image type ID. One of the {@link DriveTypeSid} constants. + * + * @post result + * @var int + */ + public $id_type_src; + + /** + * If `true`, the thumbnail is a resized variant of the original image. + * + * @post result + * @var bool + */ + public $is_resize; + + /** + * The key of the image within {@link ImageUploadTemporaryModel::$s_class}. + * + * For example, for a user's photo, specify the user's key here. + * + * @post get + * @var string + */ + public $k_id = ''; + + /** + * The name of the class that manages this image. + * + * For example, for a user's photo, specify the string `PassportLoginImage` here. + * + * @post get + * @var string + */ + public $s_class = ''; + + /** + * The URL to the resized and rotated image in file storage. + * + * @post result + * @var string + */ + public $url_thumbnail; + + /** + * The URL to the original image in file storage. + * + * @post result + * @var string + */ + public $url_view; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Geo/Region/RegionModel.php b/WellnessLiving/Core/Geo/Region/RegionModel.php index a76764f4..e96aa578 100644 --- a/WellnessLiving/Core/Geo/Region/RegionModel.php +++ b/WellnessLiving/Core/Geo/Region/RegionModel.php @@ -1,74 +1,74 @@ -<?php - -namespace WellnessLiving\Core\Geo\Region; - -use WellnessLiving\Core\Locale\LocaleSid; -use WellnessLiving\WlModelAbstract; - -/** - * Gets a list of regions for a specified country or all countries. - * A region refers to a jurisdiction like a state, province, or territory. - */ -class RegionModel extends WlModelAbstract -{ - /** - * A list of regions grouped by their country. - * <dl> - * <dt> - * string[] <var>a_region</var> - * </dt> - * <dd> - * A list of regions in the country. Every element has the next keys: <dl> - * <dt> - * string <var>k_geo</var> - * </dt> - * <dd> - * The region key. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The name of the region. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>k_geo_country</var> - * </dt> - * <dd> - * The country key. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The name of the country. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_region; - - /** - * The locale ID to find regions for. One of the {@link LocaleSid} constants. - * - * @get get - * @var int - */ - public $id_locale = 0; - - /** - * Determines whether to get regions for all locales. - * - * If `true`, this will get regions for all locales. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $is_locale_all = false; -} - +<?php + +namespace WellnessLiving\Core\Geo\Region; + +use WellnessLiving\Core\Locale\LocaleSid; +use WellnessLiving\WlModelAbstract; + +/** + * Gets a list of regions for a specified country or all countries. + * A region refers to a jurisdiction like a state, province, or territory. + */ +class RegionModel extends WlModelAbstract +{ + /** + * A list of regions grouped by their country. + * <dl> + * <dt> + * string[] <var>a_region</var> + * </dt> + * <dd> + * A list of regions in the country. Every element has the next keys: <dl> + * <dt> + * string <var>k_geo</var> + * </dt> + * <dd> + * The region key. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The name of the region. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>k_geo_country</var> + * </dt> + * <dd> + * The country key. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The name of the country. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_region; + + /** + * The locale ID to find regions for. One of the {@link LocaleSid} constants. + * + * @get get + * @var int + */ + public $id_locale = 0; + + /** + * Determines whether to get regions for all locales. + * + * If `true`, this will get regions for all locales. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_locale_all = false; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Google/GoogleCaptchaModel.php b/WellnessLiving/Core/Google/GoogleCaptchaModel.php index 1c1b02fa..3cb02c78 100644 --- a/WellnessLiving/Core/Google/GoogleCaptchaModel.php +++ b/WellnessLiving/Core/Google/GoogleCaptchaModel.php @@ -1,32 +1,32 @@ -<?php - -namespace WellnessLiving\Core\Google; - -use WellnessLiving\WlModelAbstract; - -/** - * Stores the user token CAPTCHA. - */ -class GoogleCaptchaModel extends WlModelAbstract -{ - /** - * The action name. - * - * Used to determine the place where the CAPTCHA is needed in documentation for endpoints that used - * the CAPTCHA. - * - * @put post - * @var string - */ - public $text_action = ''; - - /** - * The user token CAPTCHA. - * - * @put post - * @var string - */ - public $text_token = ''; -} - +<?php + +namespace WellnessLiving\Core\Google; + +use WellnessLiving\WlModelAbstract; + +/** + * Stores the user token CAPTCHA. + */ +class GoogleCaptchaModel extends WlModelAbstract +{ + /** + * The action name. + * + * Used to determine the place where the CAPTCHA is needed in documentation for endpoints that used + * the CAPTCHA. + * + * @put post + * @var string + */ + public $text_action = ''; + + /** + * The user token CAPTCHA. + * + * @put post + * @var string + */ + public $text_token = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Locale/CurrencySid.php b/WellnessLiving/Core/Locale/CurrencySid.php index 7a81aa40..3dc1de7c 100644 --- a/WellnessLiving/Core/Locale/CurrencySid.php +++ b/WellnessLiving/Core/Locale/CurrencySid.php @@ -1,84 +1,84 @@ -<?php - -namespace WellnessLiving\Core\Locale; - -/** - * A list of currencies. - * - * Currency constant names must comply with the standard `ISO 4217` for correct integration with other services. - * - * @link https://docs.1010data.com/1010dataReferenceManual/DataTypesAndFormats/currencyUnitCodes.html - * - * Last used ID: 13 - */ -abstract class CurrencySid -{ - /** - * United Arab Emirates dirham. - */ - const AED = 11; - - /** - * Australian dollar. - */ - const AUD = 6; - - /** - * Canadian dollar. - */ - const CAD = 4; - - /** - * Egypt Pound. - */ - const EGP = 8; - - /** - * Euro. - */ - const EUR = 13; - - /** - * British pound. - */ - const GBP = 3; - - /** - * Kuwaiti dinar. - */ - const KWD = 14; - - /** - * Cayman Islands dollar. - */ - const KYD = 5; - - /** - * New Zealand Dollar. - */ - const NZD = 10; - - /** - * Philippines Pesco. - */ - const PHP = 12; - - /** - * Unknown code. - * - * Used when currency is not specified or is not known. - */ - const UNKNOWN = 2; - - /** - * US dollars. - */ - const USD = 1; - - /** - * South African rand. - */ - const ZAR = 7; -} - +<?php + +namespace WellnessLiving\Core\Locale; + +/** + * A list of currencies. + * + * Currency constant names must comply with the standard `ISO 4217` for correct integration with other services. + * + * @link https://docs.1010data.com/1010dataReferenceManual/DataTypesAndFormats/currencyUnitCodes.html + * + * Last used ID: 13 + */ +abstract class CurrencySid +{ + /** + * United Arab Emirates dirham. + */ + const AED = 11; + + /** + * Australian dollar. + */ + const AUD = 6; + + /** + * Canadian dollar. + */ + const CAD = 4; + + /** + * Egypt Pound. + */ + const EGP = 8; + + /** + * Euro. + */ + const EUR = 13; + + /** + * British pound. + */ + const GBP = 3; + + /** + * Kuwaiti dinar. + */ + const KWD = 14; + + /** + * Cayman Islands dollar. + */ + const KYD = 5; + + /** + * New Zealand Dollar. + */ + const NZD = 10; + + /** + * Philippines Pesco. + */ + const PHP = 12; + + /** + * Unknown code. + * + * Used when currency is not specified or is not known. + */ + const UNKNOWN = 2; + + /** + * US dollars. + */ + const USD = 1; + + /** + * South African rand. + */ + const ZAR = 7; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordApplyModel.php b/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordApplyModel.php index 9dcb8d66..7a9b288a 100644 --- a/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordApplyModel.php +++ b/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordApplyModel.php @@ -1,55 +1,55 @@ -<?php - -namespace WellnessLiving\Core\Passport\ChangePassword; - -use WellnessLiving\WlModelAbstract; - -/** - * Finishes the password change procedure for a user. - * - * This endpoint advances the {@link ChangePasswordBeginModel} endpoint. - * Set your desired password in the {@link ChangePasswordBeginModel::$url_reset} - * field, where you use the "reset password" link via email to get the user's new password for this endpoint. - * - * When the user goes to your page, get <tt>text_mail</tt> and <tt>text_code</tt> from the URL, then post this model to set a password for user. - * - * Use <tt>text_mail</tt> as the value for {@link ChangePasswordApplyModel::$text_login} and - * {@link ChangePasswordApplyModel::$text_mail}, - * and <tt>text_code</tt> as the value for {@link ChangePasswordApplyModel::$text_code}. - */ -class ChangePasswordApplyModel extends WlModelAbstract -{ - /** - * The verification code, which can be obtained from the "reset password" email link. This is a required value. - * - * @post get - * @var string - */ - public $text_code = ''; - - /** - * The user's login, which can be obtained from the "reset password" email link. This is a required value. - * - * @post get - * @var string - */ - public $text_login = ''; - - /** - * The user's email address, which can be obtained from the "reset password" email link. This is a required value. - * - * @post get - * @var string - */ - public $text_mail = ''; - - /** - * The user's new password. This is a required value. - * - * @post post - * @var string - */ - public $text_password = ''; -} - +<?php + +namespace WellnessLiving\Core\Passport\ChangePassword; + +use WellnessLiving\WlModelAbstract; + +/** + * Finishes the password change procedure for a user. + * + * This endpoint advances the {@link ChangePasswordBeginModel} endpoint. + * Set your desired password in the {@link ChangePasswordBeginModel::$url_reset} + * field, where you use the "reset password" link via email to get the user's new password for this endpoint. + * + * When the user goes to your page, get <tt>text_mail</tt> and <tt>text_code</tt> from the URL, then post this model to set a password for user. + * + * Use <tt>text_mail</tt> as the value for {@link ChangePasswordApplyModel::$text_login} and + * {@link ChangePasswordApplyModel::$text_mail}, + * and <tt>text_code</tt> as the value for {@link ChangePasswordApplyModel::$text_code}. + */ +class ChangePasswordApplyModel extends WlModelAbstract +{ + /** + * The verification code, which can be obtained from the "reset password" email link. This is a required value. + * + * @post get + * @var string + */ + public $text_code = ''; + + /** + * The user's login, which can be obtained from the "reset password" email link. This is a required value. + * + * @post get + * @var string + */ + public $text_login = ''; + + /** + * The user's email address, which can be obtained from the "reset password" email link. This is a required value. + * + * @post get + * @var string + */ + public $text_mail = ''; + + /** + * The user's new password. This is a required value. + * + * @post post + * @var string + */ + public $text_password = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordBeginModel.php b/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordBeginModel.php index 193cb495..02d85513 100644 --- a/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordBeginModel.php +++ b/WellnessLiving/Core/Passport/ChangePassword/ChangePasswordBeginModel.php @@ -1,52 +1,52 @@ -<?php - -namespace WellnessLiving\Core\Passport\ChangePassword; - -use WellnessLiving\WlModelAbstract; - -/** - * Starts the password change procedure for a user. - * - * Post this to send the user the "reset password" email. - */ -class ChangePasswordBeginModel extends WlModelAbstract -{ - /** - * The characters to pass captcha test. - * - * Specify this only if server requires captcha. - * - * @post post - * @var string - */ - public $text_captcha = ''; - - /** - * The error code. This will be an empty string if the email has been sent successfully. - * - * @post result - * @var string - */ - public $text_error; - - /** - * The user's email. This is a required value. - * - * @post post - * @var string - */ - public $text_mail = ''; - - /** - * The URL for the password reset page. This link will be used in a password reset email. - * - * Specify this only if you want to send the user to a custom password reset page. - * If empty, the default URL page will be used. - * - * @post post - * @var string - */ - public $url_reset = ''; -} - +<?php + +namespace WellnessLiving\Core\Passport\ChangePassword; + +use WellnessLiving\WlModelAbstract; + +/** + * Starts the password change procedure for a user. + * + * Post this to send the user the "reset password" email. + */ +class ChangePasswordBeginModel extends WlModelAbstract +{ + /** + * The characters to pass captcha test. + * + * Specify this only if server requires captcha. + * + * @post post + * @var string + */ + public $text_captcha = ''; + + /** + * The error code. This will be an empty string if the email has been sent successfully. + * + * @post result + * @var string + */ + public $text_error; + + /** + * The user's email. This is a required value. + * + * @post post + * @var string + */ + public $text_mail = ''; + + /** + * The URL for the password reset page. This link will be used in a password reset email. + * + * Specify this only if you want to send the user to a custom password reset page. + * If empty, the default URL page will be used. + * + * @post post + * @var string + */ + public $url_reset = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Passport/Login/Register/RegisterConfirmModel.php b/WellnessLiving/Core/Passport/Login/Register/RegisterConfirmModel.php index efadba7d..acf00f62 100644 --- a/WellnessLiving/Core/Passport/Login/Register/RegisterConfirmModel.php +++ b/WellnessLiving/Core/Passport/Login/Register/RegisterConfirmModel.php @@ -1,45 +1,45 @@ -<?php - -namespace WellnessLiving\Core\Passport\Login\Register; - -use WellnessLiving\WlModelAbstract; - -/** - * Confirm the user's email and completes the registration process. - */ -class RegisterConfirmModel extends WlModelAbstract -{ - /** - * The unique registration code. - * - * @post get - * @var string - */ - public $text_code = ''; - - /** - * The user's login. - * - * @post get - * @var string - */ - public $text_login = ''; - - /** - * The user's email. - * - * @post get - * @var string - */ - public $text_mail = ''; - - /** - * The key of the new registered user. - * - * @post result - * @var string - */ - public $uid; -} - +<?php + +namespace WellnessLiving\Core\Passport\Login\Register; + +use WellnessLiving\WlModelAbstract; + +/** + * Confirm the user's email and completes the registration process. + */ +class RegisterConfirmModel extends WlModelAbstract +{ + /** + * The unique registration code. + * + * @post get + * @var string + */ + public $text_code = ''; + + /** + * The user's login. + * + * @post get + * @var string + */ + public $text_login = ''; + + /** + * The user's email. + * + * @post get + * @var string + */ + public $text_mail = ''; + + /** + * The key of the new registered user. + * + * @post result + * @var string + */ + public $uid; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Passport/User/Email/EmailExistModel.php b/WellnessLiving/Core/Passport/User/Email/EmailExistModel.php index 6673063b..f1b4fc51 100644 --- a/WellnessLiving/Core/Passport/User/Email/EmailExistModel.php +++ b/WellnessLiving/Core/Passport/User/Email/EmailExistModel.php @@ -1,29 +1,29 @@ -<?php - -namespace WellnessLiving\Core\Passport\User\Email; - -use WellnessLiving\WlModelAbstract; - -/** - * Checks if the email address exists in the system. - */ -class EmailExistModel extends WlModelAbstract -{ - /** - * Determines whether the email address exists. - * - * @get result - * @var bool - */ - public $is_exist = false; - - /** - * The email address. - * - * @get get - * @var string - */ - public $text_email = ''; -} - +<?php + +namespace WellnessLiving\Core\Passport\User\Email; + +use WellnessLiving\WlModelAbstract; + +/** + * Checks if the email address exists in the system. + */ +class EmailExistModel extends WlModelAbstract +{ + /** + * Determines whether the email address exists. + * + * @get result + * @var bool + */ + public $is_exist = false; + + /** + * The email address. + * + * @get get + * @var string + */ + public $text_email = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Quiz/ResponseStatusSid.php b/WellnessLiving/Core/Quiz/ResponseStatusSid.php index 73a424db..73d12bf1 100644 --- a/WellnessLiving/Core/Quiz/ResponseStatusSid.php +++ b/WellnessLiving/Core/Quiz/ResponseStatusSid.php @@ -1,44 +1,44 @@ -<?php - -namespace WellnessLiving\Core\Quiz; - -/** - * List of response statuses. - * - * Last used ID: 5 - */ -class ResponseStatusSid -{ - /** - * Response is active. - */ - const ACTIVE = 1; - - /** - * Response is active and has amendments. - */ - const ACTIVE_AMEND = 5; - - /** - * Response in draft mode. - */ - const DRAFT = 2; - - /** - * Response in inactive. - * - * It's temporary status which used when response is saved during registration/booking/purchase process, - * after this process is ended response status changed to {@link ResponseStatusSid::ACTIVE}. - */ - const INACTIVE = 3; - - /** - * Response in inactive and in draft mode. - * - * It's temporary status which used when response is saved in draft mode during registration/booking/purchase process, - * after this process is ended response status changed to {@link ResponseStatusSid::DRAFT}. - */ - const INACTIVE_DRAFT = 4; -} - +<?php + +namespace WellnessLiving\Core\Quiz; + +/** + * List of response statuses. + * + * Last used ID: 5 + */ +class ResponseStatusSid +{ + /** + * Response is active. + */ + const ACTIVE = 1; + + /** + * Response is active and has amendments. + */ + const ACTIVE_AMEND = 5; + + /** + * Response in draft mode. + */ + const DRAFT = 2; + + /** + * Response in inactive. + * + * It's temporary status which used when response is saved during registration/booking/purchase process, + * after this process is ended response status changed to {@link ResponseStatusSid::ACTIVE}. + */ + const INACTIVE = 3; + + /** + * Response in inactive and in draft mode. + * + * It's temporary status which used when response is saved in draft mode during registration/booking/purchase process, + * after this process is ended response status changed to {@link ResponseStatusSid::DRAFT}. + */ + const INACTIVE_DRAFT = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Request/Api/Application/Credential/CredentialModel.php b/WellnessLiving/Core/Request/Api/Application/Credential/CredentialModel.php index eba3820c..b6b72fb0 100644 --- a/WellnessLiving/Core/Request/Api/Application/Credential/CredentialModel.php +++ b/WellnessLiving/Core/Request/Api/Application/Credential/CredentialModel.php @@ -1,42 +1,42 @@ -<?php - -namespace WellnessLiving\Core\Request\Api\Application\Credential; - -use WellnessLiving\WlModelAbstract; - -/** - * Manages credentials for the application. - */ -class CredentialModel extends WlModelAbstract -{ - /** - * The CID of the credential. - * Accepted values: <ul> - * <li> - * <tt>972</tt> - The Google credential. - * - * </li> - * <li> - * <tt>973</tt> - The Facebook credential. - * - * </li> - * </ul> - * - * @delete get - * @get get - * @put get - * @var int - */ - public $cid_credential; - - /** - * An array with the credential. - * - * @get result - * @put post - * @var array - */ - public $json_credential; -} - +<?php + +namespace WellnessLiving\Core\Request\Api\Application\Credential; + +use WellnessLiving\WlModelAbstract; + +/** + * Manages credentials for the application. + */ +class CredentialModel extends WlModelAbstract +{ + /** + * The CID of the credential. + * Accepted values: <ul> + * <li> + * <tt>972</tt> - The Google credential. + * + * </li> + * <li> + * <tt>973</tt> - The Facebook credential. + * + * </li> + * </ul> + * + * @delete get + * @get get + * @put get + * @var int + */ + public $cid_credential; + + /** + * An array with the credential. + * + * @get result + * @put post + * @var array + */ + public $json_credential; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Request/Api/Application/OriginModel.php b/WellnessLiving/Core/Request/Api/Application/OriginModel.php index 333c9321..71c94478 100644 --- a/WellnessLiving/Core/Request/Api/Application/OriginModel.php +++ b/WellnessLiving/Core/Request/Api/Application/OriginModel.php @@ -1,38 +1,38 @@ -<?php - -namespace WellnessLiving\Core\Request\Api\Application; - -use WellnessLiving\WlModelAbstract; - -/** - * Gets, deletes, and adds origins for the application. - * - * Origins are links on the sites where the API can be used sign CORS authorizations from a client's browser. - * If the site isn't in the list, you can only use the API for requests between two servers. Requests directly from - * a client's browser are restricted. - * - * Origins should appear as a full link in the same manner they appear on the site. - * - * It's important to understand that the application can add allowed sites only for itself and can't add sites for another application. - * This means that you need to call this endpoint using only the application that you're using on the sites. - */ -class OriginModel extends WlModelAbstract -{ - /** - * A list of origins. - * - * The key is the URL on the site where API calls can be made. - * - * The value is a domain used to make API requests. - * This will be `null` in cases where the API requests are made directly to the WellnessLiving web server or if - * it isn't initialized yet. - * - * @delete post - * @get result - * @put post - * @var array|null - */ - public $a_list; -} - +<?php + +namespace WellnessLiving\Core\Request\Api\Application; + +use WellnessLiving\WlModelAbstract; + +/** + * Gets, deletes, and adds origins for the application. + * + * Origins are links on the sites where the API can be used sign CORS authorizations from a client's browser. + * If the site isn't in the list, you can only use the API for requests between two servers. Requests directly from + * a client's browser are restricted. + * + * Origins should appear as a full link in the same manner they appear on the site. + * + * It's important to understand that the application can add allowed sites only for itself and can't add sites for another application. + * This means that you need to call this endpoint using only the application that you're using on the sites. + */ +class OriginModel extends WlModelAbstract +{ + /** + * A list of origins. + * + * The key is the URL on the site where API calls can be made. + * + * The value is a domain used to make API requests. + * This will be `null` in cases where the API requests are made directly to the WellnessLiving web server or if + * it isn't initialized yet. + * + * @delete post + * @get result + * @put post + * @var array|null + */ + public $a_list; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Request/Api/KeySecretModel.php b/WellnessLiving/Core/Request/Api/KeySecretModel.php index 8e52b799..4eacbfac 100644 --- a/WellnessLiving/Core/Request/Api/KeySecretModel.php +++ b/WellnessLiving/Core/Request/Api/KeySecretModel.php @@ -1,58 +1,58 @@ -<?php - -namespace WellnessLiving\Core\Request\Api; - -use WellnessLiving\WlModelAbstract; - -/** - * Gets a secret key for request signing. - * This is required for a CORS request. - * - * A request to this point must be signed as an ordinary request from the SDK using transient and persistent cookies. - * There must be no CORS (don't send from a browser). - */ -class KeySecretModel extends WlModelAbstract -{ - /** - * The CSRF code from the client side. - * - * @get get - * @var string - */ - public $s_csrf; - - /** - * The secret key for the request signing. - * - * @get result - * @var string - */ - public $s_key_secret; - - /** - * The session key. - * - * @get get - * @var string - */ - public $s_key_session; - - /** - * Alias of {@link KeySecretModel::$url_origin}. - * - * @get get - * @var string - * @deprecated Use {@link KeySecretModel::$url_origin} instead. - */ - public $url_domain; - - /** - * Origin for client requests. - * - * @get get - * @var string - */ - public $url_origin; -} - +<?php + +namespace WellnessLiving\Core\Request\Api; + +use WellnessLiving\WlModelAbstract; + +/** + * Gets a secret key for request signing. + * This is required for a CORS request. + * + * A request to this point must be signed as an ordinary request from the SDK using transient and persistent cookies. + * There must be no CORS (don't send from a browser). + */ +class KeySecretModel extends WlModelAbstract +{ + /** + * The CSRF code from the client side. + * + * @get get + * @var string + */ + public $s_csrf; + + /** + * The secret key for the request signing. + * + * @get result + * @var string + */ + public $s_key_secret; + + /** + * The session key. + * + * @get get + * @var string + */ + public $s_key_session; + + /** + * Alias of {@link KeySecretModel::$url_origin}. + * + * @get get + * @var string + * @deprecated Use {@link KeySecretModel::$url_origin} instead. + */ + public $url_domain; + + /** + * Origin for client requests. + * + * @get get + * @var string + */ + public $url_origin; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Request/Token/TokenPinModel.php b/WellnessLiving/Core/Request/Token/TokenPinModel.php index 4d1849f3..62c73d60 100644 --- a/WellnessLiving/Core/Request/Token/TokenPinModel.php +++ b/WellnessLiving/Core/Request/Token/TokenPinModel.php @@ -1,39 +1,39 @@ -<?php - -namespace WellnessLiving\Core\Request\Token; - -use WellnessLiving\WlModelAbstract; - -/** - * Creates a one-time PIN code. - * - * This code must be used for generating a security token. - */ -class TokenPinModel extends WlModelAbstract -{ - /** - * The expiration date/time of the PIN code. - * - * @get result - * @var string - */ - public $dtu_expire; - - /** - * The PIN code. - * - * @get result - * @var string - */ - public $text_pin; - - /** - * The ID to use to send a security code via a push notification. - * - * @get get - * @var string - */ - public $text_push = ''; -} - +<?php + +namespace WellnessLiving\Core\Request\Token; + +use WellnessLiving\WlModelAbstract; + +/** + * Creates a one-time PIN code. + * + * This code must be used for generating a security token. + */ +class TokenPinModel extends WlModelAbstract +{ + /** + * The expiration date/time of the PIN code. + * + * @get result + * @var string + */ + public $dtu_expire; + + /** + * The PIN code. + * + * @get result + * @var string + */ + public $text_pin; + + /** + * The ID to use to send a security code via a push notification. + * + * @get get + * @var string + */ + public $text_push = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Sid/SortOrderSid.php b/WellnessLiving/Core/Sid/SortOrderSid.php index 9937ea12..8dbec01b 100644 --- a/WellnessLiving/Core/Sid/SortOrderSid.php +++ b/WellnessLiving/Core/Sid/SortOrderSid.php @@ -1,21 +1,21 @@ -<?php - -namespace WellnessLiving\Core\Sid; - -/** - * List of possible sort order. - */ -class SortOrderSid -{ - /** - * Ascending order. - */ - const ASC = 2; - - /** - * Descending order. - */ - const DESC = 1; -} - +<?php + +namespace WellnessLiving\Core\Sid; + +/** + * List of possible sort order. + */ +class SortOrderSid +{ + /** + * Ascending order. + */ + const ASC = 2; + + /** + * Descending order. + */ + const DESC = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/Sid/YesNoSid.php b/WellnessLiving/Core/Sid/YesNoSid.php index 50ae5dcf..a61662bd 100644 --- a/WellnessLiving/Core/Sid/YesNoSid.php +++ b/WellnessLiving/Core/Sid/YesNoSid.php @@ -1,21 +1,21 @@ -<?php - -namespace WellnessLiving\Core\Sid; - -/** - * A list of two answers for any question: Yes or No. - */ -class YesNoSid -{ - /** - * The answer is "no". - */ - const NO = 2; - - /** - * The answer is "yes". - */ - const YES = 1; -} - +<?php + +namespace WellnessLiving\Core\Sid; + +/** + * A list of two answers for any question: Yes or No. + */ +class YesNoSid +{ + /** + * The answer is "no". + */ + const NO = 2; + + /** + * The answer is "yes". + */ + const YES = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/a/ADateWeekSid.php b/WellnessLiving/Core/a/ADateWeekSid.php index 6e1835ff..cd3679ed 100644 --- a/WellnessLiving/Core/a/ADateWeekSid.php +++ b/WellnessLiving/Core/a/ADateWeekSid.php @@ -1,46 +1,46 @@ -<?php - -namespace WellnessLiving\Core\a; - -/** - * A class for the days of the week. - */ -abstract class ADateWeekSid -{ - /** - * Friday. - */ - const FRIDAY = 5; - - /** - * Monday. - */ - const MONDAY = 1; - - /** - * Saturday. - */ - const SATURDAY = 6; - - /** - * Sunday. - */ - const SUNDAY = 7; - - /** - * Thursday. - */ - const THURSDAY = 4; - - /** - * Tuesday. - */ - const TUESDAY = 2; - - /** - * Wednesday. - */ - const WEDNESDAY = 3; -} - +<?php + +namespace WellnessLiving\Core\a; + +/** + * A class for the days of the week. + */ +abstract class ADateWeekSid +{ + /** + * Friday. + */ + const FRIDAY = 5; + + /** + * Monday. + */ + const MONDAY = 1; + + /** + * Saturday. + */ + const SATURDAY = 6; + + /** + * Sunday. + */ + const SUNDAY = 7; + + /** + * Thursday. + */ + const THURSDAY = 4; + + /** + * Tuesday. + */ + const TUESDAY = 2; + + /** + * Wednesday. + */ + const WEDNESDAY = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/a/ADurationSid.php b/WellnessLiving/Core/a/ADurationSid.php index 88268ab6..78c41f29 100644 --- a/WellnessLiving/Core/a/ADurationSid.php +++ b/WellnessLiving/Core/a/ADurationSid.php @@ -1,68 +1,68 @@ -<?php - -namespace WellnessLiving\Core\a; - -/** - * A class for managing time intervals. - * Last ID: 8. - */ -abstract class ADurationSid -{ - /** - * Days. - * - * @title Day - */ - const DAY = 4; - - /** - * Hours. - * - * @title Hour - */ - const HOUR = 3; - - /** - * Minutes. - * - * @title Minute - */ - const MINUTE = 2; - - /** - * Months. - * - * @title Month - */ - const MONTH = 5; - - /** - * Seconds. - * - * @title Second - */ - const SECOND = 1; - - /** - * Weeks (7 days). - * - * @title Week - */ - const WEEK = 7; - - /** - * Foursome of weeks (28 days). - * - * @title 4 Weeks - */ - const WEEK4 = 8; - - /** - * Years. - * - * @title Year - */ - const YEAR = 6; -} - +<?php + +namespace WellnessLiving\Core\a; + +/** + * A class for managing time intervals. + * Last ID: 8. + */ +abstract class ADurationSid +{ + /** + * Days. + * + * @title Day + */ + const DAY = 4; + + /** + * Hours. + * + * @title Hour + */ + const HOUR = 3; + + /** + * Minutes. + * + * @title Minute + */ + const MINUTE = 2; + + /** + * Months. + * + * @title Month + */ + const MONTH = 5; + + /** + * Seconds. + * + * @title Second + */ + const SECOND = 1; + + /** + * Weeks (7 days). + * + * @title Week + */ + const WEEK = 7; + + /** + * Foursome of weeks (28 days). + * + * @title 4 Weeks + */ + const WEEK4 = 8; + + /** + * Years. + * + * @title Year + */ + const YEAR = 6; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/a/AFolder.php b/WellnessLiving/Core/a/AFolder.php index dca3d592..e430b4b0 100644 --- a/WellnessLiving/Core/a/AFolder.php +++ b/WellnessLiving/Core/a/AFolder.php @@ -1,94 +1,94 @@ -<?php - -namespace WellnessLiving\Core\a; - -/** - * Functions used when working with folders. - */ -class AFolder -{ - /** - * Delete files and folders in the specified directory. - * - * @param string $s_path The path to delete data for. - * @param bool $is_recursive Determines if this is a recursive deletion. - * @param bool $is_file If <tt>true</tt>, this delete files. Otherwise, this will be <tt>false</tt>. - * @param bool $is_dir If <tt>true</tt>, this deletes subdirectories. Otherwise, this will be <tt>false</tt>. - * @return bool If <tt>true</tt>, there aren't any errors. Otherwise, this will be <tt>false</tt> if an error occurred. - */ - public static function clear($s_path,$is_recursive = true,$is_file = true,$is_dir = true) - { - if(empty($s_path)) - return true; - if($s_path[strlen($s_path)-1]=='/') - $s_path = substr($s_path,0,strlen($s_path)-1); - $has_file = false; - if($r_dir = opendir($s_path)) - { - while(($s_file = readdir($r_dir))!==false) - { - if($s_file=='.'||$s_file=='..') - continue; - if(is_dir($s_path.'/'.$s_file)) - { - if($is_recursive) - { - if(static::clear($s_path.'/'.$s_file,true,$is_file)) - { - if($is_dir) - rmdir($s_path.'/'.$s_file); - else - $has_file = true; - } - else - $has_file = true; - } - else - $has_file = true; - continue; - } - if($is_file) - { - if(!unlink($s_path.'/'.$s_file)) - $has_file = true; - } - else - $has_file = true; - } - closedir($r_dir); - } - return !$has_file; - } - - /** - * Copies content from one folder to another. - * - * @param string $s_source The source folder. - * @param string $s_destination The destination folder. - */ - public static function copy($s_source,$s_destination) - { - $r_directory = opendir($s_source); - while(($s_file=readdir($r_directory))!==false) - { - if($s_file==='.'||$s_file==='..'||$s_file==='.idea'||$s_file==='.svn') - continue; - - $s_destination_file = $s_destination.'/'.$s_file; - - if(is_dir($s_source.'/'.$s_file)) - { - if(!is_dir($s_destination_file)) - mkdir($s_destination_file); - static::copy($s_source.'/'.$s_file,$s_destination_file); - } - else - { - copy($s_source.'/'.$s_file,$s_destination_file); - } - } - closedir($r_directory); - } -} - +<?php + +namespace WellnessLiving\Core\a; + +/** + * Functions used when working with folders. + */ +class AFolder +{ + /** + * Delete files and folders in the specified directory. + * + * @param string $s_path The path to delete data for. + * @param bool $is_recursive Determines if this is a recursive deletion. + * @param bool $is_file If <tt>true</tt>, this delete files. Otherwise, this will be <tt>false</tt>. + * @param bool $is_dir If <tt>true</tt>, this deletes subdirectories. Otherwise, this will be <tt>false</tt>. + * @return bool If <tt>true</tt>, there aren't any errors. Otherwise, this will be <tt>false</tt> if an error occurred. + */ + public static function clear($s_path,$is_recursive = true,$is_file = true,$is_dir = true) + { + if(empty($s_path)) + return true; + if($s_path[strlen($s_path)-1]=='/') + $s_path = substr($s_path,0,strlen($s_path)-1); + $has_file = false; + if($r_dir = opendir($s_path)) + { + while(($s_file = readdir($r_dir))!==false) + { + if($s_file=='.'||$s_file=='..') + continue; + if(is_dir($s_path.'/'.$s_file)) + { + if($is_recursive) + { + if(static::clear($s_path.'/'.$s_file,true,$is_file)) + { + if($is_dir) + rmdir($s_path.'/'.$s_file); + else + $has_file = true; + } + else + $has_file = true; + } + else + $has_file = true; + continue; + } + if($is_file) + { + if(!unlink($s_path.'/'.$s_file)) + $has_file = true; + } + else + $has_file = true; + } + closedir($r_dir); + } + return !$has_file; + } + + /** + * Copies content from one folder to another. + * + * @param string $s_source The source folder. + * @param string $s_destination The destination folder. + */ + public static function copy($s_source,$s_destination) + { + $r_directory = opendir($s_source); + while(($s_file=readdir($r_directory))!==false) + { + if($s_file==='.'||$s_file==='..'||$s_file==='.idea'||$s_file==='.svn') + continue; + + $s_destination_file = $s_destination.'/'.$s_file; + + if(is_dir($s_source.'/'.$s_file)) + { + if(!is_dir($s_destination_file)) + mkdir($s_destination_file); + static::copy($s_source.'/'.$s_file,$s_destination_file); + } + else + { + copy($s_source.'/'.$s_file,$s_destination_file); + } + } + closedir($r_directory); + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Core/a/ASocialSid.php b/WellnessLiving/Core/a/ASocialSid.php index d787318f..bd4391fa 100644 --- a/WellnessLiving/Core/a/ASocialSid.php +++ b/WellnessLiving/Core/a/ASocialSid.php @@ -1,29 +1,29 @@ -<?php - -namespace WellnessLiving\Core\a; - -/** - * A list of supported social networks. - * - * Last used ID: 3. - */ -abstract class ASocialSid -{ - /** - * @link https://www.facebook.com - */ - const FACEBOOK = 1; - - /** - * @deprecated Not supported. - * @link https://plus.google.com - */ - const GOOGLE = 2; - - /** - * @link https://twitter.com - */ - const TWITTER = 3; -} - +<?php + +namespace WellnessLiving\Core\a; + +/** + * A list of supported social networks. + * + * Last used ID: 3. + */ +abstract class ASocialSid +{ + /** + * @link https://www.facebook.com + */ + const FACEBOOK = 1; + + /** + * @deprecated Not supported. + * @link https://plus.google.com + */ + const GOOGLE = 2; + + /** + * @link https://twitter.com + */ + const TWITTER = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Custom/Core/Drive/ImageUpload/ImageUploadModel.php b/WellnessLiving/Custom/Core/Drive/ImageUpload/ImageUploadModel.php index fd700445..4195f02c 100644 --- a/WellnessLiving/Custom/Core/Drive/ImageUpload/ImageUploadModel.php +++ b/WellnessLiving/Custom/Core/Drive/ImageUpload/ImageUploadModel.php @@ -1,45 +1,45 @@ -<?php - -namespace WellnessLiving\Custom\Core\Drive\ImageUpload; - -use WellnessLiving\WlModelAbstract; - -/** - * Class aimed to customise class {@link \WellnessLiving\Core\Drive\ImageUpload\ImageUploadModel}. - * - * @property string $s_command The action that must be performed to the image. - */ -abstract class ImageUploadModel extends WlModelAbstract -{ - /** - * The forms command used to delete an image. - */ - public function commandDelete() - { - $this->s_command = 'delete'; - } - - /** - * The forms command used to save an uploaded image. - */ - public function commandSave() - { - $this->s_command = 'save'; - } - - /** - * The forms command used to crop and save an uploaded image. - * - * @param int $i_offset_left Left offset to crop. - * @param int $i_offset_top Top offset to crop. - * @param int $i_width The width to crop. - * @param int $i_height The height to crop. - * @param int $i_rotation The rotation angle. - */ - public function commandUpload($i_offset_left, $i_offset_top, $i_width, $i_height, $i_rotation = 0) - { - $this->s_command = 'upload '.$i_offset_left.' '.$i_offset_top.' '.$i_width.' '.$i_height.' '.$i_rotation; - } -} - +<?php + +namespace WellnessLiving\Custom\Core\Drive\ImageUpload; + +use WellnessLiving\WlModelAbstract; + +/** + * Class aimed to customise class {@link \WellnessLiving\Core\Drive\ImageUpload\ImageUploadModel}. + * + * @property string $s_command The action that must be performed to the image. + */ +abstract class ImageUploadModel extends WlModelAbstract +{ + /** + * The forms command used to delete an image. + */ + public function commandDelete() + { + $this->s_command = 'delete'; + } + + /** + * The forms command used to save an uploaded image. + */ + public function commandSave() + { + $this->s_command = 'save'; + } + + /** + * The forms command used to crop and save an uploaded image. + * + * @param int $i_offset_left Left offset to crop. + * @param int $i_offset_top Top offset to crop. + * @param int $i_width The width to crop. + * @param int $i_height The height to crop. + * @param int $i_rotation The rotation angle. + */ + public function commandUpload($i_offset_left, $i_offset_top, $i_width, $i_height, $i_rotation = 0) + { + $this->s_command = 'upload '.$i_offset_left.' '.$i_offset_top.' '.$i_width.' '.$i_height.' '.$i_rotation; + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Custom/Core/Passport/Login/Enter/NotepadModel.php b/WellnessLiving/Custom/Core/Passport/Login/Enter/NotepadModel.php index d46ab594..57083819 100644 --- a/WellnessLiving/Custom/Core/Passport/Login/Enter/NotepadModel.php +++ b/WellnessLiving/Custom/Core/Passport/Login/Enter/NotepadModel.php @@ -1,56 +1,56 @@ -<?php - -namespace WellnessLiving\Custom\Core\Passport\Login\Enter; - -use WellnessLiving\Sha3; -use WellnessLiving\WlModelAbstract; - -/** - * Class aimed to customise class {@link \WellnessLiving\Core\Passport\Login\Enter\NotepadModel}. - * - * @property string $s_notepad - */ -class NotepadModel extends WlModelAbstract -{ - /** - * Evaluates the hash based on the notepad and the plaintext user password. - * - * @param string $s_password The plaintext user password. - * @return string The password hash. This depends on the hash, the salt, the type of the hash, and the plaintext user password. - */ - public function hash($s_password) - { - // Unlike the server side, only HEX hash is supported in JS. - // For this reason, the API expects a HEX string and not a raw hash. - return Sha3::hash($this->s_notepad.static::passwordHash($s_password)/*Important! See comment above.*/,512,false); - } - - /** - * Evaluates the initial hash based on the notepad and the plaintext user password (the value of the hash stored in the database). - * - * This method has a server-side counterpart. - * - * @param string $s_password The plaintext user password. - * @return string The hashed user password. - */ - public static function passwordHash($s_password) - { - static $a_delimiter=[ - 'r', - '4S', - 'zqX', - 'zqiOK', - 'TLVS75V', - 'Ue5aLaIIG75', - 'uODJYM2JsCX4G', - 'kt58wZfHHGQkHW4QN', - 'Lh9Fl5989crMU4E7P6E' - ]; - - // Unlike the server side, only HEX hash is supported in JS. - // For this reason, the API expects a HEX string and not a raw hash. - return Sha3::hash(implode($s_password,$a_delimiter).$s_password/*Important! See comment above.*/,512,false); - } -} - +<?php + +namespace WellnessLiving\Custom\Core\Passport\Login\Enter; + +use WellnessLiving\Sha3; +use WellnessLiving\WlModelAbstract; + +/** + * Class aimed to customise class {@link \WellnessLiving\Core\Passport\Login\Enter\NotepadModel}. + * + * @property string $s_notepad + */ +class NotepadModel extends WlModelAbstract +{ + /** + * Evaluates the hash based on the notepad and the plaintext user password. + * + * @param string $s_password The plaintext user password. + * @return string The password hash. This depends on the hash, the salt, the type of the hash, and the plaintext user password. + */ + public function hash($s_password) + { + // Unlike the server side, only HEX hash is supported in JS. + // For this reason, the API expects a HEX string and not a raw hash. + return Sha3::hash($this->s_notepad.static::passwordHash($s_password)/*Important! See comment above.*/,512,false); + } + + /** + * Evaluates the initial hash based on the notepad and the plaintext user password (the value of the hash stored in the database). + * + * This method has a server-side counterpart. + * + * @param string $s_password The plaintext user password. + * @return string The hashed user password. + */ + public static function passwordHash($s_password) + { + static $a_delimiter=[ + 'r', + '4S', + 'zqX', + 'zqiOK', + 'TLVS75V', + 'Ue5aLaIIG75', + 'uODJYM2JsCX4G', + 'kt58wZfHHGQkHW4QN', + 'Lh9Fl5989crMU4E7P6E' + ]; + + // Unlike the server side, only HEX hash is supported in JS. + // For this reason, the API expects a HEX string and not a raw hash. + return Sha3::hash(implode($s_password,$a_delimiter).$s_password/*Important! See comment above.*/,512,false); + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Custom/Wl/Report/DataModel.php b/WellnessLiving/Custom/Wl/Report/DataModel.php index 4bbf96e2..f0ec6d52 100644 --- a/WellnessLiving/Custom/Wl/Report/DataModel.php +++ b/WellnessLiving/Custom/Wl/Report/DataModel.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Custom\Wl\Report; - -use WellnessLiving\Wl\Report\UrlEncode; -use WellnessLiving\WlModelAbstract; - -/** - * Class aimed to customise class {@link \WellnessLiving\Wl\Report\DataModel}. - * - * @property string $s_filter - */ -class DataModel extends WlModelAbstract -{ - /** - * Sets report filters. - * - * Specific filters depend on specific reports. - * - * @param array $a_filter The report filters. The key is the filter variable name, and the value is its value. - */ - public function filterSet($a_filter) - { - if(count($a_filter)) - $this->s_filter= UrlEncode::encode($a_filter); - else - $this->s_filter=''; - } -} - +<?php + +namespace WellnessLiving\Custom\Wl\Report; + +use WellnessLiving\Wl\Report\UrlEncode; +use WellnessLiving\WlModelAbstract; + +/** + * Class aimed to customise class {@link \WellnessLiving\Wl\Report\DataModel}. + * + * @property string $s_filter + */ +class DataModel extends WlModelAbstract +{ + /** + * Sets report filters. + * + * Specific filters depend on specific reports. + * + * @param array $a_filter The report filters. The key is the filter variable name, and the value is its value. + */ + public function filterSet($a_filter) + { + if(count($a_filter)) + $this->s_filter= UrlEncode::encode($a_filter); + else + $this->s_filter=''; + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php b/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php index 5e4c47b6..57b35f1b 100644 --- a/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php +++ b/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php @@ -1,315 +1,315 @@ -<?php - -namespace WellnessLiving\Custom\Wl\Skin\Application\Resource; - -use WellnessLiving\Core\a\AFolder; -use WellnessLiving\WlAssertException; -use WellnessLiving\WlModelAbstract; - -/** - * Class aimed to customise class {@link \WellnessLiving\Wl\Skin\Application\Resource\ApplicationResourceModel}. - * - * @property array $a_application - */ -class ApplicationResourceModel extends WlModelAbstract -{ - /** - * The application ID placeholder. - */ - const ID = '[ID]'; - - /** - * Updates the `www/js/communication.js` file. - * - * @param string $k_business The key of a business for that sources are making. - * @param string $s_sources The path to the directory with the sources that must be processed. - * @throws WlAssertException in the case of an error. - */ - private function _communication($k_business,$s_sources) - { - $this->_file($k_business,$s_sources,'www/js/communication.js',[ - [ - 's_key' => 'text_domain', - 's_placeholder' => static::ID - ] - ]); - } - - /** - * Updates the content of the `config.xml` file. - * - * @param string $k_business The key of a business for that sources are making. - * @param string $s_sources The path to the directory with the sources that must be processed. - * @throws WlAssertException in the case of an error. - */ - private function _config($k_business, $s_sources) - { - $this->_file($k_business,$s_sources,'config.xml',[ - [ - 's_key' => 'i_version', - 's_placeholder' => '[VERSION_CODE]' - ], - [ - 's_key' => 's_google_reverse', - 's_placeholder' => '[GOOGLE_REVERSED_CLIENT_ID]' - ], - [ - 's_key' => 'text_domain', - 's_placeholder' => static::ID - ], - [ - 's_key' => 'text_name', - 's_placeholder' => '[NAME]' - ] - ]); - } - - /** - * Updates a specified file. - * - * @param string $k_business The key of a business for that sources are making. - * @param string $s_sources The path to the directory with the sources that must be processed. - * @param string $s_file File to be updated. - * @param array[] $a_data The data to be updated. Every element has the following keys: - * <dl> - * <dt>string <var>s_key</var></dt> - * <dd>The key of the data in the {@link ApplicationResourceModel::$a_application} field.</dd> - * <dt>string <var>s_placeholder</var></dt> - * <dd>The placeholder in the source file to be replaced by data.</dd> - * </dl> - * @throws WlAssertException in the case of an error. - */ - private function _file($k_business, $s_sources, $s_file, $a_data) - { - $a_replace = []; - foreach($a_data as $a_data_item) - { - if(empty($this->a_application[$k_business][$a_data_item['s_key']])) - { - throw new WlAssertException([ - 's_data' => $a_data_item['s_key'], - 'text_message' => 'Data has not been returned by server.' - ]); - } - $a_replace[] = $this->a_application[$k_business][$a_data_item['s_key']]; - } - - $s_file = $s_sources.$s_file; - if(!file_exists($s_file)) - { - throw new WlAssertException([ - 's_file' => $s_file, - 'text_message' => 'File does not exist.' - ]); - } - - $text_content = file_get_contents($s_file); - - foreach($a_data as $a_data_item) - { - if(strpos($text_content,$a_data_item['s_placeholder'])===false) - { - throw new WlAssertException([ - 's_placeholder' => $a_data_item['s_placeholder'], - 'text_content' => $text_content, - 'text_message' => 'File does not contain placeholder.' - ]); - } - } - - $text_content = str_replace( - array_column($a_data,'s_placeholder'), - $a_replace, - $text_content - ); - - file_put_contents($s_file,$text_content); - } - - /** - * Updates the `www/js/google.plus.js` file. - * - * @param string $k_business Key of a business for that sources are making. - * @param string $s_sources The path to the directory with the sources that must be processed. - * @throws WlAssertException in the case of an error. - */ - private function _google($k_business, $s_sources) - { - $this->_file($k_business,$s_sources,'www/js/google.plus.js',[ - [ - 's_key' => 's_google_id', - 's_placeholder' => '[GOOGLE_CLIENT_ID]' - ] - ]); - } - - /** - * Updates the content of the `www/index.html` file. - * - * @param string $k_business Key of a business for that sources are making. - * @param string $s_sources The path to the directory with the sources that must be processed. - * @throws WlAssertException in the case of an error. - */ - private function _index($k_business, $s_sources) - { - $this->_file($k_business,$s_sources,'www/index.html',[ - [ - 's_key' => 'text_domain', - 's_placeholder' => static::ID - ] - ]); - } - - /** - * Sets application resources. - * - * @param string $k_business Key of a business for that sources are making. - * @param string $s_sources The path to the directory with the sources that must be processed. - * @throws WlAssertException in the case of an error. - */ - private function _resource($k_business, $s_sources) - { - $s_resource = $s_sources.'res/'; - - if(!file_exists($s_resource)) - { - throw new WlAssertException([ - 's_resource' => $s_resource, - 'text_message' => 'Resource directory does not exist.' - ]); - } - - if(empty($this->a_application[$k_business]['a_resource'])) - { - throw new WlAssertException([ - 'text_message' => 'Resources information has not been returned by server.' - ]); - } - - $a_resource_list = $this->a_application[$k_business]['a_resource']; - $url_sdk = $this->config()->url(); - - foreach($a_resource_list as $a_resource) - { - foreach($a_resource['a_group'] as $a_group) - { - if(isset($a_group['a_image'])) - { - foreach($a_group['a_image'] as $a_image) - { - if(!$a_image['url_link']) - continue; - - $s_prefix = substr($a_image['url_link'],0,4)==='http'?'':$url_sdk; - $s_image = file_get_contents($s_prefix.$a_image['url_link']); - - foreach($a_image['a_file'] as $s_file) - { - $i_directory = strrpos($s_file,'/'); - if($i_directory!==false) - { - $s_directory = substr($s_file,0,$i_directory+1); - if(!file_exists($s_resource.$s_directory)) - continue; - } - - file_put_contents($s_resource.$s_file,$s_image); - - if($s_file==='screen/ios/Default@3x~iphone~comany.png') - file_put_contents($s_sources.'www/icon.png',$s_image); - } - } - } - - if(isset($a_group['a_file'])) - { - foreach($a_group['a_file'] as $a_file) - { - if(!$a_file['url_link']) - continue; - - $i_directory = strrpos($a_file['s_file'],'/'); - if($i_directory!==false) - { - $s_directory = substr($a_file['s_file'],0,$i_directory+1); - if(!file_exists($s_sources.$s_directory)) - continue; - } - - $s_prefix = substr($a_file['url_link'],0,4)==='http'?'':$url_sdk; - $r_file = fopen($s_prefix.$a_file['url_link'],'rb'); - if(!$r_file) - continue; - - file_put_contents($s_sources.$a_file['s_file'],$r_file); - fclose($r_file); - } - } - } - } - } - - /** - * Generates sources for the application. - * - * @param string $s_source The directory with raw sources. - * @param string $s_destination The directory with ready sources for certain application. - * @throws WlAssertException in the case of an error. - */ - public function sources($s_source, $s_destination) - { - if(!is_dir($s_source)) - { - throw new WlAssertException([ - 'text_message' => 'Source directory does not exist.' - ]); - } - if(!is_dir($s_destination)) - { - throw new WlAssertException([ - 'text_message' => 'Destination directory does not exist.' - ]); - } - - if(is_null($this->a_application)) - { - throw new WlAssertException([ - 'text_message' => 'You must load model information before sources generation.' - ]); - } - if(!count($this->a_application)) - { - throw new WlAssertException([ - 'text_message' => 'Application information has not been returned by server.' - ]); - } - - if($s_source[strlen($s_source)-1]!=='/') - $s_source .= '/'; - if($s_destination[strlen($s_destination)-1]!=='/') - $s_destination .= '/'; - - foreach($this->a_application as $k_business => $a_application) - { - if(empty($a_application['text_domain'])) - continue; - - $s_destination_application = $s_destination.$k_business.'-'.$a_application['text_domain'].'/'; - - echo $s_destination_application."\n"; - if(!is_dir($s_destination_application)) - mkdir($s_destination_application); - - AFolder::clear($s_destination_application); - AFolder::copy($s_source,$s_destination_application); - - $this->_resource($k_business,$s_destination_application); - $this->_config($k_business,$s_destination_application); - $this->_index($k_business,$s_destination_application); - $this->_communication($k_business,$s_destination_application); - $this->_google($k_business,$s_destination_application); - } - } -} - +<?php + +namespace WellnessLiving\Custom\Wl\Skin\Application\Resource; + +use WellnessLiving\Core\a\AFolder; +use WellnessLiving\WlAssertException; +use WellnessLiving\WlModelAbstract; + +/** + * Class aimed to customise class {@link \WellnessLiving\Wl\Skin\Application\Resource\ApplicationResourceModel}. + * + * @property array $a_application + */ +class ApplicationResourceModel extends WlModelAbstract +{ + /** + * The application ID placeholder. + */ + const ID = '[ID]'; + + /** + * Updates the `www/js/communication.js` file. + * + * @param string $k_business The key of a business for that sources are making. + * @param string $s_sources The path to the directory with the sources that must be processed. + * @throws WlAssertException in the case of an error. + */ + private function _communication($k_business,$s_sources) + { + $this->_file($k_business,$s_sources,'www/js/communication.js',[ + [ + 's_key' => 'text_domain', + 's_placeholder' => static::ID + ] + ]); + } + + /** + * Updates the content of the `config.xml` file. + * + * @param string $k_business The key of a business for that sources are making. + * @param string $s_sources The path to the directory with the sources that must be processed. + * @throws WlAssertException in the case of an error. + */ + private function _config($k_business, $s_sources) + { + $this->_file($k_business,$s_sources,'config.xml',[ + [ + 's_key' => 'i_version', + 's_placeholder' => '[VERSION_CODE]' + ], + [ + 's_key' => 's_google_reverse', + 's_placeholder' => '[GOOGLE_REVERSED_CLIENT_ID]' + ], + [ + 's_key' => 'text_domain', + 's_placeholder' => static::ID + ], + [ + 's_key' => 'text_name', + 's_placeholder' => '[NAME]' + ] + ]); + } + + /** + * Updates a specified file. + * + * @param string $k_business The key of a business for that sources are making. + * @param string $s_sources The path to the directory with the sources that must be processed. + * @param string $s_file File to be updated. + * @param array[] $a_data The data to be updated. Every element has the following keys: + * <dl> + * <dt>string <var>s_key</var></dt> + * <dd>The key of the data in the {@link ApplicationResourceModel::$a_application} field.</dd> + * <dt>string <var>s_placeholder</var></dt> + * <dd>The placeholder in the source file to be replaced by data.</dd> + * </dl> + * @throws WlAssertException in the case of an error. + */ + private function _file($k_business, $s_sources, $s_file, $a_data) + { + $a_replace = []; + foreach($a_data as $a_data_item) + { + if(empty($this->a_application[$k_business][$a_data_item['s_key']])) + { + throw new WlAssertException([ + 's_data' => $a_data_item['s_key'], + 'text_message' => 'Data has not been returned by server.' + ]); + } + $a_replace[] = $this->a_application[$k_business][$a_data_item['s_key']]; + } + + $s_file = $s_sources.$s_file; + if(!file_exists($s_file)) + { + throw new WlAssertException([ + 's_file' => $s_file, + 'text_message' => 'File does not exist.' + ]); + } + + $text_content = file_get_contents($s_file); + + foreach($a_data as $a_data_item) + { + if(strpos($text_content,$a_data_item['s_placeholder'])===false) + { + throw new WlAssertException([ + 's_placeholder' => $a_data_item['s_placeholder'], + 'text_content' => $text_content, + 'text_message' => 'File does not contain placeholder.' + ]); + } + } + + $text_content = str_replace( + array_column($a_data,'s_placeholder'), + $a_replace, + $text_content + ); + + file_put_contents($s_file,$text_content); + } + + /** + * Updates the `www/js/google.plus.js` file. + * + * @param string $k_business Key of a business for that sources are making. + * @param string $s_sources The path to the directory with the sources that must be processed. + * @throws WlAssertException in the case of an error. + */ + private function _google($k_business, $s_sources) + { + $this->_file($k_business,$s_sources,'www/js/google.plus.js',[ + [ + 's_key' => 's_google_id', + 's_placeholder' => '[GOOGLE_CLIENT_ID]' + ] + ]); + } + + /** + * Updates the content of the `www/index.html` file. + * + * @param string $k_business Key of a business for that sources are making. + * @param string $s_sources The path to the directory with the sources that must be processed. + * @throws WlAssertException in the case of an error. + */ + private function _index($k_business, $s_sources) + { + $this->_file($k_business,$s_sources,'www/index.html',[ + [ + 's_key' => 'text_domain', + 's_placeholder' => static::ID + ] + ]); + } + + /** + * Sets application resources. + * + * @param string $k_business Key of a business for that sources are making. + * @param string $s_sources The path to the directory with the sources that must be processed. + * @throws WlAssertException in the case of an error. + */ + private function _resource($k_business, $s_sources) + { + $s_resource = $s_sources.'res/'; + + if(!file_exists($s_resource)) + { + throw new WlAssertException([ + 's_resource' => $s_resource, + 'text_message' => 'Resource directory does not exist.' + ]); + } + + if(empty($this->a_application[$k_business]['a_resource'])) + { + throw new WlAssertException([ + 'text_message' => 'Resources information has not been returned by server.' + ]); + } + + $a_resource_list = $this->a_application[$k_business]['a_resource']; + $url_sdk = $this->config()->url(); + + foreach($a_resource_list as $a_resource) + { + foreach($a_resource['a_group'] as $a_group) + { + if(isset($a_group['a_image'])) + { + foreach($a_group['a_image'] as $a_image) + { + if(!$a_image['url_link']) + continue; + + $s_prefix = substr($a_image['url_link'],0,4)==='http'?'':$url_sdk; + $s_image = file_get_contents($s_prefix.$a_image['url_link']); + + foreach($a_image['a_file'] as $s_file) + { + $i_directory = strrpos($s_file,'/'); + if($i_directory!==false) + { + $s_directory = substr($s_file,0,$i_directory+1); + if(!file_exists($s_resource.$s_directory)) + continue; + } + + file_put_contents($s_resource.$s_file,$s_image); + + if($s_file==='screen/ios/Default@3x~iphone~comany.png') + file_put_contents($s_sources.'www/icon.png',$s_image); + } + } + } + + if(isset($a_group['a_file'])) + { + foreach($a_group['a_file'] as $a_file) + { + if(!$a_file['url_link']) + continue; + + $i_directory = strrpos($a_file['s_file'],'/'); + if($i_directory!==false) + { + $s_directory = substr($a_file['s_file'],0,$i_directory+1); + if(!file_exists($s_sources.$s_directory)) + continue; + } + + $s_prefix = substr($a_file['url_link'],0,4)==='http'?'':$url_sdk; + $r_file = fopen($s_prefix.$a_file['url_link'],'rb'); + if(!$r_file) + continue; + + file_put_contents($s_sources.$a_file['s_file'],$r_file); + fclose($r_file); + } + } + } + } + } + + /** + * Generates sources for the application. + * + * @param string $s_source The directory with raw sources. + * @param string $s_destination The directory with ready sources for certain application. + * @throws WlAssertException in the case of an error. + */ + public function sources($s_source, $s_destination) + { + if(!is_dir($s_source)) + { + throw new WlAssertException([ + 'text_message' => 'Source directory does not exist.' + ]); + } + if(!is_dir($s_destination)) + { + throw new WlAssertException([ + 'text_message' => 'Destination directory does not exist.' + ]); + } + + if(is_null($this->a_application)) + { + throw new WlAssertException([ + 'text_message' => 'You must load model information before sources generation.' + ]); + } + if(!count($this->a_application)) + { + throw new WlAssertException([ + 'text_message' => 'Application information has not been returned by server.' + ]); + } + + if($s_source[strlen($s_source)-1]!=='/') + $s_source .= '/'; + if($s_destination[strlen($s_destination)-1]!=='/') + $s_destination .= '/'; + + foreach($this->a_application as $k_business => $a_application) + { + if(empty($a_application['text_domain'])) + continue; + + $s_destination_application = $s_destination.$k_business.'-'.$a_application['text_domain'].'/'; + + echo $s_destination_application."\n"; + if(!is_dir($s_destination_application)) + mkdir($s_destination_application); + + AFolder::clear($s_destination_application); + AFolder::copy($s_source,$s_destination_application); + + $this->_resource($k_business,$s_destination_application); + $this->_config($k_business,$s_destination_application); + $this->_index($k_business,$s_destination_application); + $this->_communication($k_business,$s_destination_application); + $this->_google($k_business,$s_destination_application); + } + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Custom/Wl/WlRegionSid.php b/WellnessLiving/Custom/Wl/WlRegionSid.php index ef74de7f..4b43e865 100644 --- a/WellnessLiving/Custom/Wl/WlRegionSid.php +++ b/WellnessLiving/Custom/Wl/WlRegionSid.php @@ -1,32 +1,32 @@ -<?php - -namespace WellnessLiving\Custom\Wl; - -/** - * List of available data center regions. - * - * The business independently chooses the data center region in which it will be registered. - * The choice of the data center region does not depend on the actual location of the business. - * The region determines the data center in which the Wellnessliving system operates. - * The region should be chosen based on the access speed to the data center from business clients. - * Business from any region can be registered in any data center, but only in one. - * - * Last ID: 2. - */ -class WlRegionSid -{ - /** - * Returns a list of data center region identifiers. - * - * @return int[] List of data center region identifiers. - */ - public static function all() - { - return [ - static::US_EAST_1, - static::AP_SOUTHEAST_2 - ]; - } -} - +<?php + +namespace WellnessLiving\Custom\Wl; + +/** + * List of available data center regions. + * + * The business independently chooses the data center region in which it will be registered. + * The choice of the data center region does not depend on the actual location of the business. + * The region determines the data center in which the Wellnessliving system operates. + * The region should be chosen based on the access speed to the data center from business clients. + * Business from any region can be registered in any data center, but only in one. + * + * Last ID: 2. + */ +class WlRegionSid +{ + /** + * Returns a list of data center region identifiers. + * + * @return int[] List of data center region identifiers. + */ + public static function all() + { + return [ + static::US_EAST_1, + static::AP_SOUTHEAST_2 + ]; + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Sha3.php b/WellnessLiving/Sha3.php index 4c15eef7..59415b53 100644 --- a/WellnessLiving/Sha3.php +++ b/WellnessLiving/Sha3.php @@ -1,415 +1,415 @@ -<?php -/** - * The MIT License (MIT) - * - * Copyright (c) 2015 Bruno Bierbaumer - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * @link https://github.com/0xbb/php-sha3 -*/ - -namespace WellnessLiving; - -final class Sha3 -{ - const KECCAK_ROUNDS = 24; - private static $keccakf_rotc = [1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44]; - private static $keccakf_piln = [10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12,2, 20, 14, 22, 9, 6, 1]; - - private static function keccakf64(&$st, $rounds) - { - $keccakf_rndc = [ - [0x00000000, 0x00000001], [0x00000000, 0x00008082], [0x80000000, 0x0000808a], [0x80000000, 0x80008000], - [0x00000000, 0x0000808b], [0x00000000, 0x80000001], [0x80000000, 0x80008081], [0x80000000, 0x00008009], - [0x00000000, 0x0000008a], [0x00000000, 0x00000088], [0x00000000, 0x80008009], [0x00000000, 0x8000000a], - [0x00000000, 0x8000808b], [0x80000000, 0x0000008b], [0x80000000, 0x00008089], [0x80000000, 0x00008003], - [0x80000000, 0x00008002], [0x80000000, 0x00000080], [0x00000000, 0x0000800a], [0x80000000, 0x8000000a], - [0x80000000, 0x80008081], [0x80000000, 0x00008080], [0x00000000, 0x80000001], [0x80000000, 0x80008008] - ]; - - $bc = []; - for ($round = 0; $round < $rounds; $round++) { - - // Theta - for ($i = 0; $i < 5; $i++) { - $bc[$i] = [ - $st[$i][0] ^ $st[$i + 5][0] ^ $st[$i + 10][0] ^ $st[$i + 15][0] ^ $st[$i + 20][0], - $st[$i][1] ^ $st[$i + 5][1] ^ $st[$i + 10][1] ^ $st[$i + 15][1] ^ $st[$i + 20][1] - ]; - } - - for ($i = 0; $i < 5; $i++) { - $t = [ - $bc[($i + 4) % 5][0] ^ (($bc[($i + 1) % 5][0] << 1) | ($bc[($i + 1) % 5][1] >> 31)) & (0xFFFFFFFF), - $bc[($i + 4) % 5][1] ^ (($bc[($i + 1) % 5][1] << 1) | ($bc[($i + 1) % 5][0] >> 31)) & (0xFFFFFFFF) - ]; - - for ($j = 0; $j < 25; $j += 5) { - $st[$j + $i] = [ - $st[$j + $i][0] ^ $t[0], - $st[$j + $i][1] ^ $t[1] - ]; - } - } - - // Rho Pi - $t = $st[1]; - for ($i = 0; $i < 24; $i++) { - $j = self::$keccakf_piln[$i]; - - $bc[0] = $st[$j]; - - $n = self::$keccakf_rotc[$i]; - $hi = $t[0]; - $lo = $t[1]; - if ($n >= 32) { - $n -= 32; - $hi = $t[1]; - $lo = $t[0]; - } - - $st[$j] =[ - (($hi << $n) | ($lo >> (32 - $n))) & (0xFFFFFFFF), - (($lo << $n) | ($hi >> (32 - $n))) & (0xFFFFFFFF) - ]; - - $t = $bc[0]; - } - - // Chi - for ($j = 0; $j < 25; $j += 5) { - for ($i = 0; $i < 5; $i++) { - $bc[$i] = $st[$j + $i]; - } - for ($i = 0; $i < 5; $i++) { - $st[$j + $i] = [ - $st[$j + $i][0] ^ ~$bc[($i + 1) % 5][0] & $bc[($i + 2) % 5][0], - $st[$j + $i][1] ^ ~$bc[($i + 1) % 5][1] & $bc[($i + 2) % 5][1] - ]; - } - } - - // Iota - $st[0] = [ - $st[0][0] ^ $keccakf_rndc[$round][0], - $st[0][1] ^ $keccakf_rndc[$round][1] - ]; - } - } - - private static function keccak64($in_raw, $capacity, $outputlength, $suffix, $raw_output) - { - $capacity /= 8; - - $inlen = self::ourStrlen($in_raw); - - $rsiz = 200 - 2 * $capacity; - $rsizw = $rsiz / 8; - - $st = []; - for ($i = 0; $i < 25; $i++) { - $st[] = [0, 0]; - } - - for ($in_t = 0; $inlen >= $rsiz; $inlen -= $rsiz, $in_t += $rsiz) { - for ($i = 0; $i < $rsizw; $i++) { - $t = unpack('V*', self::ourSubstr($in_raw, $i * 8 + $in_t, 8)); - - $st[$i] = [ - $st[$i][0] ^ $t[2], - $st[$i][1] ^ $t[1] - ]; - } - - self::keccakf64($st, self::KECCAK_ROUNDS); - } - - $temp = self::ourSubstr($in_raw, $in_t, $inlen); - $temp = str_pad($temp, $rsiz, "\x0", STR_PAD_RIGHT); - - $temp[$inlen] = chr($suffix); - $temp[$rsiz - 1] = chr(ord($temp[$rsiz - 1]) | 0x80); - - for ($i = 0; $i < $rsizw; $i++) { - $t = unpack('V*', self::ourSubstr($temp, $i * 8, 8)); - - $st[$i] = [ - $st[$i][0] ^ $t[2], - $st[$i][1] ^ $t[1] - ]; - } - - self::keccakf64($st, self::KECCAK_ROUNDS); - - $out = ''; - for ($i = 0; $i < 25; $i++) { - $out .= $t = pack('V*', $st[$i][1], $st[$i][0]); - } - $r = self::ourSubstr($out, 0, $outputlength / 8); - - return $raw_output ? $r : bin2hex($r); - } - - private static function keccakf32(&$st, $rounds) - { - $keccakf_rndc = [ - [0x0000, 0x0000, 0x0000, 0x0001], [0x0000, 0x0000, 0x0000, 0x8082], [0x8000, 0x0000, 0x0000, 0x0808a], [0x8000, 0x0000, 0x8000, 0x8000], - [0x0000, 0x0000, 0x0000, 0x808b], [0x0000, 0x0000, 0x8000, 0x0001], [0x8000, 0x0000, 0x8000, 0x08081], [0x8000, 0x0000, 0x0000, 0x8009], - [0x0000, 0x0000, 0x0000, 0x008a], [0x0000, 0x0000, 0x0000, 0x0088], [0x0000, 0x0000, 0x8000, 0x08009], [0x0000, 0x0000, 0x8000, 0x000a], - [0x0000, 0x0000, 0x8000, 0x808b], [0x8000, 0x0000, 0x0000, 0x008b], [0x8000, 0x0000, 0x0000, 0x08089], [0x8000, 0x0000, 0x0000, 0x8003], - [0x8000, 0x0000, 0x0000, 0x8002], [0x8000, 0x0000, 0x0000, 0x0080], [0x0000, 0x0000, 0x0000, 0x0800a], [0x8000, 0x0000, 0x8000, 0x000a], - [0x8000, 0x0000, 0x8000, 0x8081], [0x8000, 0x0000, 0x0000, 0x8080], [0x0000, 0x0000, 0x8000, 0x00001], [0x8000, 0x0000, 0x8000, 0x8008] - ]; - - $bc = []; - for ($round = 0; $round < $rounds; $round++) { - - // Theta - for ($i = 0; $i < 5; $i++) { - $bc[$i] = [ - $st[$i][0] ^ $st[$i + 5][0] ^ $st[$i + 10][0] ^ $st[$i + 15][0] ^ $st[$i + 20][0], - $st[$i][1] ^ $st[$i + 5][1] ^ $st[$i + 10][1] ^ $st[$i + 15][1] ^ $st[$i + 20][1], - $st[$i][2] ^ $st[$i + 5][2] ^ $st[$i + 10][2] ^ $st[$i + 15][2] ^ $st[$i + 20][2], - $st[$i][3] ^ $st[$i + 5][3] ^ $st[$i + 10][3] ^ $st[$i + 15][3] ^ $st[$i + 20][3] - ]; - } - - for ($i = 0; $i < 5; $i++) { - $t = [ - $bc[($i + 4) % 5][0] ^ ((($bc[($i + 1) % 5][0] << 1) | ($bc[($i + 1) % 5][1] >> 15)) & (0xFFFF)), - $bc[($i + 4) % 5][1] ^ ((($bc[($i + 1) % 5][1] << 1) | ($bc[($i + 1) % 5][2] >> 15)) & (0xFFFF)), - $bc[($i + 4) % 5][2] ^ ((($bc[($i + 1) % 5][2] << 1) | ($bc[($i + 1) % 5][3] >> 15)) & (0xFFFF)), - $bc[($i + 4) % 5][3] ^ ((($bc[($i + 1) % 5][3] << 1) | ($bc[($i + 1) % 5][0] >> 15)) & (0xFFFF)) - ]; - - for ($j = 0; $j < 25; $j += 5) { - $st[$j + $i] = [ - $st[$j + $i][0] ^ $t[0], - $st[$j + $i][1] ^ $t[1], - $st[$j + $i][2] ^ $t[2], - $st[$j + $i][3] ^ $t[3] - ]; - } - } - - // Rho Pi - $t = $st[1]; - for ($i = 0; $i < 24; $i++) { - $j = self::$keccakf_piln[$i]; - $bc[0] = $st[$j]; - - - $n = self::$keccakf_rotc[$i] >> 4; - $m = self::$keccakf_rotc[$i] % 16; - - $st[$j] = [ - ((($t[(0+$n) %4] << $m) | ($t[(1+$n) %4] >> (16-$m))) & (0xFFFF)), - ((($t[(1+$n) %4] << $m) | ($t[(2+$n) %4] >> (16-$m))) & (0xFFFF)), - ((($t[(2+$n) %4] << $m) | ($t[(3+$n) %4] >> (16-$m))) & (0xFFFF)), - ((($t[(3+$n) %4] << $m) | ($t[(0+$n) %4] >> (16-$m))) & (0xFFFF)) - ]; - - $t = $bc[0]; - } - - // Chi - for ($j = 0; $j < 25; $j += 5) { - for ($i = 0; $i < 5; $i++) { - $bc[$i] = $st[$j + $i]; - } - for ($i = 0; $i < 5; $i++) { - $st[$j + $i] = [ - $st[$j + $i][0] ^ ~$bc[($i + 1) % 5][0] & $bc[($i + 2) % 5][0], - $st[$j + $i][1] ^ ~$bc[($i + 1) % 5][1] & $bc[($i + 2) % 5][1], - $st[$j + $i][2] ^ ~$bc[($i + 1) % 5][2] & $bc[($i + 2) % 5][2], - $st[$j + $i][3] ^ ~$bc[($i + 1) % 5][3] & $bc[($i + 2) % 5][3] - ]; - } - } - - // Iota - $st[0] = [ - $st[0][0] ^ $keccakf_rndc[$round][0], - $st[0][1] ^ $keccakf_rndc[$round][1], - $st[0][2] ^ $keccakf_rndc[$round][2], - $st[0][3] ^ $keccakf_rndc[$round][3] - ]; - } - } - - private static function keccak32($in_raw, $capacity, $outputlength, $suffix, $raw_output) - { - $capacity /= 8; - - $inlen = self::ourStrlen($in_raw); - - $rsiz = 200 - 2 * $capacity; - $rsizw = $rsiz / 8; - - $st = []; - for ($i = 0; $i < 25; $i++) { - $st[] = [0, 0, 0, 0]; - } - - for ($in_t = 0; $inlen >= $rsiz; $inlen -= $rsiz, $in_t += $rsiz) { - for ($i = 0; $i < $rsizw; $i++) { - $t = unpack('v*', self::ourSubstr($in_raw, $i * 8 + $in_t, 8)); - - $st[$i] = [ - $st[$i][0] ^ $t[4], - $st[$i][1] ^ $t[3], - $st[$i][2] ^ $t[2], - $st[$i][3] ^ $t[1] - ]; - } - - self::keccakf32($st, self::KECCAK_ROUNDS); - } - - $temp = self::ourSubstr($in_raw, $in_t, $inlen); - $temp = str_pad($temp, $rsiz, "\x0", STR_PAD_RIGHT); - - $temp[$inlen] = chr($suffix); - $temp[$rsiz - 1] = chr($temp[$rsiz - 1] | 0x80); - - for ($i = 0; $i < $rsizw; $i++) { - $t = unpack('v*', self::ourSubstr($temp, $i * 8, 8)); - - $st[$i] = [ - $st[$i][0] ^ $t[4], - $st[$i][1] ^ $t[3], - $st[$i][2] ^ $t[2], - $st[$i][3] ^ $t[1] - ]; - } - - self::keccakf32($st, self::KECCAK_ROUNDS); - - $out = ''; - for ($i = 0; $i < 25; $i++) { - $out .= $t = pack('v*', $st[$i][3],$st[$i][2], $st[$i][1], $st[$i][0]); - } - $r = self::ourSubstr($out, 0, $outputlength / 8); - - return $raw_output ? $r: bin2hex($r); - } - - // 0 = not run, 1 = 64 bit passed, 2 = 32 bit passed, 3 = failed - private static $test_state = 0; - private static function selfTest() - { - if(self::$test_state === 1 || self::$test_state === 2){ - return; - } - - if(self::$test_state === 3){ - throw new \Exception('Sha3 previous self test failed!'); - } - - $in = ''; - $md = '6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7'; - if(self::keccak64($in, 224, 224, 0x06, false) === $md){ - self::$test_state = 1; - return; - } - - if(self::keccak32($in, 224, 224, 0x06, false) === $md){ - self::$test_state = 2; - return; - } - - self::$test_state = 3; - throw new \Exception('Sha3 self test failed!'); - } - - private static function keccak($in_raw, $capacity, $outputlength, $suffix, $raw_output) - { - self::selfTest(); - - if(self::$test_state === 1) { - return self::keccak64($in_raw, $capacity, $outputlength, $suffix, $raw_output); - } - - return self::keccak32($in_raw, $capacity, $outputlength, $suffix, $raw_output); - } - - public static function hash($in, $mdlen, $raw_output = false) - { - if( ! in_array($mdlen, [224, 256, 384, 512], true)) { - throw new \Exception('Unsupported Sha3 Hash output size.'); - } - - return self::keccak($in, $mdlen, $mdlen, 0x06, $raw_output); - } - - public static function shake($in, $security_level, $outlen, $raw_output = false) - { - if( ! in_array($security_level, [128, 256], true)) { - throw new \Exception('Unsupported Sha3 Shake security level.'); - } - - return self::keccak($in, $security_level, $outlen, 0x1f, $raw_output); - } - - /** - * Multi-byte-safe string functions borrowed from https://github.com/sarciszewski/php-future - */ - - /** - * Multi-byte-safe string length calculation - * - * @param string $str - * @return int - */ - private static function ourStrlen($str) - { - // Premature optimization: cache the function_exists() result - static $exists = null; - if ($exists === null) { - $exists = \function_exists('\\mb_strlen'); - } - // If it exists, we need to make sure we're using 8bit mode - if ($exists) { - $length = \mb_strlen($str, '8bit'); - if ($length === false) { - throw new \Exception('mb_strlen() failed.'); - } - return $length; - } - - return \strlen($str); - } - - /** - * Multi-byte-safe substring calculation - * - * @param string $str - * @param int $start - * @param int $length (optional) - * @return string - */ - private static function ourSubstr($str, $start = 0, $length = null) - { - // Premature optimization: cache the function_exists() result - static $exists = null; - if ($exists === null) { - $exists = \function_exists('\\mb_substr'); - } - // If it exists, we need to make sure we're using 8bit mode - if ($exists) { - return \mb_substr($str, $start, $length, '8bit'); - } elseif ($length !== null) { - return \substr($str, $start, $length); - } - return \substr($str, $start); - } +<?php +/** + * The MIT License (MIT) + * + * Copyright (c) 2015 Bruno Bierbaumer + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * @link https://github.com/0xbb/php-sha3 +*/ + +namespace WellnessLiving; + +final class Sha3 +{ + const KECCAK_ROUNDS = 24; + private static $keccakf_rotc = [1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44]; + private static $keccakf_piln = [10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12,2, 20, 14, 22, 9, 6, 1]; + + private static function keccakf64(&$st, $rounds) + { + $keccakf_rndc = [ + [0x00000000, 0x00000001], [0x00000000, 0x00008082], [0x80000000, 0x0000808a], [0x80000000, 0x80008000], + [0x00000000, 0x0000808b], [0x00000000, 0x80000001], [0x80000000, 0x80008081], [0x80000000, 0x00008009], + [0x00000000, 0x0000008a], [0x00000000, 0x00000088], [0x00000000, 0x80008009], [0x00000000, 0x8000000a], + [0x00000000, 0x8000808b], [0x80000000, 0x0000008b], [0x80000000, 0x00008089], [0x80000000, 0x00008003], + [0x80000000, 0x00008002], [0x80000000, 0x00000080], [0x00000000, 0x0000800a], [0x80000000, 0x8000000a], + [0x80000000, 0x80008081], [0x80000000, 0x00008080], [0x00000000, 0x80000001], [0x80000000, 0x80008008] + ]; + + $bc = []; + for ($round = 0; $round < $rounds; $round++) { + + // Theta + for ($i = 0; $i < 5; $i++) { + $bc[$i] = [ + $st[$i][0] ^ $st[$i + 5][0] ^ $st[$i + 10][0] ^ $st[$i + 15][0] ^ $st[$i + 20][0], + $st[$i][1] ^ $st[$i + 5][1] ^ $st[$i + 10][1] ^ $st[$i + 15][1] ^ $st[$i + 20][1] + ]; + } + + for ($i = 0; $i < 5; $i++) { + $t = [ + $bc[($i + 4) % 5][0] ^ (($bc[($i + 1) % 5][0] << 1) | ($bc[($i + 1) % 5][1] >> 31)) & (0xFFFFFFFF), + $bc[($i + 4) % 5][1] ^ (($bc[($i + 1) % 5][1] << 1) | ($bc[($i + 1) % 5][0] >> 31)) & (0xFFFFFFFF) + ]; + + for ($j = 0; $j < 25; $j += 5) { + $st[$j + $i] = [ + $st[$j + $i][0] ^ $t[0], + $st[$j + $i][1] ^ $t[1] + ]; + } + } + + // Rho Pi + $t = $st[1]; + for ($i = 0; $i < 24; $i++) { + $j = self::$keccakf_piln[$i]; + + $bc[0] = $st[$j]; + + $n = self::$keccakf_rotc[$i]; + $hi = $t[0]; + $lo = $t[1]; + if ($n >= 32) { + $n -= 32; + $hi = $t[1]; + $lo = $t[0]; + } + + $st[$j] =[ + (($hi << $n) | ($lo >> (32 - $n))) & (0xFFFFFFFF), + (($lo << $n) | ($hi >> (32 - $n))) & (0xFFFFFFFF) + ]; + + $t = $bc[0]; + } + + // Chi + for ($j = 0; $j < 25; $j += 5) { + for ($i = 0; $i < 5; $i++) { + $bc[$i] = $st[$j + $i]; + } + for ($i = 0; $i < 5; $i++) { + $st[$j + $i] = [ + $st[$j + $i][0] ^ ~$bc[($i + 1) % 5][0] & $bc[($i + 2) % 5][0], + $st[$j + $i][1] ^ ~$bc[($i + 1) % 5][1] & $bc[($i + 2) % 5][1] + ]; + } + } + + // Iota + $st[0] = [ + $st[0][0] ^ $keccakf_rndc[$round][0], + $st[0][1] ^ $keccakf_rndc[$round][1] + ]; + } + } + + private static function keccak64($in_raw, $capacity, $outputlength, $suffix, $raw_output) + { + $capacity /= 8; + + $inlen = self::ourStrlen($in_raw); + + $rsiz = 200 - 2 * $capacity; + $rsizw = $rsiz / 8; + + $st = []; + for ($i = 0; $i < 25; $i++) { + $st[] = [0, 0]; + } + + for ($in_t = 0; $inlen >= $rsiz; $inlen -= $rsiz, $in_t += $rsiz) { + for ($i = 0; $i < $rsizw; $i++) { + $t = unpack('V*', self::ourSubstr($in_raw, $i * 8 + $in_t, 8)); + + $st[$i] = [ + $st[$i][0] ^ $t[2], + $st[$i][1] ^ $t[1] + ]; + } + + self::keccakf64($st, self::KECCAK_ROUNDS); + } + + $temp = self::ourSubstr($in_raw, $in_t, $inlen); + $temp = str_pad($temp, $rsiz, "\x0", STR_PAD_RIGHT); + + $temp[$inlen] = chr($suffix); + $temp[$rsiz - 1] = chr(ord($temp[$rsiz - 1]) | 0x80); + + for ($i = 0; $i < $rsizw; $i++) { + $t = unpack('V*', self::ourSubstr($temp, $i * 8, 8)); + + $st[$i] = [ + $st[$i][0] ^ $t[2], + $st[$i][1] ^ $t[1] + ]; + } + + self::keccakf64($st, self::KECCAK_ROUNDS); + + $out = ''; + for ($i = 0; $i < 25; $i++) { + $out .= $t = pack('V*', $st[$i][1], $st[$i][0]); + } + $r = self::ourSubstr($out, 0, $outputlength / 8); + + return $raw_output ? $r : bin2hex($r); + } + + private static function keccakf32(&$st, $rounds) + { + $keccakf_rndc = [ + [0x0000, 0x0000, 0x0000, 0x0001], [0x0000, 0x0000, 0x0000, 0x8082], [0x8000, 0x0000, 0x0000, 0x0808a], [0x8000, 0x0000, 0x8000, 0x8000], + [0x0000, 0x0000, 0x0000, 0x808b], [0x0000, 0x0000, 0x8000, 0x0001], [0x8000, 0x0000, 0x8000, 0x08081], [0x8000, 0x0000, 0x0000, 0x8009], + [0x0000, 0x0000, 0x0000, 0x008a], [0x0000, 0x0000, 0x0000, 0x0088], [0x0000, 0x0000, 0x8000, 0x08009], [0x0000, 0x0000, 0x8000, 0x000a], + [0x0000, 0x0000, 0x8000, 0x808b], [0x8000, 0x0000, 0x0000, 0x008b], [0x8000, 0x0000, 0x0000, 0x08089], [0x8000, 0x0000, 0x0000, 0x8003], + [0x8000, 0x0000, 0x0000, 0x8002], [0x8000, 0x0000, 0x0000, 0x0080], [0x0000, 0x0000, 0x0000, 0x0800a], [0x8000, 0x0000, 0x8000, 0x000a], + [0x8000, 0x0000, 0x8000, 0x8081], [0x8000, 0x0000, 0x0000, 0x8080], [0x0000, 0x0000, 0x8000, 0x00001], [0x8000, 0x0000, 0x8000, 0x8008] + ]; + + $bc = []; + for ($round = 0; $round < $rounds; $round++) { + + // Theta + for ($i = 0; $i < 5; $i++) { + $bc[$i] = [ + $st[$i][0] ^ $st[$i + 5][0] ^ $st[$i + 10][0] ^ $st[$i + 15][0] ^ $st[$i + 20][0], + $st[$i][1] ^ $st[$i + 5][1] ^ $st[$i + 10][1] ^ $st[$i + 15][1] ^ $st[$i + 20][1], + $st[$i][2] ^ $st[$i + 5][2] ^ $st[$i + 10][2] ^ $st[$i + 15][2] ^ $st[$i + 20][2], + $st[$i][3] ^ $st[$i + 5][3] ^ $st[$i + 10][3] ^ $st[$i + 15][3] ^ $st[$i + 20][3] + ]; + } + + for ($i = 0; $i < 5; $i++) { + $t = [ + $bc[($i + 4) % 5][0] ^ ((($bc[($i + 1) % 5][0] << 1) | ($bc[($i + 1) % 5][1] >> 15)) & (0xFFFF)), + $bc[($i + 4) % 5][1] ^ ((($bc[($i + 1) % 5][1] << 1) | ($bc[($i + 1) % 5][2] >> 15)) & (0xFFFF)), + $bc[($i + 4) % 5][2] ^ ((($bc[($i + 1) % 5][2] << 1) | ($bc[($i + 1) % 5][3] >> 15)) & (0xFFFF)), + $bc[($i + 4) % 5][3] ^ ((($bc[($i + 1) % 5][3] << 1) | ($bc[($i + 1) % 5][0] >> 15)) & (0xFFFF)) + ]; + + for ($j = 0; $j < 25; $j += 5) { + $st[$j + $i] = [ + $st[$j + $i][0] ^ $t[0], + $st[$j + $i][1] ^ $t[1], + $st[$j + $i][2] ^ $t[2], + $st[$j + $i][3] ^ $t[3] + ]; + } + } + + // Rho Pi + $t = $st[1]; + for ($i = 0; $i < 24; $i++) { + $j = self::$keccakf_piln[$i]; + $bc[0] = $st[$j]; + + + $n = self::$keccakf_rotc[$i] >> 4; + $m = self::$keccakf_rotc[$i] % 16; + + $st[$j] = [ + ((($t[(0+$n) %4] << $m) | ($t[(1+$n) %4] >> (16-$m))) & (0xFFFF)), + ((($t[(1+$n) %4] << $m) | ($t[(2+$n) %4] >> (16-$m))) & (0xFFFF)), + ((($t[(2+$n) %4] << $m) | ($t[(3+$n) %4] >> (16-$m))) & (0xFFFF)), + ((($t[(3+$n) %4] << $m) | ($t[(0+$n) %4] >> (16-$m))) & (0xFFFF)) + ]; + + $t = $bc[0]; + } + + // Chi + for ($j = 0; $j < 25; $j += 5) { + for ($i = 0; $i < 5; $i++) { + $bc[$i] = $st[$j + $i]; + } + for ($i = 0; $i < 5; $i++) { + $st[$j + $i] = [ + $st[$j + $i][0] ^ ~$bc[($i + 1) % 5][0] & $bc[($i + 2) % 5][0], + $st[$j + $i][1] ^ ~$bc[($i + 1) % 5][1] & $bc[($i + 2) % 5][1], + $st[$j + $i][2] ^ ~$bc[($i + 1) % 5][2] & $bc[($i + 2) % 5][2], + $st[$j + $i][3] ^ ~$bc[($i + 1) % 5][3] & $bc[($i + 2) % 5][3] + ]; + } + } + + // Iota + $st[0] = [ + $st[0][0] ^ $keccakf_rndc[$round][0], + $st[0][1] ^ $keccakf_rndc[$round][1], + $st[0][2] ^ $keccakf_rndc[$round][2], + $st[0][3] ^ $keccakf_rndc[$round][3] + ]; + } + } + + private static function keccak32($in_raw, $capacity, $outputlength, $suffix, $raw_output) + { + $capacity /= 8; + + $inlen = self::ourStrlen($in_raw); + + $rsiz = 200 - 2 * $capacity; + $rsizw = $rsiz / 8; + + $st = []; + for ($i = 0; $i < 25; $i++) { + $st[] = [0, 0, 0, 0]; + } + + for ($in_t = 0; $inlen >= $rsiz; $inlen -= $rsiz, $in_t += $rsiz) { + for ($i = 0; $i < $rsizw; $i++) { + $t = unpack('v*', self::ourSubstr($in_raw, $i * 8 + $in_t, 8)); + + $st[$i] = [ + $st[$i][0] ^ $t[4], + $st[$i][1] ^ $t[3], + $st[$i][2] ^ $t[2], + $st[$i][3] ^ $t[1] + ]; + } + + self::keccakf32($st, self::KECCAK_ROUNDS); + } + + $temp = self::ourSubstr($in_raw, $in_t, $inlen); + $temp = str_pad($temp, $rsiz, "\x0", STR_PAD_RIGHT); + + $temp[$inlen] = chr($suffix); + $temp[$rsiz - 1] = chr($temp[$rsiz - 1] | 0x80); + + for ($i = 0; $i < $rsizw; $i++) { + $t = unpack('v*', self::ourSubstr($temp, $i * 8, 8)); + + $st[$i] = [ + $st[$i][0] ^ $t[4], + $st[$i][1] ^ $t[3], + $st[$i][2] ^ $t[2], + $st[$i][3] ^ $t[1] + ]; + } + + self::keccakf32($st, self::KECCAK_ROUNDS); + + $out = ''; + for ($i = 0; $i < 25; $i++) { + $out .= $t = pack('v*', $st[$i][3],$st[$i][2], $st[$i][1], $st[$i][0]); + } + $r = self::ourSubstr($out, 0, $outputlength / 8); + + return $raw_output ? $r: bin2hex($r); + } + + // 0 = not run, 1 = 64 bit passed, 2 = 32 bit passed, 3 = failed + private static $test_state = 0; + private static function selfTest() + { + if(self::$test_state === 1 || self::$test_state === 2){ + return; + } + + if(self::$test_state === 3){ + throw new \Exception('Sha3 previous self test failed!'); + } + + $in = ''; + $md = '6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7'; + if(self::keccak64($in, 224, 224, 0x06, false) === $md){ + self::$test_state = 1; + return; + } + + if(self::keccak32($in, 224, 224, 0x06, false) === $md){ + self::$test_state = 2; + return; + } + + self::$test_state = 3; + throw new \Exception('Sha3 self test failed!'); + } + + private static function keccak($in_raw, $capacity, $outputlength, $suffix, $raw_output) + { + self::selfTest(); + + if(self::$test_state === 1) { + return self::keccak64($in_raw, $capacity, $outputlength, $suffix, $raw_output); + } + + return self::keccak32($in_raw, $capacity, $outputlength, $suffix, $raw_output); + } + + public static function hash($in, $mdlen, $raw_output = false) + { + if( ! in_array($mdlen, [224, 256, 384, 512], true)) { + throw new \Exception('Unsupported Sha3 Hash output size.'); + } + + return self::keccak($in, $mdlen, $mdlen, 0x06, $raw_output); + } + + public static function shake($in, $security_level, $outlen, $raw_output = false) + { + if( ! in_array($security_level, [128, 256], true)) { + throw new \Exception('Unsupported Sha3 Shake security level.'); + } + + return self::keccak($in, $security_level, $outlen, 0x1f, $raw_output); + } + + /** + * Multi-byte-safe string functions borrowed from https://github.com/sarciszewski/php-future + */ + + /** + * Multi-byte-safe string length calculation + * + * @param string $str + * @return int + */ + private static function ourStrlen($str) + { + // Premature optimization: cache the function_exists() result + static $exists = null; + if ($exists === null) { + $exists = \function_exists('\\mb_strlen'); + } + // If it exists, we need to make sure we're using 8bit mode + if ($exists) { + $length = \mb_strlen($str, '8bit'); + if ($length === false) { + throw new \Exception('mb_strlen() failed.'); + } + return $length; + } + + return \strlen($str); + } + + /** + * Multi-byte-safe substring calculation + * + * @param string $str + * @param int $start + * @param int $length (optional) + * @return string + */ + private static function ourSubstr($str, $start = 0, $length = null) + { + // Premature optimization: cache the function_exists() result + static $exists = null; + if ($exists === null) { + $exists = \function_exists('\\mb_substr'); + } + // If it exists, we need to make sure we're using 8bit mode + if ($exists) { + return \mb_substr($str, $start, $length, '8bit'); + } elseif ($length !== null) { + return \substr($str, $start, $length); + } + return \substr($str, $start); + } } \ No newline at end of file diff --git a/WellnessLiving/Social/Apple/Login/AppleLoginModel.php b/WellnessLiving/Social/Apple/Login/AppleLoginModel.php index ab907e4d..bceb86c3 100644 --- a/WellnessLiving/Social/Apple/Login/AppleLoginModel.php +++ b/WellnessLiving/Social/Apple/Login/AppleLoginModel.php @@ -1,29 +1,29 @@ -<?php - -namespace WellnessLiving\Social\Apple\Login; - -use WellnessLiving\WlModelAbstract; - -/** - * Authorizes a user with Apple. - */ -class AppleLoginModel extends WlModelAbstract -{ - /** - * The application ID. - * - * @post post - * @var string - */ - public $text_application = ''; - - /** - * The authorization code. - * - * @post post - * @var string - */ - public $text_authorization = ''; -} - +<?php + +namespace WellnessLiving\Social\Apple\Login; + +use WellnessLiving\WlModelAbstract; + +/** + * Authorizes a user with Apple. + */ +class AppleLoginModel extends WlModelAbstract +{ + /** + * The application ID. + * + * @post post + * @var string + */ + public $text_application = ''; + + /** + * The authorization code. + * + * @post post + * @var string + */ + public $text_authorization = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Social/Facebook/Login/LoginModel.php b/WellnessLiving/Social/Facebook/Login/LoginModel.php index dd2ba430..8ef9c2c7 100644 --- a/WellnessLiving/Social/Facebook/Login/LoginModel.php +++ b/WellnessLiving/Social/Facebook/Login/LoginModel.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Social\Facebook\Login; - -use WellnessLiving\WlModelAbstract; - -/** - * Authorizes Facebook users. - */ -class LoginModel extends WlModelAbstract -{ - /** - * The application ID. - * - * This will be `null` if the application is being used to make the request. - * - * @post post - * @var string|null - */ - public $s_application = null; - - /** - * The Facebook token. - * - * @post post - * @var string - */ - public $s_token = ''; -} - +<?php + +namespace WellnessLiving\Social\Facebook\Login; + +use WellnessLiving\WlModelAbstract; + +/** + * Authorizes Facebook users. + */ +class LoginModel extends WlModelAbstract +{ + /** + * The application ID. + * + * This will be `null` if the application is being used to make the request. + * + * @post post + * @var string|null + */ + public $s_application = null; + + /** + * The Facebook token. + * + * @post post + * @var string + */ + public $s_token = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Social/Google/Plus/LoginModel.php b/WellnessLiving/Social/Google/Plus/LoginModel.php index c866a762..0bdb8362 100644 --- a/WellnessLiving/Social/Google/Plus/LoginModel.php +++ b/WellnessLiving/Social/Google/Plus/LoginModel.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Social\Google\Plus; - -use WellnessLiving\WlModelAbstract; - -/** - * Authorizes a user with Google. - */ -class LoginModel extends WlModelAbstract -{ - /** - * The application ID. - * - * This will be `null` for application use, which makes the request. Use the application credential from - * - * @post post - * @var string|null - */ - public $s_application = null; - - /** - * The Google server authorization code. - * - * @post post - * @var string - */ - public $s_code = ''; -} - +<?php + +namespace WellnessLiving\Social\Google\Plus; + +use WellnessLiving\WlModelAbstract; + +/** + * Authorizes a user with Google. + */ +class LoginModel extends WlModelAbstract +{ + /** + * The application ID. + * + * This will be `null` for application use, which makes the request. Use the application credential from + * + * @post post + * @var string|null + */ + public $s_application = null; + + /** + * The Google server authorization code. + * + * @post post + * @var string + */ + public $s_code = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Social/Microsoft/LoginModel.php b/WellnessLiving/Social/Microsoft/LoginModel.php index 34fa6405..c862e8d1 100644 --- a/WellnessLiving/Social/Microsoft/LoginModel.php +++ b/WellnessLiving/Social/Microsoft/LoginModel.php @@ -1,79 +1,79 @@ -<?php - -namespace WellnessLiving\Social\Microsoft; - -use WellnessLiving\WlModelAbstract; - -/** - * Performs preliminary authorization actions with Microsoft. - */ -class LoginModel extends WlModelAbstract -{ - /** - * If `true`, the user has a bound Microsoft account. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_exists = false; - - /** - * If authorization is performed in a third-party application, set this flag in case of authorization errors. - * - * @post get - * @var bool - */ - public $is_external = false; - - /** - * The authorization code that the app requested. - * - * @post post - * @var string - */ - public $s_code = ''; - - /** - * If a state parameter is included in the request, the same value should appear in the response. - * The app should verify that the state values in the request and response are identical. - * - * @post post - * @var string - */ - public $s_state = ''; - - /** - * The client for whom the Microsoft account will be unlinked. - * - * @delete get - * @get get - * @var string - */ - public $uid = ''; - - /** - * The Microsoft OAuth 2.0 authorization link. - * - * @get result - * @var string - */ - public $url_login = ''; - - /** - * The Redirect URI for external applications. - * The link to the page on which Microsoft will return the result after authorization. - * - * * All possible links must be registered in the Microsoft application used for authorization. - * * WARNING: Do not use this link for a direct redirect. This will present a vulnerability. - * - * * A {@link LoginModel::$url_login} link will be generated along with this redirect URI. - * * When checking the received {@link LoginModel::$s_code} from Microsoft. - * - * @get get - * @post get - * @var string - */ - public $url_redirect = ''; -} - +<?php + +namespace WellnessLiving\Social\Microsoft; + +use WellnessLiving\WlModelAbstract; + +/** + * Performs preliminary authorization actions with Microsoft. + */ +class LoginModel extends WlModelAbstract +{ + /** + * If `true`, the user has a bound Microsoft account. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_exists = false; + + /** + * If authorization is performed in a third-party application, set this flag in case of authorization errors. + * + * @post get + * @var bool + */ + public $is_external = false; + + /** + * The authorization code that the app requested. + * + * @post post + * @var string + */ + public $s_code = ''; + + /** + * If a state parameter is included in the request, the same value should appear in the response. + * The app should verify that the state values in the request and response are identical. + * + * @post post + * @var string + */ + public $s_state = ''; + + /** + * The client for whom the Microsoft account will be unlinked. + * + * @delete get + * @get get + * @var string + */ + public $uid = ''; + + /** + * The Microsoft OAuth 2.0 authorization link. + * + * @get result + * @var string + */ + public $url_login = ''; + + /** + * The Redirect URI for external applications. + * The link to the page on which Microsoft will return the result after authorization. + * + * * All possible links must be registered in the Microsoft application used for authorization. + * * WARNING: Do not use this link for a direct redirect. This will present a vulnerability. + * + * * A {@link LoginModel::$url_login} link will be generated along with this redirect URI. + * * When checking the received {@link LoginModel::$s_code} from Microsoft. + * + * @get get + * @post get + * @var string + */ + public $url_redirect = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchBuildModel.php b/WellnessLiving/Studio/Task/Branch/BranchBuildModel.php index b54737e5..bf4d16e6 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchBuildModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchBuildModel.php @@ -1,59 +1,59 @@ -<?php - -namespace WellnessLiving\Studio\Task\Branch; - -use WellnessLiving\WlModelAbstract; - -/** - * Changes branch information during build. - * - * This API is designed to use only from builds (`BranchCreate`, `BranchDelete`) and is not expected that this API is - * called from other places. - */ -class BranchBuildModel extends WlModelAbstract -{ - /** - * Information about paths into which catalogs are cloned. - * - * Keys are aliases of the original repository catalogs. - * Values are paths into which original catalogs are cloned. - * - * Each element has the following structure:<dl> - * <dt>int <var>id_repository_server_type</var></dt> - * <dd>Repository service type ID.</dd> - * <dt>string <var>s_destination</var></dt> - * <dd>Path into which original catalog is cloned/copied.</dd> - * <dt>string <var>s_repository</var></dt> - * <dd>Repository name.</dd> - * <dt>string <var>s_source</var></dt> - * <dd>Path of the original catalog.</dd> - * </dl> - * - * Set this property when a new branch is created. In other cases, an exception will be thrown. - * - * @post get - * @var array - */ - public $a_path = []; - - /** - * Build key that creates a branch for the specified task. - * - * @post get - * @put get - * @var string - */ - public $k_build = ''; - - /** - * Task link of the branch. - * - * @delete get - * @post get - * @put get - * @var string - */ - public $s_task_link = ''; -} - +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +use WellnessLiving\WlModelAbstract; + +/** + * Changes branch information during build. + * + * This API is designed to use only from builds (`BranchCreate`, `BranchDelete`) and is not expected that this API is + * called from other places. + */ +class BranchBuildModel extends WlModelAbstract +{ + /** + * Information about paths into which catalogs are cloned. + * + * Keys are aliases of the original repository catalogs. + * Values are paths into which original catalogs are cloned. + * + * Each element has the following structure:<dl> + * <dt>int <var>id_repository_server_type</var></dt> + * <dd>Repository service type ID.</dd> + * <dt>string <var>s_destination</var></dt> + * <dd>Path into which original catalog is cloned/copied.</dd> + * <dt>string <var>s_repository</var></dt> + * <dd>Repository name.</dd> + * <dt>string <var>s_source</var></dt> + * <dd>Path of the original catalog.</dd> + * </dl> + * + * Set this property when a new branch is created. In other cases, an exception will be thrown. + * + * @post get + * @var array + */ + public $a_path = []; + + /** + * Build key that creates a branch for the specified task. + * + * @post get + * @put get + * @var string + */ + public $k_build = ''; + + /** + * Task link of the branch. + * + * @delete get + * @post get + * @put get + * @var string + */ + public $s_task_link = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php b/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php index bf9f5b7b..2dcb47d3 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php +++ b/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Studio\Task\Branch; - -/** - * List of the available modes for <tt>BranchDelete</tt> build. - */ -class BranchDeleteModeSid -{ - /** - * Deleting branch without merging changes. - */ - const DELETE_NO_MERGE = 3; - - /** - * Changes are merged. Branch is not deleted. - */ - const MERGE_ONLY = 2; - - /** - * Deleting branch with merging changes. - */ - const STANDARD = 1; -} - +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +/** + * List of the available modes for <tt>BranchDelete</tt> build. + */ +class BranchDeleteModeSid +{ + /** + * Deleting branch without merging changes. + */ + const DELETE_NO_MERGE = 3; + + /** + * Changes are merged. Branch is not deleted. + */ + const MERGE_ONLY = 2; + + /** + * Deleting branch with merging changes. + */ + const STANDARD = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php index 0caace57..32f40613 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php @@ -1,239 +1,239 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Book\Asset; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Resource\Image\ImageIconSid; -use WellnessLiving\Wl\Resource\Image\ImageShapeSid; -use WellnessLiving\Wl\Service\ServicePriceSid; -use WellnessLiving\Wl\Service\ServiceRequireSid; - -/** - * Retrieves information about assets in the current asset category. - */ -class AssetListModel extends WlModelAbstract -{ - /** - * A list of information about assets: - * - * <dl> - * <dt>array <var>a_age_restrictions</var></dt> - * <dd> - * Information about age restrictions for this event. - * - * This will be an empty array if there aren't any age restrictions. - * - * <dl> - * <dt>int|null <var>i_age_from</var></dt> - * <dd>The minimum age permitted for the event. This will be `null` if a minimum age isn't set or available.</dd> - * <dt>int|null <var>i_age_to</var></dt> - * <dd>The maximum age permitted for the event. This will be `null` if a maximum age isn't set or available.</dd> - * <dt>bool <var>is_age_public</var></dt> - * <dd>This will be `true` if age restrictions are public and available. Otherwise, this will be `false` if they're hidden. - * When restrictions are hidden and current user isn't a staff member, the age range will be empty.</dd> - * </dl> - * </dd> - * <dt>array <var>a_class_tab</var></dt> - * <dd>The key of service.</dd> - * <dt> - * array[] <var>a_direct_link</var> - * </dt> - * <dd> - * A list of links to create a booking from a direct link (direct booking URL). - * The system needs to know what tab is associated with the booking. Therefore, there needs to be one link - * per tab. - * Each element has two values: - * <dl> - * <dt>string <var>k_class_tab</var></dt> - * <dd>The key of the book now tab.</dd> - * <dt>string <var>url_tab</var></dt> - * <dd>The direct booking URL. This will open the booking wizard under the related booking tab.</dd> - * </dl> - * </dd> - * <dt>array[] <var>a_image</var></dt> - * <dd>Information about the asset logo: - * <dl> - * <dt>int <var>i_angle</var></dt> - * <dd>The angle of the shape rotation. This is set only if the image is one of the default shapes.</dd> - * <dt>bool <var>is_empty</var></dt> - * <dd>Determines if the asset logo is empty.</dd> - * <dt>string <var>sid_image_icon</var></dt> - * <dd>The icon name. String representation of one of the {@link ImageIconSid} constants. This is only set if the image kind equals to `image`.</dd> - * <dt>string <var>sid_image_shape</var></dt> - * <dd>The shape name. String representation of one of the {@link ImageShapeSid} constants. This is set only if the image kind equals to `shape`.</dd> - * <dt>string <var>url</var></dt> - * <dd>The asset logo URL.</dd> - * </dl> - * </dd> - * <dt>array[] <var>a_period</var></dt> - * <dd>A list of asset periods with the following information: - * <dl> - * <dt>string <var>html_duration</var></dt> - * <dd>The HTML code used to display the asset duration.</dd> - * <dt>string <var>html_price</var></dt> - * <dd>The HTML code used to display the formatted price.</dd> - * <dt>int <var>i_duration</var></dt> - * <dd>The asset duration in minutes.</dd> - * <dt>int <var>id_price</var></dt> - * <dd>The asset period price type. One of {@link ServicePriceSid} constants.</dd> - * <dt>sting <var>m_price</var></dt> - * <dd>The asset period price.</dd> - * </dl> - * </dd> - * <dt>array <var>a_search_tag</var></dt> - * <dd>QUICK Search tag keys.</dd> - * <dt>bool <var>hide_application</var></dt> - * <dd> - * Determines whether the asset will be hidden in the White Label mobile apps. - * If `true`, the asset won't be displayed. Otherwise, this will be `false`. - * </dd> - * <dt>string <var>html_age_restriction</var></dt> - * <dd>The resource age restriction</dd> - * <dt>string <var>html_title</var></dt> - * <dd>The resource name.</dd> - * <dt>int <var>id_service_require</var></dt> - * <dd>The purchase rule. One of the {@link ServiceRequireSid} constants.</dd> - * <dt>bool <var>is_age_restricted</var></dt> - * <dd>Determines whether this service can't be booked due to age restrictions.</dd> - * <dt>string <var>k_class_tab</var></dt> - * <dd>Quick book tab key.</dd> - * <dt>string <var>k_resource</var></dt> - * <dd>The resource key.</dd> - * <dt>string <var>k_resource_category</var></dt> - * <dd>The resource category key.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_asset; - - /** - * The selected date and time of the asset booking. It is used in cases when the business booking policy allows - * clients to select a date and time, and then the available asset. - * - * @get get - * @var string - */ - public $dtl_date = false; - - /** - * Image height in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default size. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * Image width in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default size. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * Mode type, one of {@link ModeSid} constants. - * - * @get get - * @var int - */ - public $id_mode = 0; - - /** - * This is `true` if asset categories are loaded for back-end mode. Otherwise, this will be `false` for front-end mode. - * - * @get get - * @var bool - */ - public $is_backend = false; - - /** - * `true` - search in all tabs. - * `false` - search only for the selected book tab. - * - * @get get - * @var bool - */ - public $is_tab_all = false; - - /** - * Key of the appointment, if we reschedule existing appointment. - * It should be sent to ignore it when we get availability hours for the asset. - * - * @get get - * @var string - */ - public $k_appointment = '0'; - - /** - * Business key. - * - * If not set, location's business will be used. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The class tab key used to filter assets. - * - * This will be `null` if not set yet or if elements with no specified class tab are selected. - * - * @get get - * @var string - */ - public $k_class_tab = '0'; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location = '0'; - - /** - * The asset category key to show information for. - * - * @get get - * @var string - */ - public $k_resource_category = '0'; - - /** - * The asset layout key. - * May be empty if asset category has no layout. - * - * @get result - * @var string - */ - public $k_resource_layout; - - /** - * Timezone of date and time of asset booking. - * - * Empty if {@link AssetListModel::$dtl_date} not set or client can't change in which timezone dates should be shown. - * - * @get get - * @var string - */ - public $k_timezone = ''; - - /** - * Client to get information for. - * - * If client not set, returns full asset list without client restrictions. - * - * @get get - * @var string|null - */ - public $uid = null; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Asset; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Resource\Image\ImageIconSid; +use WellnessLiving\Wl\Resource\Image\ImageShapeSid; +use WellnessLiving\Wl\Service\ServicePriceSid; +use WellnessLiving\Wl\Service\ServiceRequireSid; + +/** + * Retrieves information about assets in the current asset category. + */ +class AssetListModel extends WlModelAbstract +{ + /** + * A list of information about assets: + * + * <dl> + * <dt>array <var>a_age_restrictions</var></dt> + * <dd> + * Information about age restrictions for this event. + * + * This will be an empty array if there aren't any age restrictions. + * + * <dl> + * <dt>int|null <var>i_age_from</var></dt> + * <dd>The minimum age permitted for the event. This will be `null` if a minimum age isn't set or available.</dd> + * <dt>int|null <var>i_age_to</var></dt> + * <dd>The maximum age permitted for the event. This will be `null` if a maximum age isn't set or available.</dd> + * <dt>bool <var>is_age_public</var></dt> + * <dd>This will be `true` if age restrictions are public and available. Otherwise, this will be `false` if they're hidden. + * When restrictions are hidden and current user isn't a staff member, the age range will be empty.</dd> + * </dl> + * </dd> + * <dt>array <var>a_class_tab</var></dt> + * <dd>The key of service.</dd> + * <dt> + * array[] <var>a_direct_link</var> + * </dt> + * <dd> + * A list of links to create a booking from a direct link (direct booking URL). + * The system needs to know what tab is associated with the booking. Therefore, there needs to be one link + * per tab. + * Each element has two values: + * <dl> + * <dt>string <var>k_class_tab</var></dt> + * <dd>The key of the book now tab.</dd> + * <dt>string <var>url_tab</var></dt> + * <dd>The direct booking URL. This will open the booking wizard under the related booking tab.</dd> + * </dl> + * </dd> + * <dt>array[] <var>a_image</var></dt> + * <dd>Information about the asset logo: + * <dl> + * <dt>int <var>i_angle</var></dt> + * <dd>The angle of the shape rotation. This is set only if the image is one of the default shapes.</dd> + * <dt>bool <var>is_empty</var></dt> + * <dd>Determines if the asset logo is empty.</dd> + * <dt>string <var>sid_image_icon</var></dt> + * <dd>The icon name. String representation of one of the {@link ImageIconSid} constants. This is only set if the image kind equals to `image`.</dd> + * <dt>string <var>sid_image_shape</var></dt> + * <dd>The shape name. String representation of one of the {@link ImageShapeSid} constants. This is set only if the image kind equals to `shape`.</dd> + * <dt>string <var>url</var></dt> + * <dd>The asset logo URL.</dd> + * </dl> + * </dd> + * <dt>array[] <var>a_period</var></dt> + * <dd>A list of asset periods with the following information: + * <dl> + * <dt>string <var>html_duration</var></dt> + * <dd>The HTML code used to display the asset duration.</dd> + * <dt>string <var>html_price</var></dt> + * <dd>The HTML code used to display the formatted price.</dd> + * <dt>int <var>i_duration</var></dt> + * <dd>The asset duration in minutes.</dd> + * <dt>int <var>id_price</var></dt> + * <dd>The asset period price type. One of {@link ServicePriceSid} constants.</dd> + * <dt>sting <var>m_price</var></dt> + * <dd>The asset period price.</dd> + * </dl> + * </dd> + * <dt>array <var>a_search_tag</var></dt> + * <dd>QUICK Search tag keys.</dd> + * <dt>bool <var>hide_application</var></dt> + * <dd> + * Determines whether the asset will be hidden in the White Label mobile apps. + * If `true`, the asset won't be displayed. Otherwise, this will be `false`. + * </dd> + * <dt>string <var>html_age_restriction</var></dt> + * <dd>The resource age restriction</dd> + * <dt>string <var>html_title</var></dt> + * <dd>The resource name.</dd> + * <dt>int <var>id_service_require</var></dt> + * <dd>The purchase rule. One of the {@link ServiceRequireSid} constants.</dd> + * <dt>bool <var>is_age_restricted</var></dt> + * <dd>Determines whether this service can't be booked due to age restrictions.</dd> + * <dt>string <var>k_class_tab</var></dt> + * <dd>Quick book tab key.</dd> + * <dt>string <var>k_resource</var></dt> + * <dd>The resource key.</dd> + * <dt>string <var>k_resource_category</var></dt> + * <dd>The resource category key.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_asset; + + /** + * The selected date and time of the asset booking. It is used in cases when the business booking policy allows + * clients to select a date and time, and then the available asset. + * + * @get get + * @var string + */ + public $dtl_date = false; + + /** + * Image height in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default size. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * Image width in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default size. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * Mode type, one of {@link ModeSid} constants. + * + * @get get + * @var int + */ + public $id_mode = 0; + + /** + * This is `true` if asset categories are loaded for back-end mode. Otherwise, this will be `false` for front-end mode. + * + * @get get + * @var bool + */ + public $is_backend = false; + + /** + * `true` - search in all tabs. + * `false` - search only for the selected book tab. + * + * @get get + * @var bool + */ + public $is_tab_all = false; + + /** + * Key of the appointment, if we reschedule existing appointment. + * It should be sent to ignore it when we get availability hours for the asset. + * + * @get get + * @var string + */ + public $k_appointment = '0'; + + /** + * Business key. + * + * If not set, location's business will be used. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The class tab key used to filter assets. + * + * This will be `null` if not set yet or if elements with no specified class tab are selected. + * + * @get get + * @var string + */ + public $k_class_tab = '0'; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location = '0'; + + /** + * The asset category key to show information for. + * + * @get get + * @var string + */ + public $k_resource_category = '0'; + + /** + * The asset layout key. + * May be empty if asset category has no layout. + * + * @get result + * @var string + */ + public $k_resource_layout; + + /** + * Timezone of date and time of asset booking. + * + * Empty if {@link AssetListModel::$dtl_date} not set or client can't change in which timezone dates should be shown. + * + * @get get + * @var string + */ + public $k_timezone = ''; + + /** + * Client to get information for. + * + * If client not set, returns full asset list without client restrictions. + * + * @get get + * @var string|null + */ + public $uid = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php b/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php index 7db3ac12..8d5455f6 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php @@ -1,247 +1,247 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Book\Finish; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Appointment\Book\Question\QuestionModel; -use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * Completes an appointment booking. - */ -class Finish47Model extends WlModelAbstract -{ - /** - * A list of answers for the questions from {@link QuestionModel::$a_question}. - * Keys refer to hashes of the questions. Values refer to answers for the questions. - * - * @post post - * @var array - */ - public $a_answer = []; - - /** - * The keys of the booked appointments. - * Every element has key: - * <dl> - * <dt> - * string <var>k_appointment</var> - * </dt> - * <dd> - * The appointment key. - * </dd> - * </dl> - * - * @post result - * @var array[] - */ - public $a_appointment = null; - - /** - * The documentation is the same as in {@link FinishModel::$a_book_data}. - * - * @post post - * @var array - */ - public $a_book_data = []; - - /** - * The activity keys of the bookings that were made. - * - * @post result - * @var string[] - */ - public $a_login_activity_visit = null; - - /** - * A list of payment sources to pay with. - * - * @post post - * @var array[] - */ - public $a_pay_form = []; - - /** - * Data required for payment. Has next structure:<dl> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>Type of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>Promotion key or appointment key. Depends on <var>id_purchase_item</var> of this array.</dd> - * <dt>string <var>k_login_promotion</var></dt> - * <dd>Login promotion key.</dd> - * <dt>string <var>k_session_pass</var></dt> - * <dd>Session pass key.</dd> - * <dt>string <var>text_discount_code</var></dt> - * <dd>Discount code.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_payment_data = []; - - /** - * The purchase item keys. - * Empty if no purchases are made for the appointment booking. - * - * @post post - * @var string[] - */ - public $a_purchase_item = []; - - /** - * List of quiz response keys. - * - * @post post - * @var array - */ - public $a_quiz_response = []; - - /** - * List of user keys to book appointments. - * There may be empty values in this list, which means that this is a walk-in. - * - * @get get - * @post get - * @var string[] - */ - public $a_uid = []; - - /** - * Data to create new user. - * Specify this if <var>$uid</var> is empty. - * Must contain the following keys: - * <dl> - * <dt>string[] <var>a_note</var></dt> - * <dd>List of notes to add to user.</dd> - * <dt>string <var>text_mail</var></dt> - * <dd>Mail.</dd> - * <dt>string <var>text_name_first</var></dt> - * <dd>First name.</dd> - * <dt>string <var>text_name_last</var></dt> - * <dd>Last name.</dd> - * <dt>string <var>text_phone</var></dt> - * <dd>Phone.</dd> - * </dl> - * - * @post get - * @var array - */ - public $a_user = []; - - /** - * The keys of visits. - * - * @post result - * @var string[] - */ - public $a_visit = null; - - /** - * The booking mode ID. One of the {@link ModeSid} constants. - * - * @post post - * @var int - */ - public $id_mode = 0; - - /** - * The payment type ID for the appointment. One of the {@link WlAppointmentPaySid} constants. - * - * @post get - * @var int - */ - public $id_pay = 0; - - /** - * Determines whether multiple appointments are booked in back-to-back mode. - * - * @post post - * @var bool - */ - public $is_back_to_back = false; - - /** - * If `true`, the appointment is booked as unpaid. Otherwise, this will be `false` to select an available Purchase Option. - * - * @post post - * @var bool - */ - public $is_unpaid_force = false; - - /** - * If `true`, the client is a walk-in. Otherwise, this will be `false`. - * - * @get get - * @post get - * @var bool - */ - public $is_walk_in = false; - - /** - * The appointment key. - * This should be set if you're rebooking an existing appointment. - * - * Otherwise, use `0` to book a new appointment. - * - * @post get - * @var string - */ - public $k_appointment = '0'; - - /** - * The business key. - * - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * Location to show available appointment booking schedule. - * - * @get get,result - * @post get - * @var string - */ - public $k_location = '0'; - - /** - * Key of timezone. - * - * `null` if not set then use default timezone client. - * - * @post get - * @var null|string - */ - public $k_timezone = null; - - /** - * The sum paid for a deposit. - * - * @post post - * @var string - */ - public $m_pay = '0'; - - /** - * Unique identifier of the wizard. - * - * @post post - * @var string - */ - public $s_id = ''; - - /** - * The user key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Finish; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Appointment\Book\Question\QuestionModel; +use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * Completes an appointment booking. + */ +class Finish47Model extends WlModelAbstract +{ + /** + * A list of answers for the questions from {@link QuestionModel::$a_question}. + * Keys refer to hashes of the questions. Values refer to answers for the questions. + * + * @post post + * @var array + */ + public $a_answer = []; + + /** + * The keys of the booked appointments. + * Every element has key: + * <dl> + * <dt> + * string <var>k_appointment</var> + * </dt> + * <dd> + * The appointment key. + * </dd> + * </dl> + * + * @post result + * @var array[] + */ + public $a_appointment = null; + + /** + * The documentation is the same as in {@link FinishModel::$a_book_data}. + * + * @post post + * @var array + */ + public $a_book_data = []; + + /** + * The activity keys of the bookings that were made. + * + * @post result + * @var string[] + */ + public $a_login_activity_visit = null; + + /** + * A list of payment sources to pay with. + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * Data required for payment. Has next structure:<dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>Type of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>Promotion key or appointment key. Depends on <var>id_purchase_item</var> of this array.</dd> + * <dt>string <var>k_login_promotion</var></dt> + * <dd>Login promotion key.</dd> + * <dt>string <var>k_session_pass</var></dt> + * <dd>Session pass key.</dd> + * <dt>string <var>text_discount_code</var></dt> + * <dd>Discount code.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_payment_data = []; + + /** + * The purchase item keys. + * Empty if no purchases are made for the appointment booking. + * + * @post post + * @var string[] + */ + public $a_purchase_item = []; + + /** + * List of quiz response keys. + * + * @post post + * @var array + */ + public $a_quiz_response = []; + + /** + * List of user keys to book appointments. + * There may be empty values in this list, which means that this is a walk-in. + * + * @get get + * @post get + * @var string[] + */ + public $a_uid = []; + + /** + * Data to create new user. + * Specify this if <var>$uid</var> is empty. + * Must contain the following keys: + * <dl> + * <dt>string[] <var>a_note</var></dt> + * <dd>List of notes to add to user.</dd> + * <dt>string <var>text_mail</var></dt> + * <dd>Mail.</dd> + * <dt>string <var>text_name_first</var></dt> + * <dd>First name.</dd> + * <dt>string <var>text_name_last</var></dt> + * <dd>Last name.</dd> + * <dt>string <var>text_phone</var></dt> + * <dd>Phone.</dd> + * </dl> + * + * @post get + * @var array + */ + public $a_user = []; + + /** + * The keys of visits. + * + * @post result + * @var string[] + */ + public $a_visit = null; + + /** + * The booking mode ID. One of the {@link ModeSid} constants. + * + * @post post + * @var int + */ + public $id_mode = 0; + + /** + * The payment type ID for the appointment. One of the {@link WlAppointmentPaySid} constants. + * + * @post get + * @var int + */ + public $id_pay = 0; + + /** + * Determines whether multiple appointments are booked in back-to-back mode. + * + * @post post + * @var bool + */ + public $is_back_to_back = false; + + /** + * If `true`, the appointment is booked as unpaid. Otherwise, this will be `false` to select an available Purchase Option. + * + * @post post + * @var bool + */ + public $is_unpaid_force = false; + + /** + * If `true`, the client is a walk-in. Otherwise, this will be `false`. + * + * @get get + * @post get + * @var bool + */ + public $is_walk_in = false; + + /** + * The appointment key. + * This should be set if you're rebooking an existing appointment. + * + * Otherwise, use `0` to book a new appointment. + * + * @post get + * @var string + */ + public $k_appointment = '0'; + + /** + * The business key. + * + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * Location to show available appointment booking schedule. + * + * @get get,result + * @post get + * @var string + */ + public $k_location = '0'; + + /** + * Key of timezone. + * + * `null` if not set then use default timezone client. + * + * @post get + * @var null|string + */ + public $k_timezone = null; + + /** + * The sum paid for a deposit. + * + * @post post + * @var string + */ + public $m_pay = '0'; + + /** + * Unique identifier of the wizard. + * + * @post post + * @var string + */ + public $s_id = ''; + + /** + * The user key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php index 1dc37ae2..101f76f8 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php @@ -1,395 +1,395 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Book\Finish; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\Core\a\AGenderSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Classes\Tab\TabSid; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * Pays for an appointment or appointment Purchase Option for a client. - */ -class FinishMultipleModel extends WlModelAbstract -{ - /** - * A list of answers for the questions. - * - * @post post - * @var array - */ - public $a_answer = []; - - /** - * The booked appointments. Every element has the key: - * <dl> - * <dt> - * string <var>k_appointment</var> - * </dt> - * <dd> - * The appointment key. - * </dd> - * </dl> - * - * @post result - * @var array[] - */ - public $a_appointment = []; - - /** - * All data from the provider model `Wl_Appointment_Book_ProviderModel`: - * <dl> - * <dt> - * array [<var>a_product</var>] - * </dt> - * <dd> - * Add-ons to the appointment. Specified for appointment bookings only. - * The old format used array keys. While the new format has each element as an array: - * <dl> - * <dt>int <var>i_count</var></dt><dd>The add-on count.</dd> - * <dt>string <var>k_shop_product_option</var></dt><dd>The add-on key.</dd> - * </dl> - * </dd> - * <dt> - * array [<var>a_repeat</var>] - * </dt> - * <dd> - * Information for the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of the week when the appointment repeats. One of the constants of the {@link ADateWeekSid} class. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency at which the appointment repeats. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> if the appointment repeats monthly on the same date. - * <tt>false</tt> if the appointment repeats monthly on the same day of the week. - * <tt>null</tt> if the appointment doesn't repeat monthly. - * </dd> - * </dl> - * This will be empty if the appointment isn't booked recurringly. - * </dd> - * <dt> - * array [<var>a_resource</var>] - * </dt> - * <dd> - * The list of assets for the appointment booking. - * Keys refer to asset categories. Values are arrays with the next keys: - * <dl> - * <dt>int [<var>i_index</var>]</dt> - * <dd>The asset index on the layout. This is only specified if the asset category has a layout.</dd> - * <dt>string <var>k_resource</var></dt> - * <dd>The asset.</dd> - * </dl> - * Specify this only for an appointment booking. - * </dd> - * <dt> - * string <var>dt_date</var> - * </dt> - * <dd> - * The date/time for the booking in MySQL format in the location's time zone. - * </dd> - * <dt> - * int [<var>i_duration</var>] - * </dt> - * <dd> - * The duration for the asset booking in minutes. Specify this for separate asset bookings only. - * </dd> - * <dt> - * int [<var>i_index</var>] - * </dt> - * <dd> - * The asset index on the layout. - * Specify this for separate asset bookings only and for cases when the asset category only has the layout. - * </dd> - * <dt> - * int <var>id_class_tab</var> - * </dt> - * <dd> - * The booking service type. One of the {@link TabSid} constants. - * </dd> - * <dt> - * int [<var>id_gender_staff</var>] - * </dt> - * <dd> - * The gender of the staff member conducting the appointment. One of the {@link AGenderSid} constants. - * Specify this for appointment bookings only. - * </dd> - * <dt> - * string [<var>k_login_promotion</var>] - * </dt> - * <dd> - * The user's Purchase Option. - * Specify this if you want to use a specific Purchase Option to pay for the booking. - * - * </dd> - * <dt> - * string [<var>k_resource</var>] - * </dt> - * <dd> - * The asset booking. Specify this for separate asset bookings only. - * - * </dd> - * <dt> - * string [<var>k_service</var>] - * </dt> - * <dd> - * The appointment booking. Specify this for appointment bookings only. - * - * </dd> - * <dt> - * string [<var>k_staff</var>] - * </dt> - * <dd> - * The staff member conducting the appointment. - * Specify this for appointment bookings only. - * - * </dd> - * <dt> - * string [<var>k_staff_date</var>] - * </dt> - * <dd> - * The staff member conducting the appointment. - * The difference between this and <var>k_staff</var> is that this value must be set only in cases - * when you want to add customer to an appointment that already exists. - * Specify this for appointment bookings only. - * - * </dd> - * <dt>string [<var>m_tip_appointment</var>]</dt> - * <dd>The amount of selected tips.</dd> - * <dt>sting <var>k_timezone</var></dt> - * <dd>The time zone key. This will be 'null' if the time zone used matches the time zone of the location.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_book_data = []; - - /** - * The activity IDs of bookings that have been made. - * - * @post result - * @var string[] - */ - public $a_login_activity_visit; - - /** - * The sum paid. - * - * @post post - * @var array - */ - public $a_paid = []; - - /** - * The payment type for the appointment. One of the {@link WlAppointmentPaySid} constants. - * - * @post get - * @var array - */ - public $a_pay = []; - - /** - * A list of payment sources to pay with. - * - * @post post - * @var array[] - */ - public $a_pay_form = []; - - /** - * Data required for payment with the next structure:<dl> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The purchase item type. One of the {@link WlPurchaseItemSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The promotion or appointment key, depending on <var>id_purchase_item</var> in this array.</dd> - * <dt>string <var>k_login_promotion</var></dt> - * <dd>The login promotion key.</dd> - * <dt>string <var>text_discount_code</var></dt> - * <dd>The discount code.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_payment_data = []; - - /** - * The purchase items keys. - * This will be empty if no purchases have been made for the appointment booking. - * - * @post post - * @var string[] - */ - public $a_purchase_item = []; - - /** - * The list of quiz response keys. - * Keys refer to quiz keys. - * And values refer to response keys. - * - * @post post - * @var array[] - */ - public $a_quiz_response = []; - - /** - * List of user keys to book appointments. - * There may be empty values in this list, which means that this is a walk-in. - * - * @get get - * @post get - * @var string[] - */ - public $a_uid = []; - - /** - * Data to create new users. - * Specify this if <var>$uid</var> is empty. - * The data must contain the next keys: - * <dl><dt>string[] <var>a_note</var></dt><dd>The list of notes to add to the new user's profile.</dd> - * <dt>string <var>text_mail</var></dt><dd>The new user's email address.</dd> - * <dt>string <var>text_name_first</var></dt><dd>The new user's first name.</dd> - * <dt>string <var>text_name_last</var></dt><dd>The new user's last name.</dd> - * <dt>string <var>text_phone</var></dt><dd>The new user's mobile phone number.</dd></dl> - * - * @post get - * @var array - */ - public $a_user = []; - - /** - * The visit IDs. - * - * @post result - * @var string[] - */ - public $a_visit = []; - - /** - * Keys of booked visits. - * - * Structured into a two-dimensional array. - * 1st dimension - providers; 2nd dimension - visit keys inside a provider. - * - * @post result - * @var string[][] - */ - public $a_visit_provider = []; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @post post - * @var int - */ - public $id_mode = 0; - - /** - * Determines whether multiple appointments have been booked in back-to-back mode. - * - * @post post - * @var bool - */ - public $is_back_to_back = false; - - /** - * This will be `true` when trying to make a test booking and rollback should be applied. - * Otherwise, this will be `false`. - * - * If the flag is set to `true`, credit card requirement will be ignored during this check. - * - * @post post - * @var bool - */ - public $is_try = false; - - /** - * If `true`, the client is a walk-in. Otherwise, this will be `false`. - * - * @get get - * @post get - * @var bool - */ - public $is_walk_in = false; - - /** - * The appointment key. - * Specify this to reschedule a certain appointment. - * - * @post get - * @var string - */ - public $k_appointment = '0'; - - /** - * The business key. - * - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * Location to show available appointment booking schedule. - * - * @get get,result - * @post get - * @var string - */ - public $k_location = '0'; - - /** - * Unique identifier of the wizard. - * - * @post post - * @var string - */ - public $s_id = ''; - - /** - * The user key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Finish; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\Core\a\AGenderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Classes\Tab\TabSid; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * Pays for an appointment or appointment Purchase Option for a client. + */ +class FinishMultipleModel extends WlModelAbstract +{ + /** + * A list of answers for the questions. + * + * @post post + * @var array + */ + public $a_answer = []; + + /** + * The booked appointments. Every element has the key: + * <dl> + * <dt> + * string <var>k_appointment</var> + * </dt> + * <dd> + * The appointment key. + * </dd> + * </dl> + * + * @post result + * @var array[] + */ + public $a_appointment = []; + + /** + * All data from the provider model `Wl_Appointment_Book_ProviderModel`: + * <dl> + * <dt> + * array [<var>a_product</var>] + * </dt> + * <dd> + * Add-ons to the appointment. Specified for appointment bookings only. + * The old format used array keys. While the new format has each element as an array: + * <dl> + * <dt>int <var>i_count</var></dt><dd>The add-on count.</dd> + * <dt>string <var>k_shop_product_option</var></dt><dd>The add-on key.</dd> + * </dl> + * </dd> + * <dt> + * array [<var>a_repeat</var>] + * </dt> + * <dd> + * Information for the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of the week when the appointment repeats. One of the constants of the {@link ADateWeekSid} class. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency at which the appointment repeats. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> if the appointment repeats monthly on the same date. + * <tt>false</tt> if the appointment repeats monthly on the same day of the week. + * <tt>null</tt> if the appointment doesn't repeat monthly. + * </dd> + * </dl> + * This will be empty if the appointment isn't booked recurringly. + * </dd> + * <dt> + * array [<var>a_resource</var>] + * </dt> + * <dd> + * The list of assets for the appointment booking. + * Keys refer to asset categories. Values are arrays with the next keys: + * <dl> + * <dt>int [<var>i_index</var>]</dt> + * <dd>The asset index on the layout. This is only specified if the asset category has a layout.</dd> + * <dt>string <var>k_resource</var></dt> + * <dd>The asset.</dd> + * </dl> + * Specify this only for an appointment booking. + * </dd> + * <dt> + * string <var>dt_date</var> + * </dt> + * <dd> + * The date/time for the booking in MySQL format in the location's time zone. + * </dd> + * <dt> + * int [<var>i_duration</var>] + * </dt> + * <dd> + * The duration for the asset booking in minutes. Specify this for separate asset bookings only. + * </dd> + * <dt> + * int [<var>i_index</var>] + * </dt> + * <dd> + * The asset index on the layout. + * Specify this for separate asset bookings only and for cases when the asset category only has the layout. + * </dd> + * <dt> + * int <var>id_class_tab</var> + * </dt> + * <dd> + * The booking service type. One of the {@link TabSid} constants. + * </dd> + * <dt> + * int [<var>id_gender_staff</var>] + * </dt> + * <dd> + * The gender of the staff member conducting the appointment. One of the {@link AGenderSid} constants. + * Specify this for appointment bookings only. + * </dd> + * <dt> + * string [<var>k_login_promotion</var>] + * </dt> + * <dd> + * The user's Purchase Option. + * Specify this if you want to use a specific Purchase Option to pay for the booking. + * + * </dd> + * <dt> + * string [<var>k_resource</var>] + * </dt> + * <dd> + * The asset booking. Specify this for separate asset bookings only. + * + * </dd> + * <dt> + * string [<var>k_service</var>] + * </dt> + * <dd> + * The appointment booking. Specify this for appointment bookings only. + * + * </dd> + * <dt> + * string [<var>k_staff</var>] + * </dt> + * <dd> + * The staff member conducting the appointment. + * Specify this for appointment bookings only. + * + * </dd> + * <dt> + * string [<var>k_staff_date</var>] + * </dt> + * <dd> + * The staff member conducting the appointment. + * The difference between this and <var>k_staff</var> is that this value must be set only in cases + * when you want to add customer to an appointment that already exists. + * Specify this for appointment bookings only. + * + * </dd> + * <dt>string [<var>m_tip_appointment</var>]</dt> + * <dd>The amount of selected tips.</dd> + * <dt>sting <var>k_timezone</var></dt> + * <dd>The time zone key. This will be 'null' if the time zone used matches the time zone of the location.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_book_data = []; + + /** + * The activity IDs of bookings that have been made. + * + * @post result + * @var string[] + */ + public $a_login_activity_visit; + + /** + * The sum paid. + * + * @post post + * @var array + */ + public $a_paid = []; + + /** + * The payment type for the appointment. One of the {@link WlAppointmentPaySid} constants. + * + * @post get + * @var array + */ + public $a_pay = []; + + /** + * A list of payment sources to pay with. + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * Data required for payment with the next structure:<dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The purchase item type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The promotion or appointment key, depending on <var>id_purchase_item</var> in this array.</dd> + * <dt>string <var>k_login_promotion</var></dt> + * <dd>The login promotion key.</dd> + * <dt>string <var>text_discount_code</var></dt> + * <dd>The discount code.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_payment_data = []; + + /** + * The purchase items keys. + * This will be empty if no purchases have been made for the appointment booking. + * + * @post post + * @var string[] + */ + public $a_purchase_item = []; + + /** + * The list of quiz response keys. + * Keys refer to quiz keys. + * And values refer to response keys. + * + * @post post + * @var array[] + */ + public $a_quiz_response = []; + + /** + * List of user keys to book appointments. + * There may be empty values in this list, which means that this is a walk-in. + * + * @get get + * @post get + * @var string[] + */ + public $a_uid = []; + + /** + * Data to create new users. + * Specify this if <var>$uid</var> is empty. + * The data must contain the next keys: + * <dl><dt>string[] <var>a_note</var></dt><dd>The list of notes to add to the new user's profile.</dd> + * <dt>string <var>text_mail</var></dt><dd>The new user's email address.</dd> + * <dt>string <var>text_name_first</var></dt><dd>The new user's first name.</dd> + * <dt>string <var>text_name_last</var></dt><dd>The new user's last name.</dd> + * <dt>string <var>text_phone</var></dt><dd>The new user's mobile phone number.</dd></dl> + * + * @post get + * @var array + */ + public $a_user = []; + + /** + * The visit IDs. + * + * @post result + * @var string[] + */ + public $a_visit = []; + + /** + * Keys of booked visits. + * + * Structured into a two-dimensional array. + * 1st dimension - providers; 2nd dimension - visit keys inside a provider. + * + * @post result + * @var string[][] + */ + public $a_visit_provider = []; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @post post + * @var int + */ + public $id_mode = 0; + + /** + * Determines whether multiple appointments have been booked in back-to-back mode. + * + * @post post + * @var bool + */ + public $is_back_to_back = false; + + /** + * This will be `true` when trying to make a test booking and rollback should be applied. + * Otherwise, this will be `false`. + * + * If the flag is set to `true`, credit card requirement will be ignored during this check. + * + * @post post + * @var bool + */ + public $is_try = false; + + /** + * If `true`, the client is a walk-in. Otherwise, this will be `false`. + * + * @get get + * @post get + * @var bool + */ + public $is_walk_in = false; + + /** + * The appointment key. + * Specify this to reschedule a certain appointment. + * + * @post get + * @var string + */ + public $k_appointment = '0'; + + /** + * The business key. + * + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * Location to show available appointment booking schedule. + * + * @get get,result + * @post get + * @var string + */ + public $k_location = '0'; + + /** + * Unique identifier of the wizard. + * + * @post post + * @var string + */ + public $s_id = ''; + + /** + * The user key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 0358a857..2f97e642 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -1,529 +1,529 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Book\Payment; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Classes\Tab\TabSid; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * Completes the payment for an appointment or appointment Purchase Option for a client. - * - * The only difference between this endpoint and {@link PaymentModel} is - * that this endpoint is capable of paying for multiple appointments at the same time. - * - * This endpoint uses a CAPTCHA check. - * To pass the CAPTCHA, you'll need to study the documentation of the CAPTCHA base class. In the documentation, you'll - * find that you need to send a CAPTCHA for a specific action. For this API, the action is {@link BusinessPaymentCaptcha::CID}. - */ -class PaymentMultipleModel extends WlModelAbstract -{ - /** - * The booking process information: - * <dl> - * <dt> - * array[] <var>a_provider</var> - * </dt> - * <dd> - * The batch of appointments to be booked. Each element has the next values: - * <dl> - * <dt> - * array <var>a_product</var> - * </dt> - * <dd> - * The add-on list. - * Keys refer to add-on keys, and values refer to the add-on quantities. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The asset duration in minutes. This won't be empty for asset bookings. - * </dd> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants. - * This won't be empty for new options purchased. - * </dd> - * <dt> - * bool <var>is_pay_later</var> - * </dt> - * <dd> - * This will be <tt>true</tt> if the customer wants to pay upon their visit. Otherwise, this will be <tt>false</tt> - * if the user wants to pay now. - * </dd> - * <dt> - * bool <var>is_purchase_previous</var> - * </dt> - * <dd> - * This will be <tt>true</tt> if the Purchase Option that was selected for another appointment from the batch - * must be used for this appointment. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool <var>is_wait_list_unpaid</var> - * </dt> - * <dd> - * This will be <tt>true</tt> if the customer is booked into the wait list and doesn't have to pay. - * Otherwise, this will be <tt>false</tt> if the customer is booking to an active list (or if the wait list booking - * should be paid now). - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the purchase item. - * This won't be empty for new options purchased. - * </dd> - * <dt> - * string <var>k_login_prize</var> - * </dt> - * <dd> - * The key of the customer's prize used to pay for the booking. This won't be empty for bookings made using prizes. - * </dd> - * <dt> - * string <var>k_login_promotion</var> - * </dt> - * <dd> - * The key of the Purchase Option. This won't be empty when using a Purchase Option that's already been purchased. - * </dd> - * <dt> - * string <var>k_resource</var> - * </dt> - * <dd> - * The key of the asset booking. - * This is only used for asset bookings. - * </dd> - * <dt> - * string <var>k_service</var> - * </dt> - * <dd> - * The key of the appointment booking service. - * This is only used for appointment bookings. - * </dd> - * <dt> - * string <var>s_signature</var> - * </dt> - * <dd> - * The signature for the Purchase Option contract. - * The data is returned from the canvas HTML element or the signature pad. - * This won't be empty if the Purchase Option requires contract signing. - * </dd> - * </dl> - * </dd> - * <dt> - * int <var>id_class_tab</var> - * </dt> - * <dd> - * The "Book now" tab. One of the {@link TabSid} constants. - * </dd> - * <dt> - * string <var>m_tip_appointment</var> - * </dt> - * <dd> - * The tips amount. - * </dd> - * </dl> - * - * Set this field value for GET requests. - * - * @get get - * @var array - */ - public $a_book_data = []; - - /** - * A copy of {@link PaymentMultipleModel::$a_book_data}. - * - * Set this field value for POST requests. - * - * @post post - * @var array - */ - public $a_book_data_post = []; - - /** - * The list of redeemed prizes. - * - * @post result - * @var string[] - */ - public $a_login_prize = []; - - /** - * The payment type for the appointment. One of the {@link WlAppointmentPaySid} constants. - * - * @post result - * @var int[] - */ - public $a_pay; - - /** - * A list of payment sources to pay with. - * - * Each element has next keys: - * <dl> - * <dt> - * array [<var>a_pay_card</var>] - * </dt> - * <dd> - * The payment card information: - * <dl> - * <dt> - * array <var>a_pay_address</var> - * </dt> - * <dd> - * The payment address: - * <dl> - * <dt>boolean <var>is_new</var></dt> - * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> - * <dt>string [<var>k_geo_country</var>]</dt> - * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_geo_region</var>]</dt> - * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_pay_address</var>]</dt> - * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> - * <dt>string [<var>s_city</var>]</dt> - * <dd>The city used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_name</var>]</dt> - * <dd>The card name. Specify this to add a new address.</dd> - * <dt>string [<var>s_phone</var>]</dt> - * <dd>The payment phone. Specify this to add a new address.</dd> - * <dt>string [<var>s_postal</var>]</dt> - * <dd>The postal code for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street1</var>]</dt> - * <dd>The payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street2</var>]</dt> - * <dd>The optional payment address. Specify this to add a new address.</dd> - * </dl> - * </dd> - * <dt> - * int [<var>i_csc</var>] - * </dt> - * <dd> - * The credit card CSC. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_month</var>] - * </dt> - * <dd> - * The credit card expiration month. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_year</var>] - * </dt> - * <dd> - * The credit card expiration year. Specify this to add a new card. - * </dd> - * <dt> - * boolean <var>is_new</var> - * </dt> - * <dd> - * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. - * </dd> - * <dt> - * string [<var>k_pay_bank</var>] - * </dt> - * <dd> - * The key of the credit card. Specify this to use saved card. - * </dd> - * <dt> - * string [<var>s_comment</var>] - * </dt> - * <dd> - * Optional comment(s). Specify this to add a new card. - * </dd> - * <dt> - * string [<var>s_number</var>] - * </dt> - * <dd> - * The card number. Specify this to add a new card. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_amount</var> - * </dt> - * <dd> - * The amount of money to withdraw with this payment source. - * </dd> - * <dt> - * boolean [<var>is_hide</var>] - * </dt> - * <dd> - * Determines whether this payment method is hidden. - * </dd> - * <dt> - * boolean [<var>is_success</var>=<tt>false</tt>] - * </dt> - * <dd> - * Identifies whether this source was successfully charged. - * </dd> - * <dt> - * string [<var>m_surcharge</var>] - * </dt> - * <dd> - * The client-side calculated surcharge. - * </dd> - * <dt> - * string [<var>s_index</var>] - * </dt> - * <dd> - * The index of this form (optional). - * </dd> - * <dt> - * string <var>sid_pay_method</var> - * </dt> - * <dd> - * The payment method ID. - * </dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_pay_form = []; - - /** - * Information about the selected login promotion. - * - * <dl> - * <dt> - * int <var>i_limit</var> - * </dt> - * <dd> - * The visit count limit of the promotion. - * </dd> - * <dt> - * int <var>i_remain</var> - * </dt> - * <dd> - * The count of remaining visits. - * </dd> - * <dt> - * string <var>s_expire</var> - * </dt> - * <dd> - * The expiration date. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The title of the promotion. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_promotion_data; - - /** - * Fields refer to strings in the format <tt>id_purchase_item-k_id</tt>. Values refer to an array with the next stricture: - * <dl> - * <dt> - * array <var>a_tax</var> - * </dt> - * <dd> - * A list of taxes to apply containing information about taxes. - * The array keys are <tt>k_tax</tt> keys. Each element contains the following fields: - * <dl> - * <dt> - * float <var>m_tax</var> - * </dt> - * <dd> - * The tax rate. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The name of the tax. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>id_purchase_item</var> - * </dt> - * <dd> - * The purchase item ID. One of the {@link WlPurchaseItemSid} constants. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The value of the discount used for the purchase. - * </dd> - * <dt> - * string <var>m_discount</var> - * </dt> - * <dd> - * The value of the discount used for the purchase. - * </dd> - * <dt> - * string <var>m_pay</var> - * </dt> - * <dd> - * The payment for the promotion (or single visit) without taxes. - * </dd> - * <dt> - * string <var>m_price</var> - * </dt> - * <dd> - * The price of the promotion (or single visit). - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_purchase; - - /** - * The keys of purchased items. - * - * The first level of the array is the list of appointments from the batch. - * The second level of the array is the list of items purchased for this appointment. - * - * @post result - * @var string[][]|null - */ - public $a_purchase_item; - - /** - * The list of quiz response keys. - * Keys refer to quiz keys. - * And values refer to response keys. - * - * @post post - * @var array - */ - public $a_quiz_response = []; - - /** - * The list of amounts to pay for appointments from the batch, with taxes and without surcharges. - * - * @get result - * @var string[] - */ - public $a_total; - - /** - * List of user keys to book appointments. - * There may be empty values in this list, which means that this is a walk-in. - * - * @get get - * @post get - * @var string[] - */ - public $a_uid = []; - - /** - * The ID of the source mode. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * If `true`, the client is a walk-in. Otherwise, this will be `false`. - * - * @get get - * @post get - * @var bool - */ - public $is_walk_in = false; - - /** - * Location to show available appointment booking schedule. - * - * @get get,result - * @post get - * @var string - */ - public $k_location = '0'; - - /** - * Key of the activity for the purchase made. This will be empty if no purchase has been made. - * - * @post result - * @var string - */ - public $k_login_activity_purchase; - - /** - * The gift card amount. - * - * @get result - * @var string - */ - public $m_coupon; - - /** - * The discount amount. - * - * @get result - * @var string - */ - public $m_discount; - - /** - * The surcharge amount. - * - * @get result - * @var string - */ - public $m_surcharge; - - /** - * The amount of tax to pay. - * - * @get result - * @var string - */ - public $m_tax; - - /** - * The price of the service, with taxes and without surcharges. - * - * @get result - * @var string - */ - public $m_total; - - /** - * The gift card code. - * - * @get get - * @post get - * @var string - */ - public $text_coupon_code = ''; - - /** - * The discount code. - * - * @get get - * @post get - * @var string - */ - public $text_discount_code = ''; - - /** - * The user key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Payment; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Classes\Tab\TabSid; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * Completes the payment for an appointment or appointment Purchase Option for a client. + * + * The only difference between this endpoint and {@link PaymentModel} is + * that this endpoint is capable of paying for multiple appointments at the same time. + * + * This endpoint uses a CAPTCHA check. + * To pass the CAPTCHA, you'll need to study the documentation of the CAPTCHA base class. In the documentation, you'll + * find that you need to send a CAPTCHA for a specific action. For this API, the action is {@link BusinessPaymentCaptcha::CID}. + */ +class PaymentMultipleModel extends WlModelAbstract +{ + /** + * The booking process information: + * <dl> + * <dt> + * array[] <var>a_provider</var> + * </dt> + * <dd> + * The batch of appointments to be booked. Each element has the next values: + * <dl> + * <dt> + * array <var>a_product</var> + * </dt> + * <dd> + * The add-on list. + * Keys refer to add-on keys, and values refer to the add-on quantities. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The asset duration in minutes. This won't be empty for asset bookings. + * </dd> + * <dt> + * int <var>id_purchase_item</var> + * </dt> + * <dd> + * The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants. + * This won't be empty for new options purchased. + * </dd> + * <dt> + * bool <var>is_pay_later</var> + * </dt> + * <dd> + * This will be <tt>true</tt> if the customer wants to pay upon their visit. Otherwise, this will be <tt>false</tt> + * if the user wants to pay now. + * </dd> + * <dt> + * bool <var>is_purchase_previous</var> + * </dt> + * <dd> + * This will be <tt>true</tt> if the Purchase Option that was selected for another appointment from the batch + * must be used for this appointment. Otherwise, this will be <tt>false</tt>. + * </dd> + * <dt> + * bool <var>is_wait_list_unpaid</var> + * </dt> + * <dd> + * This will be <tt>true</tt> if the customer is booked into the wait list and doesn't have to pay. + * Otherwise, this will be <tt>false</tt> if the customer is booking to an active list (or if the wait list booking + * should be paid now). + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The key of the purchase item. + * This won't be empty for new options purchased. + * </dd> + * <dt> + * string <var>k_login_prize</var> + * </dt> + * <dd> + * The key of the customer's prize used to pay for the booking. This won't be empty for bookings made using prizes. + * </dd> + * <dt> + * string <var>k_login_promotion</var> + * </dt> + * <dd> + * The key of the Purchase Option. This won't be empty when using a Purchase Option that's already been purchased. + * </dd> + * <dt> + * string <var>k_resource</var> + * </dt> + * <dd> + * The key of the asset booking. + * This is only used for asset bookings. + * </dd> + * <dt> + * string <var>k_service</var> + * </dt> + * <dd> + * The key of the appointment booking service. + * This is only used for appointment bookings. + * </dd> + * <dt> + * string <var>s_signature</var> + * </dt> + * <dd> + * The signature for the Purchase Option contract. + * The data is returned from the canvas HTML element or the signature pad. + * This won't be empty if the Purchase Option requires contract signing. + * </dd> + * </dl> + * </dd> + * <dt> + * int <var>id_class_tab</var> + * </dt> + * <dd> + * The "Book now" tab. One of the {@link TabSid} constants. + * </dd> + * <dt> + * string <var>m_tip_appointment</var> + * </dt> + * <dd> + * The tips amount. + * </dd> + * </dl> + * + * Set this field value for GET requests. + * + * @get get + * @var array + */ + public $a_book_data = []; + + /** + * A copy of {@link PaymentMultipleModel::$a_book_data}. + * + * Set this field value for POST requests. + * + * @post post + * @var array + */ + public $a_book_data_post = []; + + /** + * The list of redeemed prizes. + * + * @post result + * @var string[] + */ + public $a_login_prize = []; + + /** + * The payment type for the appointment. One of the {@link WlAppointmentPaySid} constants. + * + * @post result + * @var int[] + */ + public $a_pay; + + /** + * A list of payment sources to pay with. + * + * Each element has next keys: + * <dl> + * <dt> + * array [<var>a_pay_card</var>] + * </dt> + * <dd> + * The payment card information: + * <dl> + * <dt> + * array <var>a_pay_address</var> + * </dt> + * <dd> + * The payment address: + * <dl> + * <dt>boolean <var>is_new</var></dt> + * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> + * <dt>string [<var>k_geo_country</var>]</dt> + * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_geo_region</var>]</dt> + * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_pay_address</var>]</dt> + * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> + * <dt>string [<var>s_city</var>]</dt> + * <dd>The city used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_name</var>]</dt> + * <dd>The card name. Specify this to add a new address.</dd> + * <dt>string [<var>s_phone</var>]</dt> + * <dd>The payment phone. Specify this to add a new address.</dd> + * <dt>string [<var>s_postal</var>]</dt> + * <dd>The postal code for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street1</var>]</dt> + * <dd>The payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street2</var>]</dt> + * <dd>The optional payment address. Specify this to add a new address.</dd> + * </dl> + * </dd> + * <dt> + * int [<var>i_csc</var>] + * </dt> + * <dd> + * The credit card CSC. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_month</var>] + * </dt> + * <dd> + * The credit card expiration month. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_year</var>] + * </dt> + * <dd> + * The credit card expiration year. Specify this to add a new card. + * </dd> + * <dt> + * boolean <var>is_new</var> + * </dt> + * <dd> + * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. + * </dd> + * <dt> + * string [<var>k_pay_bank</var>] + * </dt> + * <dd> + * The key of the credit card. Specify this to use saved card. + * </dd> + * <dt> + * string [<var>s_comment</var>] + * </dt> + * <dd> + * Optional comment(s). Specify this to add a new card. + * </dd> + * <dt> + * string [<var>s_number</var>] + * </dt> + * <dd> + * The card number. Specify this to add a new card. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>f_amount</var> + * </dt> + * <dd> + * The amount of money to withdraw with this payment source. + * </dd> + * <dt> + * boolean [<var>is_hide</var>] + * </dt> + * <dd> + * Determines whether this payment method is hidden. + * </dd> + * <dt> + * boolean [<var>is_success</var>=<tt>false</tt>] + * </dt> + * <dd> + * Identifies whether this source was successfully charged. + * </dd> + * <dt> + * string [<var>m_surcharge</var>] + * </dt> + * <dd> + * The client-side calculated surcharge. + * </dd> + * <dt> + * string [<var>s_index</var>] + * </dt> + * <dd> + * The index of this form (optional). + * </dd> + * <dt> + * string <var>sid_pay_method</var> + * </dt> + * <dd> + * The payment method ID. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * Information about the selected login promotion. + * + * <dl> + * <dt> + * int <var>i_limit</var> + * </dt> + * <dd> + * The visit count limit of the promotion. + * </dd> + * <dt> + * int <var>i_remain</var> + * </dt> + * <dd> + * The count of remaining visits. + * </dd> + * <dt> + * string <var>s_expire</var> + * </dt> + * <dd> + * The expiration date. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The title of the promotion. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_promotion_data; + + /** + * Fields refer to strings in the format <tt>id_purchase_item-k_id</tt>. Values refer to an array with the next stricture: + * <dl> + * <dt> + * array <var>a_tax</var> + * </dt> + * <dd> + * A list of taxes to apply containing information about taxes. + * The array keys are <tt>k_tax</tt> keys. Each element contains the following fields: + * <dl> + * <dt> + * float <var>m_tax</var> + * </dt> + * <dd> + * The tax rate. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The name of the tax. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>id_purchase_item</var> + * </dt> + * <dd> + * The purchase item ID. One of the {@link WlPurchaseItemSid} constants. + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The value of the discount used for the purchase. + * </dd> + * <dt> + * string <var>m_discount</var> + * </dt> + * <dd> + * The value of the discount used for the purchase. + * </dd> + * <dt> + * string <var>m_pay</var> + * </dt> + * <dd> + * The payment for the promotion (or single visit) without taxes. + * </dd> + * <dt> + * string <var>m_price</var> + * </dt> + * <dd> + * The price of the promotion (or single visit). + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_purchase; + + /** + * The keys of purchased items. + * + * The first level of the array is the list of appointments from the batch. + * The second level of the array is the list of items purchased for this appointment. + * + * @post result + * @var string[][]|null + */ + public $a_purchase_item; + + /** + * The list of quiz response keys. + * Keys refer to quiz keys. + * And values refer to response keys. + * + * @post post + * @var array + */ + public $a_quiz_response = []; + + /** + * The list of amounts to pay for appointments from the batch, with taxes and without surcharges. + * + * @get result + * @var string[] + */ + public $a_total; + + /** + * List of user keys to book appointments. + * There may be empty values in this list, which means that this is a walk-in. + * + * @get get + * @post get + * @var string[] + */ + public $a_uid = []; + + /** + * The ID of the source mode. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * If `true`, the client is a walk-in. Otherwise, this will be `false`. + * + * @get get + * @post get + * @var bool + */ + public $is_walk_in = false; + + /** + * Location to show available appointment booking schedule. + * + * @get get,result + * @post get + * @var string + */ + public $k_location = '0'; + + /** + * Key of the activity for the purchase made. This will be empty if no purchase has been made. + * + * @post result + * @var string + */ + public $k_login_activity_purchase; + + /** + * The gift card amount. + * + * @get result + * @var string + */ + public $m_coupon; + + /** + * The discount amount. + * + * @get result + * @var string + */ + public $m_discount; + + /** + * The surcharge amount. + * + * @get result + * @var string + */ + public $m_surcharge; + + /** + * The amount of tax to pay. + * + * @get result + * @var string + */ + public $m_tax; + + /** + * The price of the service, with taxes and without surcharges. + * + * @get result + * @var string + */ + public $m_total; + + /** + * The gift card code. + * + * @get get + * @post get + * @var string + */ + public $text_coupon_code = ''; + + /** + * The discount code. + * + * @get get + * @post get + * @var string + */ + public $text_discount_code = ''; + + /** + * The user key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index 2f90bbb6..730712ac 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -1,418 +1,418 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Book\Payment; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\Service\ServicePriceSid; - -/** - * Sends payments for an appointment booking. - * - * This endpoint using captcha check. - * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. - * For this API an action is {@link BusinessPaymentCaptcha::CID}. - */ -class PaymentPostModel extends WlModelAbstract -{ - /** - * Information detailing an appointment booking. - * Same as {@link PaymentModel::$a_book_data}. - * - * @post post - * @var array - */ - public $a_book_data = []; - - /** - * A list of payment sources to pay with. - * - * Each element has next keys: - * <dl> - * <dt> - * array [<var>a_pay_card</var>] - * </dt> - * <dd> - * The payment card information: - * <dl> - * <dt> - * array <var>a_pay_address</var> - * </dt> - * <dd> - * The payment address: - * <dl> - * <dt>boolean <var>is_new</var></dt> - * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> - * <dt>string [<var>k_geo_country</var>]</dt> - * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_geo_region</var>]</dt> - * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_pay_address</var>]</dt> - * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> - * <dt>string [<var>s_city</var>]</dt> - * <dd>The city used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_name</var>]</dt> - * <dd>The card name. Specify this to add a new address.</dd> - * <dt>string [<var>s_phone</var>]</dt> - * <dd>The payment phone. Specify this to add a new address.</dd> - * <dt>string [<var>s_postal</var>]</dt> - * <dd>The postal code for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street1</var>]</dt> - * <dd>The payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street2</var>]</dt> - * <dd>The optional payment address. Specify this to add a new address.</dd> - * </dl> - * </dd> - * <dt> - * int [<var>i_csc</var>] - * </dt> - * <dd> - * The credit card CSC. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_month</var>] - * </dt> - * <dd> - * The credit card expiration month. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_year</var>] - * </dt> - * <dd> - * The credit card expiration year. Specify this to add a new card. - * </dd> - * <dt> - * boolean <var>is_new</var> - * </dt> - * <dd> - * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. - * </dd> - * <dt> - * string [<var>k_pay_bank</var>] - * </dt> - * <dd> - * The key of the credit card. Specify this to use saved card. - * </dd> - * <dt> - * string [<var>s_comment</var>] - * </dt> - * <dd> - * Optional comment(s). Specify this to add a new card. - * </dd> - * <dt> - * string [<var>s_number</var>] - * </dt> - * <dd> - * The card number. Specify this to add a new card. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_amount</var> - * </dt> - * <dd> - * The amount of money to withdraw with this payment source. - * </dd> - * <dt> - * boolean [<var>is_hide</var>] - * </dt> - * <dd> - * Determines whether this payment method is hidden. - * </dd> - * <dt> - * boolean [<var>is_success</var>=<tt>false</tt>] - * </dt> - * <dd> - * Identifies whether this source was successfully charged. - * </dd> - * <dt> - * string [<var>m_surcharge</var>] - * </dt> - * <dd> - * The client-side calculated surcharge. - * </dd> - * <dt> - * string [<var>s_index</var>] - * </dt> - * <dd> - * The index of this form (optional). - * </dd> - * <dt> - * string <var>sid_pay_method</var> - * </dt> - * <dd> - * The payment method ID. - * </dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_pay_form = []; - - /** - * Information about selected Purchase Options. - * <dl> - * <dt>string <var>i_limit</var></dt> - * <dd>The limit of total visits.</dd> - * - * <dt>int <var>i_remain</var></dt> - * <dd>The number of remaining visits.</dd> - * - * <dt>string <var>s_expire</var></dt> - * <dd>The expiration date.</dd> - * - * <dt>string <var>s_title</var></dt> - * <dd>The title of the Purchase Option.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_promotion_data = null; - - /** - * Information about selected purchase items. - * - * Indexes are strings in the format `id_purchase_item-k_id`. - * - * Values are an array with the following structure: - * - * <dl> - * <dt>array <var>a_tax</var></dt> - * <dd> - * Contains information about taxes in the following format. A list of taxes to apply. - * The array keys are `k_tax` keys. Each element contains the following fields: <dl> - * <dt>float <var>m_tax</var></dt> - * <dd>The tax rate.</dd> - * - * <dt>string <var>text_title</var></dt> - * <dd>The name of the tax.</dd> - * </dl> - * </dd> - * - * <dt>string <var>id_purchase_item</var></dt> - * <dd>The purchase item ID. A constant of {@link WlPurchaseItemSid}.</dd> - * - * <dt>string <var>k_id</var></dt> - * <dd>The value of the discount used for the purchase.</dd> - * - * <dt>string <var>m_discount</var></dt> - * <dd>The value of the discount used for the purchase.</dd> - * - * <dt>string <var>m_pay</var></dt> - * <dd>The payment for the Purchase Option or single visit without taxes.</dd> - * - * <dt>string <var>m_price</var></dt> - * <dd>The price of the Purchase Option or single visit.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_purchase = null; - - /** - * The purchase item keys from the database. - * - * This will be `null` if not set yet. - * - * @post result - * @var string[]|null - */ - public $a_purchase_item = null; - - /** - * List of quiz response keys. - * - * @post post - * @var array - */ - public $a_quiz_response = []; - - /** - * List of user keys to book appointments. - * There may be empty values in this list, which means that this is a walk-in. - * - * @get get - * @post get - * @var string[] - */ - public $a_uid = []; - - /** - * The key of source mode. A constant of {@link ModeSid}. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * The payment type for the appointment. A constant of {@link WlAppointmentPaySid}. - * - * @post result - * @var int - */ - public $id_pay = null; - - /** - * The purchase item ID. A constant of {@link WlPurchaseItemSid}. - * - * @get get - * @post get - * @var int - */ - public $id_purchase_item = 0; - - /** - * If `true`, the client is a walk-in. Otherwise, this will be `false`. - * - * @get get - * @post get - * @var bool - */ - public $is_walk_in = false; - - /** - * The item key. Depends of {@link PaymentModel::$id_purchase_item} property. - * - * @get get - * @post get - * @var string - */ - public $k_id = '0'; - - /** - * Location to show available appointment booking schedule. - * - * @get get,result - * @post get - * @var string - */ - public $k_location = '0'; - - /** - * The key of activity of the purchase made. - * Empty if no purchase has been made. - * - * @post result - * @var string - */ - public $k_login_activity_purchase = null; - - /** - * Login prize key. In case when appointment paid by reward prize, there is the key of redeemed login prize. Empty otherwise. - * - * @post result - * @var string - */ - public $k_login_prize = '0'; - - /** - * The login promotion key. - * - * @get get - * @var string - */ - public $k_login_promotion = '0'; - - /** - * Session pass key. - * - * @get get - * @var string - */ - public $k_session_pass = '0'; - - /** - * Gift card amount. - * - * @get result - * @var string - */ - public $m_coupon = '0.00'; - - /** - * Discount amount. - * - * @get result - * @var string - */ - public $m_discount = '0.00'; - - /** - * Surcharge amount. - * - * @get result - * @var string - */ - public $m_surcharge = '0.00'; - - /** - * The tax of service. - * - * @get result - * @var string - */ - public $m_tax = '0.00'; - - /** - * The total cost of the purchase. - * - * @get result - * @var string - */ - public $m_total = null; - - /** - * Variable price. Is set only during booking an appointment with variable type of the price - * {@link ServicePriceSid::VARIES} from spa backend {@link ModeSid::SPA_BACKEND}. - * - * @get get - * @var string - */ - public $m_variable_price = ''; - - /** - * Service unique key. - * Used for model cache. - * - * @get get - * @var string - */ - public $s_unique_key = ''; - - /** - * Gift card code. - * - * @get get - * @post get - * @var string - */ - public $text_coupon_code = ''; - - /** - * The discount code to be applied to the purchase. - * - * @get get - * @post get - * @var string - */ - public $text_discount_code = ''; - - /** - * The user key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Payment; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\Service\ServicePriceSid; + +/** + * Sends payments for an appointment booking. + * + * This endpoint using captcha check. + * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. + * For this API an action is {@link BusinessPaymentCaptcha::CID}. + */ +class PaymentPostModel extends WlModelAbstract +{ + /** + * Information detailing an appointment booking. + * Same as {@link PaymentModel::$a_book_data}. + * + * @post post + * @var array + */ + public $a_book_data = []; + + /** + * A list of payment sources to pay with. + * + * Each element has next keys: + * <dl> + * <dt> + * array [<var>a_pay_card</var>] + * </dt> + * <dd> + * The payment card information: + * <dl> + * <dt> + * array <var>a_pay_address</var> + * </dt> + * <dd> + * The payment address: + * <dl> + * <dt>boolean <var>is_new</var></dt> + * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> + * <dt>string [<var>k_geo_country</var>]</dt> + * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_geo_region</var>]</dt> + * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_pay_address</var>]</dt> + * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> + * <dt>string [<var>s_city</var>]</dt> + * <dd>The city used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_name</var>]</dt> + * <dd>The card name. Specify this to add a new address.</dd> + * <dt>string [<var>s_phone</var>]</dt> + * <dd>The payment phone. Specify this to add a new address.</dd> + * <dt>string [<var>s_postal</var>]</dt> + * <dd>The postal code for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street1</var>]</dt> + * <dd>The payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street2</var>]</dt> + * <dd>The optional payment address. Specify this to add a new address.</dd> + * </dl> + * </dd> + * <dt> + * int [<var>i_csc</var>] + * </dt> + * <dd> + * The credit card CSC. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_month</var>] + * </dt> + * <dd> + * The credit card expiration month. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_year</var>] + * </dt> + * <dd> + * The credit card expiration year. Specify this to add a new card. + * </dd> + * <dt> + * boolean <var>is_new</var> + * </dt> + * <dd> + * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. + * </dd> + * <dt> + * string [<var>k_pay_bank</var>] + * </dt> + * <dd> + * The key of the credit card. Specify this to use saved card. + * </dd> + * <dt> + * string [<var>s_comment</var>] + * </dt> + * <dd> + * Optional comment(s). Specify this to add a new card. + * </dd> + * <dt> + * string [<var>s_number</var>] + * </dt> + * <dd> + * The card number. Specify this to add a new card. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>f_amount</var> + * </dt> + * <dd> + * The amount of money to withdraw with this payment source. + * </dd> + * <dt> + * boolean [<var>is_hide</var>] + * </dt> + * <dd> + * Determines whether this payment method is hidden. + * </dd> + * <dt> + * boolean [<var>is_success</var>=<tt>false</tt>] + * </dt> + * <dd> + * Identifies whether this source was successfully charged. + * </dd> + * <dt> + * string [<var>m_surcharge</var>] + * </dt> + * <dd> + * The client-side calculated surcharge. + * </dd> + * <dt> + * string [<var>s_index</var>] + * </dt> + * <dd> + * The index of this form (optional). + * </dd> + * <dt> + * string <var>sid_pay_method</var> + * </dt> + * <dd> + * The payment method ID. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * Information about selected Purchase Options. + * <dl> + * <dt>string <var>i_limit</var></dt> + * <dd>The limit of total visits.</dd> + * + * <dt>int <var>i_remain</var></dt> + * <dd>The number of remaining visits.</dd> + * + * <dt>string <var>s_expire</var></dt> + * <dd>The expiration date.</dd> + * + * <dt>string <var>s_title</var></dt> + * <dd>The title of the Purchase Option.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_promotion_data = null; + + /** + * Information about selected purchase items. + * + * Indexes are strings in the format `id_purchase_item-k_id`. + * + * Values are an array with the following structure: + * + * <dl> + * <dt>array <var>a_tax</var></dt> + * <dd> + * Contains information about taxes in the following format. A list of taxes to apply. + * The array keys are `k_tax` keys. Each element contains the following fields: <dl> + * <dt>float <var>m_tax</var></dt> + * <dd>The tax rate.</dd> + * + * <dt>string <var>text_title</var></dt> + * <dd>The name of the tax.</dd> + * </dl> + * </dd> + * + * <dt>string <var>id_purchase_item</var></dt> + * <dd>The purchase item ID. A constant of {@link WlPurchaseItemSid}.</dd> + * + * <dt>string <var>k_id</var></dt> + * <dd>The value of the discount used for the purchase.</dd> + * + * <dt>string <var>m_discount</var></dt> + * <dd>The value of the discount used for the purchase.</dd> + * + * <dt>string <var>m_pay</var></dt> + * <dd>The payment for the Purchase Option or single visit without taxes.</dd> + * + * <dt>string <var>m_price</var></dt> + * <dd>The price of the Purchase Option or single visit.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_purchase = null; + + /** + * The purchase item keys from the database. + * + * This will be `null` if not set yet. + * + * @post result + * @var string[]|null + */ + public $a_purchase_item = null; + + /** + * List of quiz response keys. + * + * @post post + * @var array + */ + public $a_quiz_response = []; + + /** + * List of user keys to book appointments. + * There may be empty values in this list, which means that this is a walk-in. + * + * @get get + * @post get + * @var string[] + */ + public $a_uid = []; + + /** + * The key of source mode. A constant of {@link ModeSid}. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * The payment type for the appointment. A constant of {@link WlAppointmentPaySid}. + * + * @post result + * @var int + */ + public $id_pay = null; + + /** + * The purchase item ID. A constant of {@link WlPurchaseItemSid}. + * + * @get get + * @post get + * @var int + */ + public $id_purchase_item = 0; + + /** + * If `true`, the client is a walk-in. Otherwise, this will be `false`. + * + * @get get + * @post get + * @var bool + */ + public $is_walk_in = false; + + /** + * The item key. Depends of {@link PaymentModel::$id_purchase_item} property. + * + * @get get + * @post get + * @var string + */ + public $k_id = '0'; + + /** + * Location to show available appointment booking schedule. + * + * @get get,result + * @post get + * @var string + */ + public $k_location = '0'; + + /** + * The key of activity of the purchase made. + * Empty if no purchase has been made. + * + * @post result + * @var string + */ + public $k_login_activity_purchase = null; + + /** + * Login prize key. In case when appointment paid by reward prize, there is the key of redeemed login prize. Empty otherwise. + * + * @post result + * @var string + */ + public $k_login_prize = '0'; + + /** + * The login promotion key. + * + * @get get + * @var string + */ + public $k_login_promotion = '0'; + + /** + * Session pass key. + * + * @get get + * @var string + */ + public $k_session_pass = '0'; + + /** + * Gift card amount. + * + * @get result + * @var string + */ + public $m_coupon = '0.00'; + + /** + * Discount amount. + * + * @get result + * @var string + */ + public $m_discount = '0.00'; + + /** + * Surcharge amount. + * + * @get result + * @var string + */ + public $m_surcharge = '0.00'; + + /** + * The tax of service. + * + * @get result + * @var string + */ + public $m_tax = '0.00'; + + /** + * The total cost of the purchase. + * + * @get result + * @var string + */ + public $m_total = null; + + /** + * Variable price. Is set only during booking an appointment with variable type of the price + * {@link ServicePriceSid::VARIES} from spa backend {@link ModeSid::SPA_BACKEND}. + * + * @get get + * @var string + */ + public $m_variable_price = ''; + + /** + * Service unique key. + * Used for model cache. + * + * @get get + * @var string + */ + public $s_unique_key = ''; + + /** + * Gift card code. + * + * @get get + * @post get + * @var string + */ + public $text_coupon_code = ''; + + /** + * The discount code to be applied to the purchase. + * + * @get get + * @post get + * @var string + */ + public $text_discount_code = ''; + + /** + * The user key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php index 2b89b021..8cef93cb 100644 --- a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php @@ -497,14 +497,6 @@ class PurchaseModel extends WlModelAbstract */ public $i_width = 0; - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @var int - */ - public $id_mode = 0; - /** * The mode type. One of the {@link ModeSid} constants. * diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php index dc463c14..0b03e231 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php @@ -1,393 +1,393 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Book\Service; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Service\ServiceBookFlowSid; -use WellnessLiving\Wl\Service\ServicePriceSid; -use WellnessLiving\Wl\Service\ServiceRequireSid; - -/** - * Retrieves information about services in the current service category. - * - * This is a new version of the {@link ServiceListModel} endpoint. - * It allows for filtering a list of services by multiple book now tabs. - */ -class ServiceList52Model extends WlModelAbstract -{ - /** - * The class tab key to use to filter services. If empty, this can be found on the standard book tab. - * - * If multiple tabs are sent, appointment types, which are in at least in one of the tabs, will be in the result. - * - * @get get - * @var string[] - */ - public $a_class_tab = []; - - /** - * A list of services with information about them. - * - * <b>Key</b> - the service key. - * <b>Value</b> - an array, with every element consisting of the next keys: - * <dl> - * <dt> - * array <var>a_class_tab</var> - * </dt> - * <dd> - * The list of tab keys for the service. - * </dd> - * <dt> - * array[] <var>a_direct_link</var> - * </dt> - * <dd> - * A list of links to start booking from a direct link. - * This can't be one link, as the same appointment can be available in several booking tabs. - * Therefore, each booking tab has its own direct booking link. - * Each element has two values: - * <dl> - * <dt>string <var>k_class_tab</var></dt> - * <dd>The key of the book now tab.</dd> - * <dt>string <var>url_tab</var></dt> - * <dd>The booking URL. This will open the booking wizard under the related booking tab.</dd> - * </dl> - * </dd> - * <dt> - * array <var>a_config</var> - * </dt> - * <dd> - * Appointment-specific business policies. This will be `null` when using the general business policy. - * </dd> - * <dt> - * array <var>a_image</var> - * </dt> - * <dd> - * Information about the appointment image. An array with the following values: - * <dl> - * <dt>int <var>i_height</var></dt> - * <dd>The height of the image.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>The width of the image.</dd> - * <dt>bool <var>is_empty</var></dt> - * <dd>This will be `true` if the image is not set.</dd> - * <dt>string <var>k_service</var></dt> - * <dd>The service key.</dd> - * <dt>string <var>s_service</var></dt> - * <dd>The name of the service.</dd> - * <dt>string <var>s_url</var></dt> - * <dd>The URL to the image.</dd> - * </dl> - * </dd> - * <dt> - * string[] <var>a_login_type_restriction</var> - * </dt> - * <dd> - * List of login type titles for current service. - * Clients that have one of these types can book service. - * </dd> - * <dt> - * string[] <var>a_member_group_restriction</var> - * </dt> - * <dd> - * List of member groups titles for current service. - * Clients that belongs to these groups can book service. - * </dd> - * <dt> - * string <var>f_deposit</var> - * </dt> - * <dd> - * The amount of deposit required. - * </dd> - * <dt> - * string <var>f_offline_max</var> - * </dt> - * <dd> - * The maximum offline price. - * </dd> - * <dt> - * string <var>f_offline_min</var> - * </dt> - * <dd> - * The minimum offline price. - * </dd> - * <dt> - * string <var>f_online</var> - * </dt> - * <dd> - * The online price. - * </dd> - * <dt> - * bool <var>hide_application</var> - * </dt> - * <dd> - * Determines whether the service will be hidden in the White Label mobile application. - * `true` means that service won't be displayed. Otherwise, this will be `false`. - * </dd> - * <dt> - * int <var>i_age_from</var> - * </dt> - * <dd> - * The required minimum client age to book an appointment. - * </dd> - * <dt> - * int <var>i_age_to</var> - * </dt> - * <dd> - * The required maximum client age to book an appointment. - * </dd> - * <dt> - * int <var>i_price</var> - * </dt> - * <dd> - * The price type ID. One of {@link ServicePriceSid} constants. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The appointment duration in minutes. - * </dd> - * <dt> - * int <var>id_book_flow</var> - * </dt> - * <dd> - * The type of client booking flow. One of {@link ServiceBookFlowSid} constants. - * </dd> - * <dt> - * int <var>id_service_require</var> - * </dt> - * <dd> - * The required payment type ID. One of {@link ServiceRequireSid} constants. - * </dd> - * <dt> - * bool <var>is_age_public</var> - * </dt> - * <dd> - * `true` if age restrictions are public. Otherwise, `false` if they should be hidden from clients. - * </dd> - * <dt> - * bool <var>is_age_restricted</var> - * </dt> - * <dd> - * Determines whether this service can't be booked due to age restrictions. - * </dd> - * <dt> - * bool <var>is_back_to_back</var> - * </dt> - * <dd> - * Determines whether this service supports back-to-back booking. - * </dd> - * <dt> - * bool <var>is_bookable</var> - * </dt> - * <dd> - * Whether this appointment can be booked online. - * </dd> - * <dt> - * bool <var>is_book_repeat_client</var> - * </dt> - * <dd> - * `true` if clients can book classes and appointments on a recurring basis. Otherwise, this `false`. - * </dd> - * <dt> - * bool <var>is_deposit_percent</var> - * </dt> - * <dd> - * `true` if <var>f_deposit</var> is a percentage. Otherwise, this will be `false` if <var>f_deposit</var> is an amount of - * money. - * </dd> - * <dt> - * bool <var>is_gender_select</var> - * </dt> - * <dd> - * `true` if clients can select the staff member's gender. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_online_sell</var> - * </dt> - * <dd> - * `true` if clients can buy this appointment. Otherwise, this will be `false` if only staff members can sell it. - * </dd> - * <dt> - * bool <var>is_resource_type</var> - * </dt> - * <dd> - * `true` if the service requires assets. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_single_buy</var> - * </dt> - * <dd> - * `true` if the appointment can be booked without a Purchase Option. Otherwise, this will be `false` if it's necessary to - * buy a Purchase Option. - * </dd> - * <dt> - * bool <var>is_staff_confirm</var> - * </dt> - * <dd> - * `true` if the appointment must be confirmed by a staff member after booking. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_staff_skip</var> - * </dt> - * <dd> - * `true` if clients can select a staff member for the appointment. Otherwise, this will be `false` if otherwise. - * </dd> - * <dt> - * bool <var>is_question</var> - * </dt> - * <dd> - * Determines whether the service will ask for questions or not. - * </dd> - * <dt> - * bool <var>is_virtual</var> - * </dt> - * <dd> - * `true` if the service is virtual. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>k_service</var> - * </dt> - * <dd> - * The appointment primary key. - * </dd> - * <dt> - * string <var>k_service_category</var> - * </dt> - * <dd> - * The service category primary key. - * </dd> - * <dt> - * string <var>s_duration</var> - * </dt> - * <dd> - * The appointment duration in a human-readable format. - * </dd> - * <dt> - * string <var>s_service</var> - * </dt> - * <dd> - * The appointment title. - * </dd> - * <dt> - * string <var>text_age_restriction</var> - * </dt> - * <dd> - * Age restriction header. - * </dd> - * <dt> - * string <var>xml_description</var> - * </dt> - * <dd> - * Appointment description (deprecated, use `html_description`). - * </dd> - * <dt> - * string <var>xml_description_short</var> - * </dt> - * <dd> - * Appointment short description (deprecated, use `html_description_short`). - * </dd> - * <dt> - * string <var>xml_special</var> - * </dt> - * <dd> - * Special instructions (deprecated, use `html_special`). - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_service; - - /** - * List of user keys to book appointments. - * There may be empty values in this list, which means that this is a walk-in. - * - * @get get - * @post get - * @var string[] - */ - public $a_uid = []; - - /** - * Image height in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default thumbnail size. - * - * @get get - * @var int|null - */ - public $i_height = 0; - - /** - * Image width in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default thumbnail size. - * - * @get get - * @var int|null - */ - public $i_width = 0; - - /** - * `true` - return all active services for a certain location. - * `false` - return only services that are associated with a book now tab. - * - * @get get - * @var bool - */ - public $is_backend = false; - - /** - * Whether services allow multiple appointment booking. - * - * @get result - * @var bool - */ - public $is_multiple_booking; - - /** - * `true` - search in all tabs. - * `false` - search only on the selected book now tab. - * - * @get get - * @var bool - */ - public $is_tab_all = false; - - /** - * If `true`, the client is a walk-in. Otherwise, this will be `false`. - * - * @get get - * @post get - * @var bool - */ - public $is_walk_in = false; - - /** - * Location to show available appointment booking schedule. - * - * @get get,result - * @post get - * @var string - */ - public $k_location = '0'; - - /** - * The key of a service category to show information for. - * - * @get get - * @var string - */ - public $k_service_category = '0'; - - /** - * The user key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Service; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Service\ServiceBookFlowSid; +use WellnessLiving\Wl\Service\ServicePriceSid; +use WellnessLiving\Wl\Service\ServiceRequireSid; + +/** + * Retrieves information about services in the current service category. + * + * This is a new version of the {@link ServiceListModel} endpoint. + * It allows for filtering a list of services by multiple book now tabs. + */ +class ServiceList52Model extends WlModelAbstract +{ + /** + * The class tab key to use to filter services. If empty, this can be found on the standard book tab. + * + * If multiple tabs are sent, appointment types, which are in at least in one of the tabs, will be in the result. + * + * @get get + * @var string[] + */ + public $a_class_tab = []; + + /** + * A list of services with information about them. + * + * <b>Key</b> - the service key. + * <b>Value</b> - an array, with every element consisting of the next keys: + * <dl> + * <dt> + * array <var>a_class_tab</var> + * </dt> + * <dd> + * The list of tab keys for the service. + * </dd> + * <dt> + * array[] <var>a_direct_link</var> + * </dt> + * <dd> + * A list of links to start booking from a direct link. + * This can't be one link, as the same appointment can be available in several booking tabs. + * Therefore, each booking tab has its own direct booking link. + * Each element has two values: + * <dl> + * <dt>string <var>k_class_tab</var></dt> + * <dd>The key of the book now tab.</dd> + * <dt>string <var>url_tab</var></dt> + * <dd>The booking URL. This will open the booking wizard under the related booking tab.</dd> + * </dl> + * </dd> + * <dt> + * array <var>a_config</var> + * </dt> + * <dd> + * Appointment-specific business policies. This will be `null` when using the general business policy. + * </dd> + * <dt> + * array <var>a_image</var> + * </dt> + * <dd> + * Information about the appointment image. An array with the following values: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>The height of the image.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>The width of the image.</dd> + * <dt>bool <var>is_empty</var></dt> + * <dd>This will be `true` if the image is not set.</dd> + * <dt>string <var>k_service</var></dt> + * <dd>The service key.</dd> + * <dt>string <var>s_service</var></dt> + * <dd>The name of the service.</dd> + * <dt>string <var>s_url</var></dt> + * <dd>The URL to the image.</dd> + * </dl> + * </dd> + * <dt> + * string[] <var>a_login_type_restriction</var> + * </dt> + * <dd> + * List of login type titles for current service. + * Clients that have one of these types can book service. + * </dd> + * <dt> + * string[] <var>a_member_group_restriction</var> + * </dt> + * <dd> + * List of member groups titles for current service. + * Clients that belongs to these groups can book service. + * </dd> + * <dt> + * string <var>f_deposit</var> + * </dt> + * <dd> + * The amount of deposit required. + * </dd> + * <dt> + * string <var>f_offline_max</var> + * </dt> + * <dd> + * The maximum offline price. + * </dd> + * <dt> + * string <var>f_offline_min</var> + * </dt> + * <dd> + * The minimum offline price. + * </dd> + * <dt> + * string <var>f_online</var> + * </dt> + * <dd> + * The online price. + * </dd> + * <dt> + * bool <var>hide_application</var> + * </dt> + * <dd> + * Determines whether the service will be hidden in the White Label mobile application. + * `true` means that service won't be displayed. Otherwise, this will be `false`. + * </dd> + * <dt> + * int <var>i_age_from</var> + * </dt> + * <dd> + * The required minimum client age to book an appointment. + * </dd> + * <dt> + * int <var>i_age_to</var> + * </dt> + * <dd> + * The required maximum client age to book an appointment. + * </dd> + * <dt> + * int <var>i_price</var> + * </dt> + * <dd> + * The price type ID. One of {@link ServicePriceSid} constants. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The appointment duration in minutes. + * </dd> + * <dt> + * int <var>id_book_flow</var> + * </dt> + * <dd> + * The type of client booking flow. One of {@link ServiceBookFlowSid} constants. + * </dd> + * <dt> + * int <var>id_service_require</var> + * </dt> + * <dd> + * The required payment type ID. One of {@link ServiceRequireSid} constants. + * </dd> + * <dt> + * bool <var>is_age_public</var> + * </dt> + * <dd> + * `true` if age restrictions are public. Otherwise, `false` if they should be hidden from clients. + * </dd> + * <dt> + * bool <var>is_age_restricted</var> + * </dt> + * <dd> + * Determines whether this service can't be booked due to age restrictions. + * </dd> + * <dt> + * bool <var>is_back_to_back</var> + * </dt> + * <dd> + * Determines whether this service supports back-to-back booking. + * </dd> + * <dt> + * bool <var>is_bookable</var> + * </dt> + * <dd> + * Whether this appointment can be booked online. + * </dd> + * <dt> + * bool <var>is_book_repeat_client</var> + * </dt> + * <dd> + * `true` if clients can book classes and appointments on a recurring basis. Otherwise, this `false`. + * </dd> + * <dt> + * bool <var>is_deposit_percent</var> + * </dt> + * <dd> + * `true` if <var>f_deposit</var> is a percentage. Otherwise, this will be `false` if <var>f_deposit</var> is an amount of + * money. + * </dd> + * <dt> + * bool <var>is_gender_select</var> + * </dt> + * <dd> + * `true` if clients can select the staff member's gender. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_online_sell</var> + * </dt> + * <dd> + * `true` if clients can buy this appointment. Otherwise, this will be `false` if only staff members can sell it. + * </dd> + * <dt> + * bool <var>is_resource_type</var> + * </dt> + * <dd> + * `true` if the service requires assets. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_single_buy</var> + * </dt> + * <dd> + * `true` if the appointment can be booked without a Purchase Option. Otherwise, this will be `false` if it's necessary to + * buy a Purchase Option. + * </dd> + * <dt> + * bool <var>is_staff_confirm</var> + * </dt> + * <dd> + * `true` if the appointment must be confirmed by a staff member after booking. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_staff_skip</var> + * </dt> + * <dd> + * `true` if clients can select a staff member for the appointment. Otherwise, this will be `false` if otherwise. + * </dd> + * <dt> + * bool <var>is_question</var> + * </dt> + * <dd> + * Determines whether the service will ask for questions or not. + * </dd> + * <dt> + * bool <var>is_virtual</var> + * </dt> + * <dd> + * `true` if the service is virtual. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>k_service</var> + * </dt> + * <dd> + * The appointment primary key. + * </dd> + * <dt> + * string <var>k_service_category</var> + * </dt> + * <dd> + * The service category primary key. + * </dd> + * <dt> + * string <var>s_duration</var> + * </dt> + * <dd> + * The appointment duration in a human-readable format. + * </dd> + * <dt> + * string <var>s_service</var> + * </dt> + * <dd> + * The appointment title. + * </dd> + * <dt> + * string <var>text_age_restriction</var> + * </dt> + * <dd> + * Age restriction header. + * </dd> + * <dt> + * string <var>xml_description</var> + * </dt> + * <dd> + * Appointment description (deprecated, use `html_description`). + * </dd> + * <dt> + * string <var>xml_description_short</var> + * </dt> + * <dd> + * Appointment short description (deprecated, use `html_description_short`). + * </dd> + * <dt> + * string <var>xml_special</var> + * </dt> + * <dd> + * Special instructions (deprecated, use `html_special`). + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_service; + + /** + * List of user keys to book appointments. + * There may be empty values in this list, which means that this is a walk-in. + * + * @get get + * @post get + * @var string[] + */ + public $a_uid = []; + + /** + * Image height in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default thumbnail size. + * + * @get get + * @var int|null + */ + public $i_height = 0; + + /** + * Image width in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default thumbnail size. + * + * @get get + * @var int|null + */ + public $i_width = 0; + + /** + * `true` - return all active services for a certain location. + * `false` - return only services that are associated with a book now tab. + * + * @get get + * @var bool + */ + public $is_backend = false; + + /** + * Whether services allow multiple appointment booking. + * + * @get result + * @var bool + */ + public $is_multiple_booking; + + /** + * `true` - search in all tabs. + * `false` - search only on the selected book now tab. + * + * @get get + * @var bool + */ + public $is_tab_all = false; + + /** + * If `true`, the client is a walk-in. Otherwise, this will be `false`. + * + * @get get + * @post get + * @var bool + */ + public $is_walk_in = false; + + /** + * Location to show available appointment booking schedule. + * + * @get get,result + * @post get + * @var string + */ + public $k_location = '0'; + + /** + * The key of a service category to show information for. + * + * @get get + * @var string + */ + public $k_service_category = '0'; + + /** + * The user key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Edit/AddonUpdateModel.php b/WellnessLiving/Wl/Appointment/Edit/AddonUpdateModel.php index a757a4b6..134092c0 100644 --- a/WellnessLiving/Wl/Appointment/Edit/AddonUpdateModel.php +++ b/WellnessLiving/Wl/Appointment/Edit/AddonUpdateModel.php @@ -1,76 +1,76 @@ -<?php - -namespace WellnessLiving\Wl\Appointment\Edit; - -use WellnessLiving\WlModelAbstract; - -/** - * Updates add-ons for an appointment. - * - * This endpoint can be used to update add-ons for existing appointments. - */ -class AddonUpdateModel extends WlModelAbstract -{ - /** - * The appointment addon-ons. - * - * Old format - an array where each value is key of the add-on. - * New format - each element is an array: <dl> - * <dt>int <var>i_product</var></dt><dd> The add-on count. Max value is 255.</dd> - * <dt>string <var>k_shop_product_option</var></dt><dd>The add-on key.</dd> - * </dl> - * - * @put post - * @var array|array[] - */ - public $a_addon; - - /** - * Data to show appointment add-ons:<dl> - * <dt>array[] <var>a_addon</var></dt> - * <dd>Data about appointment add-ons. Each element contains data about a single add-on: <dl> - * <dt>int <var>i_product</var></dt><dd>The add-on's quantity.</dd> - * <dt>string <var>html_amount</var></dt><dd>The add-on's additional amount. This will be an empty string if the add-on doesn't have an additional amount.</dd> - * <dt>string <var>html_duration</var></dt><dd>The add-on's additional duration. This will be an empty string if the add-on doesn't add duration.</dd> - * <dt>string <var>html_title</var></dt><dd>The add-on's name.</dd> - * <dt>int <var>i_count_paid</var></dt><dd>The quantity paid for the add-on.</dd> - * <dt>int <var>i_inventory_current</var></dt><dd>The add-ons inventory count.</dd> - * <dt>bool <var>is_select</var></dt><dd>Determines whether the add-on is added to appointment.</dd> - * <dt>string <var>k_shop_product_option</var></dt><dd>The add-on product key.</dd> - * <dt>string <var>url</var></dt><dd>The URL for the add-on picture. This will be an empty string if the add-on doesn't have a picture.</dd> - * </dl></dd> - * <dt>bool <var>is_search</var></dt><dd>Determines whether the add-on search field needs to be shown.</dd></dl> - * - * @get result - * @var array - */ - public $a_addon_data; - - /** - * Determines whether the appointment duration needs to be updated. - * - * @put post - * @var bool - */ - public $is_duration_update = false; - - /** - * The appointment key. - * - * @get get - * @put get - * @var string - */ - public $k_appointment; - - /** - * The business key. This will be an empty string if not set yet. - * - * @get get - * @put get - * @var string - */ - public $k_business = ''; -} - +<?php + +namespace WellnessLiving\Wl\Appointment\Edit; + +use WellnessLiving\WlModelAbstract; + +/** + * Updates add-ons for an appointment. + * + * This endpoint can be used to update add-ons for existing appointments. + */ +class AddonUpdateModel extends WlModelAbstract +{ + /** + * The appointment addon-ons. + * + * Old format - an array where each value is key of the add-on. + * New format - each element is an array: <dl> + * <dt>int <var>i_product</var></dt><dd> The add-on count. Max value is 255.</dd> + * <dt>string <var>k_shop_product_option</var></dt><dd>The add-on key.</dd> + * </dl> + * + * @put post + * @var array|array[] + */ + public $a_addon; + + /** + * Data to show appointment add-ons:<dl> + * <dt>array[] <var>a_addon</var></dt> + * <dd>Data about appointment add-ons. Each element contains data about a single add-on: <dl> + * <dt>int <var>i_product</var></dt><dd>The add-on's quantity.</dd> + * <dt>string <var>html_amount</var></dt><dd>The add-on's additional amount. This will be an empty string if the add-on doesn't have an additional amount.</dd> + * <dt>string <var>html_duration</var></dt><dd>The add-on's additional duration. This will be an empty string if the add-on doesn't add duration.</dd> + * <dt>string <var>html_title</var></dt><dd>The add-on's name.</dd> + * <dt>int <var>i_count_paid</var></dt><dd>The quantity paid for the add-on.</dd> + * <dt>int <var>i_inventory_current</var></dt><dd>The add-ons inventory count.</dd> + * <dt>bool <var>is_select</var></dt><dd>Determines whether the add-on is added to appointment.</dd> + * <dt>string <var>k_shop_product_option</var></dt><dd>The add-on product key.</dd> + * <dt>string <var>url</var></dt><dd>The URL for the add-on picture. This will be an empty string if the add-on doesn't have a picture.</dd> + * </dl></dd> + * <dt>bool <var>is_search</var></dt><dd>Determines whether the add-on search field needs to be shown.</dd></dl> + * + * @get result + * @var array + */ + public $a_addon_data; + + /** + * Determines whether the appointment duration needs to be updated. + * + * @put post + * @var bool + */ + public $is_duration_update = false; + + /** + * The appointment key. + * + * @get get + * @put get + * @var string + */ + public $k_appointment; + + /** + * The business key. This will be an empty string if not set yet. + * + * @get get + * @put get + * @var string + */ + public $k_business = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php index 91bf87b4..609ef5b0 100644 --- a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php +++ b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php @@ -1,629 +1,629 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Info; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Book\Process\ProcessSpaSid; -use WellnessLiving\Wl\Mode\ModeSid; - -/** - * Offers functionality for the class booking wizard on the "Class and Location" page. - * - * When using this endpoint, take into account the {@link ProcessSpaSid::QUIZ} step. - */ -class Info54Model extends WlModelAbstract -{ - /** - * Week days available for recurring booking. Constants of {@link ADateWeekSid} class. - * - * `null` if recurring booking is not available. - * - * @get result - * @var int[]|null - */ - public $a_day_available; - - /** - * The keys of users' activity. - * - * @post result - * @var string[] - */ - public $a_login_activity; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * A list of assets being booked. Every element has the next structure: - * <dl> - * <dt>int <var>i_index</var></dt> - * <dd>Order number of the asset (maybe from 1 to asset quantity).</dd> - * <dt>string <var>k_resource</var></dt> - * <dd>The key of asset.</dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_resource = []; - - /** - * A list of all class sessions that can be booked together. Every element has the next structure: - * <dl> - * <dt> - * string[] <var>a_staff</var> - * </dt> - * <dd> - * List of staff names that are leading this session. - * </dd> - * <dt> - * string[] <var>a_virtual_location</var> - * </dt> - * <dd> - * List of virtual locations. - * </dd> - * <dt> - * string <var>dt_date</var> - * </dt> - * <dd> - * The date/time when session starts in MySQL format and in GMT. - * </dd> - * <dt> - * boolean <var>is_select</var> - * </dt> - * <dd> - * <tt>true</tt> if this session should be selected when page is initialized; - * <tt>false</tt> if otherwise. - * </dd> - * <dt> - * bool <var>is_wait</var> - * </dt> - * <dd> - * `true` if client is added to a wait list, `false` - to an active list. - * </dd> - * <dt> - * bool <var>is_wait_list_unpaid</var> - * </dt> - * <dd> - * Allow clients to join the wait list unpaid. - * </dd> - * <dt> - * string <var>k_class_period</var> - * </dt> - * <dd> - * The key of the session. - * </dd> - * <dt> - * string <var>k_location</var> - * </dt> - * <dd> - * Location key. - * </dd> - * <dt> - * bool <var>m_price</var> - * </dt> - * <dd> - * Price of the session. - * </dd> - * <dt> - * string <var>s_location</var> - * </dt> - * <dd> - * The name of the location where the session occurred. - * </dd> - * <dt> - * string <var>s_start</var> - * </dt> - * <dd> - * The date/time when the session starts in human-readable format. - * Returned in the time zone of the location. - * </dd> - * <dt> - * string <var>text_duration</var> - * </dt> - * <dd> - * String representation of session duration. - * - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_session_all; - - /** - * List of sessions that can be paid without new purchases. - * Such as previously prepaid or free sessions. - * - * Each its item has the key of following format: <dl> - * <dt>string <var>dt_date</var>::<var>k_class_period</var></dt><dd>Composite key of the array.</dd> - * </dl> - * and the value of following structure: <dl> - * <dt>string <var>dt_date</var></dt><dd>Session date.</dd> - * <dt>string <var>k_class_period</var></dt><dd>Class period key for the session.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_session_free; - - /** - * The selected sessions. - * - * <b>Keys</b> - The class period keys. - * <b>Values</b> - List of date/time when the session occurred in MySQL format and in GMT. - * - * @post post - * @var array - */ - public $a_session_select = []; - - /** - * Selected sessions on the waiting list without pay. - * - * Keys - session IDs. - * - * Values - index arrays of dates/time when session is occurred. In MySQL format. In GMT. - * - * @post post - * @var array - */ - public $a_session_wait_list_unpaid = []; - - /** - * The staff member conducting the session. Every element has the next structure: - * <dl> - * <dt> - * array <var>a_logo</var> - * </dt> - * <dd> - * The staff member photo: - * <dl> - * <dt>int <var>i_height</var></dt> - * <dd>The image height.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>The image width.</dd> - * <dt>string <var>s_url</var></dt> - * <dd>The image URL.</dd> - * </dl> - * </dd> - * <dt>string <var>s_family</var></dt> - * <dd>The first letter of staff member surname.</dd> - * <dt>string <var>s_staff</var></dt> - * <dd>The staff member's name.</dd> - * <dt>string <var>uid</var></dt> - * <dd>UID of the staff member.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_staff; - - /** - * The keys of the bookings made. - * - * @post result - * @var string[] - */ - public $a_visit; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date when this class session occurrences stop. - * - * @get result - * @var string - */ - public $dl_end; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The date/time of the session the user is booking in MySQL format in the location's timezone. - * - * @get result - * @var string - */ - public $dt_date_local; - - /** - * `true` if price for the individual session should be hidden, if client has applicable pricing option to pay for this - * booking. - * `false` if price should be shown always. - * - * @get result - * @var bool - */ - public $hide_price; - - /** - * The text of the contract to which the user must agree before book this session. - * Not empty if business has contract and if user did not agree to this contract. - * - * @get result - * @var string - */ - public $html_contract; - - /** - * Class duration in human-readable format. - * - * @get result - * @var string - */ - public $html_duration; - - /** - * The special instructions for the class. - * - * @get result - * @var string - */ - public $html_special; - - /** - * Special instructions preview for class. - * - * @get result - * @var string - */ - public $html_special_preview; - - /** - * Number of available spots. - * - * `null` if this information is not available. - * - * @get result - * @var int|null - */ - public $i_available = null; - - /** - * Number of booked spots. - * - * `null` if this information is not available. - * - * @get result - * @var int|null - */ - public $i_book = null; - - /** - * The duration of the session in minutes. - * - * @get result - * @var int - */ - public $i_duration; - - /** - * Estimated place of reservation on the waiting list. - * - * @get result - * @var int - */ - public $i_wait_spot = 0; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * Determines if the user has agreed to the liability release. - * `true` - if the user has agreed. Otherwise, this will be. - * `false` - if the user hasn't agreed or the agreement isn't required. - * - * @post post - * @var bool - */ - public $is_agree = false; - - /** - * `true` if recurring booking is available, `false` otherwise. - * - * @get result - * @var bool - */ - public $is_book_repeat_client; - - /** - * `true` if the setting for frequency during class recurring booking will be `never end` by default, `false` otherwise. - * - * @get result - * @var bool - */ - public $is_book_repeat_no_end_date; - - /** - * If client must authorize credit card. - * - * @post result - * @var bool - */ - public $is_card_authorize = false; - - /** - * Can client chooses several session per booking. - * - * @get result - * @var bool - */ - public $is_event_session = false; - - /** - * Can the class/event be booked immediately or not. - * - * The verification is based on the search for client's promotions and other features of the class/event. - * But it does not take into account the presence of other mandatory steps. - * Their presence will be indicated by the {@link InfoModel::$is_next} flag. - * - * @post result - * @var bool - */ - public $is_force_book = false; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * `true` - next steps of the wizard are needed (for example, to purchase something to book the selected session). - * `false` - no need for next steps (all that's needed has already been purchased). - * - * @post result - * @var bool - */ - public $is_next; - - /** - * `true` if event can be paid with pricing option only. - * `false` if full event purchase or single session purchase are allowed. - * - * @get result - * @var bool - */ - public $is_promotion_only; - - /** - * Whether the class can be paid with single session. - * - * @get result - * @var bool - */ - public $is_single_buy; - - /** - * Whether the full text of the special instructions fits within the preview length or not. - * - * @get result - * @var bool - * - * @see InfoModel::$html_special - * @see InfoModel::$html_special_preview - */ - public $is_special_preview = false; - - /** - * `true` if class is virtual, `false` otherwise. - * - * @get result - * @var bool - */ - public $is_virtual; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * Class period location key. - * - * @get result - * @var string - */ - public $k_location; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * Price of the session. - * - * @get result - * @var string - */ - public $m_price; - - /** - * Whole event cost. - * - * @get result - * @var string - */ - public $m_price_total; - - /** - * Event price at an early discount. - * - * An empty string if there is no discount. - * - * @get result - * @var string - */ - public $m_price_total_early; - - /** - * The class title. - * - * @get result - * @var string - */ - public $s_class; - - /** - * The location address. - * - * @get result - * @var string - */ - public $s_location_address; - - /** - * The location title. - * - * @get result - * @var string - */ - public $s_location_title; - - /** - * User signature. - * - * @post post - * @var string - */ - public $s_signature = ''; - - /** - * The time when the session takes place in the location's time zone. In format `hh:mm`. - * - * @get result - * @var string - */ - public $s_time; - - /** - * Room where session takes place. - * - * @get result - * @var string - */ - public $text_room; - - /** - * Text representation of the list of staffs. - * List of staff see {@link InfoModel::$a_staff}. - * - * @get result - * @var string - */ - public $text_staff; - - /** - * Timezone abbreviation. - * - * @get result - * @var string - */ - public $text_timezone; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Info; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Book\Process\ProcessSpaSid; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * Offers functionality for the class booking wizard on the "Class and Location" page. + * + * When using this endpoint, take into account the {@link ProcessSpaSid::QUIZ} step. + */ +class Info54Model extends WlModelAbstract +{ + /** + * Week days available for recurring booking. Constants of {@link ADateWeekSid} class. + * + * `null` if recurring booking is not available. + * + * @get result + * @var int[]|null + */ + public $a_day_available; + + /** + * The keys of users' activity. + * + * @post result + * @var string[] + */ + public $a_login_activity; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * A list of assets being booked. Every element has the next structure: + * <dl> + * <dt>int <var>i_index</var></dt> + * <dd>Order number of the asset (maybe from 1 to asset quantity).</dd> + * <dt>string <var>k_resource</var></dt> + * <dd>The key of asset.</dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_resource = []; + + /** + * A list of all class sessions that can be booked together. Every element has the next structure: + * <dl> + * <dt> + * string[] <var>a_staff</var> + * </dt> + * <dd> + * List of staff names that are leading this session. + * </dd> + * <dt> + * string[] <var>a_virtual_location</var> + * </dt> + * <dd> + * List of virtual locations. + * </dd> + * <dt> + * string <var>dt_date</var> + * </dt> + * <dd> + * The date/time when session starts in MySQL format and in GMT. + * </dd> + * <dt> + * boolean <var>is_select</var> + * </dt> + * <dd> + * <tt>true</tt> if this session should be selected when page is initialized; + * <tt>false</tt> if otherwise. + * </dd> + * <dt> + * bool <var>is_wait</var> + * </dt> + * <dd> + * `true` if client is added to a wait list, `false` - to an active list. + * </dd> + * <dt> + * bool <var>is_wait_list_unpaid</var> + * </dt> + * <dd> + * Allow clients to join the wait list unpaid. + * </dd> + * <dt> + * string <var>k_class_period</var> + * </dt> + * <dd> + * The key of the session. + * </dd> + * <dt> + * string <var>k_location</var> + * </dt> + * <dd> + * Location key. + * </dd> + * <dt> + * bool <var>m_price</var> + * </dt> + * <dd> + * Price of the session. + * </dd> + * <dt> + * string <var>s_location</var> + * </dt> + * <dd> + * The name of the location where the session occurred. + * </dd> + * <dt> + * string <var>s_start</var> + * </dt> + * <dd> + * The date/time when the session starts in human-readable format. + * Returned in the time zone of the location. + * </dd> + * <dt> + * string <var>text_duration</var> + * </dt> + * <dd> + * String representation of session duration. + * + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_session_all; + + /** + * List of sessions that can be paid without new purchases. + * Such as previously prepaid or free sessions. + * + * Each its item has the key of following format: <dl> + * <dt>string <var>dt_date</var>::<var>k_class_period</var></dt><dd>Composite key of the array.</dd> + * </dl> + * and the value of following structure: <dl> + * <dt>string <var>dt_date</var></dt><dd>Session date.</dd> + * <dt>string <var>k_class_period</var></dt><dd>Class period key for the session.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_session_free; + + /** + * The selected sessions. + * + * <b>Keys</b> - The class period keys. + * <b>Values</b> - List of date/time when the session occurred in MySQL format and in GMT. + * + * @post post + * @var array + */ + public $a_session_select = []; + + /** + * Selected sessions on the waiting list without pay. + * + * Keys - session IDs. + * + * Values - index arrays of dates/time when session is occurred. In MySQL format. In GMT. + * + * @post post + * @var array + */ + public $a_session_wait_list_unpaid = []; + + /** + * The staff member conducting the session. Every element has the next structure: + * <dl> + * <dt> + * array <var>a_logo</var> + * </dt> + * <dd> + * The staff member photo: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>The image height.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>The image width.</dd> + * <dt>string <var>s_url</var></dt> + * <dd>The image URL.</dd> + * </dl> + * </dd> + * <dt>string <var>s_family</var></dt> + * <dd>The first letter of staff member surname.</dd> + * <dt>string <var>s_staff</var></dt> + * <dd>The staff member's name.</dd> + * <dt>string <var>uid</var></dt> + * <dd>UID of the staff member.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_staff; + + /** + * The keys of the bookings made. + * + * @post result + * @var string[] + */ + public $a_visit; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date when this class session occurrences stop. + * + * @get result + * @var string + */ + public $dl_end; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The date/time of the session the user is booking in MySQL format in the location's timezone. + * + * @get result + * @var string + */ + public $dt_date_local; + + /** + * `true` if price for the individual session should be hidden, if client has applicable pricing option to pay for this + * booking. + * `false` if price should be shown always. + * + * @get result + * @var bool + */ + public $hide_price; + + /** + * The text of the contract to which the user must agree before book this session. + * Not empty if business has contract and if user did not agree to this contract. + * + * @get result + * @var string + */ + public $html_contract; + + /** + * Class duration in human-readable format. + * + * @get result + * @var string + */ + public $html_duration; + + /** + * The special instructions for the class. + * + * @get result + * @var string + */ + public $html_special; + + /** + * Special instructions preview for class. + * + * @get result + * @var string + */ + public $html_special_preview; + + /** + * Number of available spots. + * + * `null` if this information is not available. + * + * @get result + * @var int|null + */ + public $i_available = null; + + /** + * Number of booked spots. + * + * `null` if this information is not available. + * + * @get result + * @var int|null + */ + public $i_book = null; + + /** + * The duration of the session in minutes. + * + * @get result + * @var int + */ + public $i_duration; + + /** + * Estimated place of reservation on the waiting list. + * + * @get result + * @var int + */ + public $i_wait_spot = 0; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * Determines if the user has agreed to the liability release. + * `true` - if the user has agreed. Otherwise, this will be. + * `false` - if the user hasn't agreed or the agreement isn't required. + * + * @post post + * @var bool + */ + public $is_agree = false; + + /** + * `true` if recurring booking is available, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_book_repeat_client; + + /** + * `true` if the setting for frequency during class recurring booking will be `never end` by default, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_book_repeat_no_end_date; + + /** + * If client must authorize credit card. + * + * @post result + * @var bool + */ + public $is_card_authorize = false; + + /** + * Can client chooses several session per booking. + * + * @get result + * @var bool + */ + public $is_event_session = false; + + /** + * Can the class/event be booked immediately or not. + * + * The verification is based on the search for client's promotions and other features of the class/event. + * But it does not take into account the presence of other mandatory steps. + * Their presence will be indicated by the {@link InfoModel::$is_next} flag. + * + * @post result + * @var bool + */ + public $is_force_book = false; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * `true` - next steps of the wizard are needed (for example, to purchase something to book the selected session). + * `false` - no need for next steps (all that's needed has already been purchased). + * + * @post result + * @var bool + */ + public $is_next; + + /** + * `true` if event can be paid with pricing option only. + * `false` if full event purchase or single session purchase are allowed. + * + * @get result + * @var bool + */ + public $is_promotion_only; + + /** + * Whether the class can be paid with single session. + * + * @get result + * @var bool + */ + public $is_single_buy; + + /** + * Whether the full text of the special instructions fits within the preview length or not. + * + * @get result + * @var bool + * + * @see InfoModel::$html_special + * @see InfoModel::$html_special_preview + */ + public $is_special_preview = false; + + /** + * `true` if class is virtual, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_virtual; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * Class period location key. + * + * @get result + * @var string + */ + public $k_location; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * Price of the session. + * + * @get result + * @var string + */ + public $m_price; + + /** + * Whole event cost. + * + * @get result + * @var string + */ + public $m_price_total; + + /** + * Event price at an early discount. + * + * An empty string if there is no discount. + * + * @get result + * @var string + */ + public $m_price_total_early; + + /** + * The class title. + * + * @get result + * @var string + */ + public $s_class; + + /** + * The location address. + * + * @get result + * @var string + */ + public $s_location_address; + + /** + * The location title. + * + * @get result + * @var string + */ + public $s_location_title; + + /** + * User signature. + * + * @post post + * @var string + */ + public $s_signature = ''; + + /** + * The time when the session takes place in the location's time zone. In format `hh:mm`. + * + * @get result + * @var string + */ + public $s_time; + + /** + * Room where session takes place. + * + * @get result + * @var string + */ + public $text_room; + + /** + * Text representation of the list of staffs. + * List of staff see {@link InfoModel::$a_staff}. + * + * @get result + * @var string + */ + public $text_staff; + + /** + * Timezone abbreviation. + * + * @get result + * @var string + */ + public $text_timezone; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Info/InfoCanCompleteModel.php b/WellnessLiving/Wl/Book/Process/Info/InfoCanCompleteModel.php index c45e57ff..0579f229 100644 --- a/WellnessLiving/Wl/Book/Process/Info/InfoCanCompleteModel.php +++ b/WellnessLiving/Wl/Book/Process/Info/InfoCanCompleteModel.php @@ -1,108 +1,108 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Info; - -use WellnessLiving\WlModelAbstract; - -/** - * Checks for `next` and `complete` buttons in the booking process. - */ -class InfoCanCompleteModel extends WlModelAbstract -{ - /** - * A list of sessions of an event that can be booked together. - * - * This is the same as {@link InfoCanCompleteModel::$a_session_select_post}, but limited by query string - * length and might fail if the user is booking more than 50 sessions at once. Therefore, using the POST method is preferable. - * - * @get get - * @var array[] - * @deprecated Use {@link InfoCanCompleteModel::$a_session_select_post} along with POST call instead. - */ - public $a_session_select = []; - - /** - * A list of sessions of an event that can be booked together. - * - * Every element has the next structure: - * <dl> - * <dt>string <var>dt_date</var></dt> - * <dd>The date and time in MySQL format in GMT when the session starts.</dd> - * <dt>bool <var>is_select</var></dt> - * <dd>`true` if this session should be booked, `false` otherwise.</dd> - * <dt>string <var>k_class_period</var></dt> - * <dd>The class period key.</dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_session_select_post = []; - - /** - * Determines whether users can complete the booking process from the info step. - * - * @get result - * @post result - * @var bool - */ - public $can_complete; - - /** - * The date and time of the session that the user is booking, returned in MySQL format and in GMT. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * `true` if price for the individual session should be hidden, if client has applicable pricing option to pay for this - * booking. - * `false` if price should be shown always. - * - * @get result - * @var bool - */ - public $hide_price = ''; - - /** - * Key of the business in which the booking is performed. - * - * @get get - * @post get - * @var string|null - */ - public $k_business = null; - - /** - * The class period ID that the user started to book. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = ''; - - /** - * The unique booking process key. - * - * @get get - * @post get - * @var string - */ - public $s_id = ''; - - /** - * The key of a user who is making the booking. - * Empty if user is a guest. - * - * @get get - * @post get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Info; + +use WellnessLiving\WlModelAbstract; + +/** + * Checks for `next` and `complete` buttons in the booking process. + */ +class InfoCanCompleteModel extends WlModelAbstract +{ + /** + * A list of sessions of an event that can be booked together. + * + * This is the same as {@link InfoCanCompleteModel::$a_session_select_post}, but limited by query string + * length and might fail if the user is booking more than 50 sessions at once. Therefore, using the POST method is preferable. + * + * @get get + * @var array[] + * @deprecated Use {@link InfoCanCompleteModel::$a_session_select_post} along with POST call instead. + */ + public $a_session_select = []; + + /** + * A list of sessions of an event that can be booked together. + * + * Every element has the next structure: + * <dl> + * <dt>string <var>dt_date</var></dt> + * <dd>The date and time in MySQL format in GMT when the session starts.</dd> + * <dt>bool <var>is_select</var></dt> + * <dd>`true` if this session should be booked, `false` otherwise.</dd> + * <dt>string <var>k_class_period</var></dt> + * <dd>The class period key.</dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_session_select_post = []; + + /** + * Determines whether users can complete the booking process from the info step. + * + * @get result + * @post result + * @var bool + */ + public $can_complete; + + /** + * The date and time of the session that the user is booking, returned in MySQL format and in GMT. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * `true` if price for the individual session should be hidden, if client has applicable pricing option to pay for this + * booking. + * `false` if price should be shown always. + * + * @get result + * @var bool + */ + public $hide_price = ''; + + /** + * Key of the business in which the booking is performed. + * + * @get get + * @post get + * @var string|null + */ + public $k_business = null; + + /** + * The class period ID that the user started to book. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = ''; + + /** + * The unique booking process key. + * + * @get get + * @post get + * @var string + */ + public $s_id = ''; + + /** + * The key of a user who is making the booking. + * Empty if user is a guest. + * + * @get get + * @post get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php index e1fdef2c..d40dca4e 100644 --- a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php @@ -1,408 +1,408 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Payment; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * Acts as the booking wizard for the "Pay/Billing info" page. - * - * This endpoint using captcha check. - * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. - * For this API an action is {@link BusinessPaymentCaptcha::CID}. - */ -class PaymentModel extends WlModelAbstract -{ - /** - * A list of items to be bought. Every element has the next keys: - * <dl> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of purchase item type. One of {@link WlPurchaseItemSid} constants. - * </dd> - * <dt> - * boolean [<var>is_renew</var>] - * </dt> - * <dd> - * <tt>true</tt> if the item should be set to auto-renew; <tt>false</tt> if otherwise. - * If not set yet, use the default option for this item. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the purchase item in the database. - * </dd> - * <dt> - * string <var>k_login_prize</var> - * </dt> - * <dd> - * ID of user's prize. - * Not <tt>0</tt> only if user is paying book by prize. - * </dd> - * <dt> - * string [<var>s_signature</var>] - * </dt> - * <dd> - * The signature of the Purchase Option contract. - * This won't be set if the Purchase Option doesn't require a contract assignment. - * </dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_item = []; - - /** - * Keys of the user's activity which correspond to bookings made. - * Not empty when the booking process is finished. - * - * @post result - * @var string[] - */ - public $a_login_activity_book; - - /** - * A list of payment sources to pay with. - * - * Each element has next keys: - * <dl> - * <dt> - * array [<var>a_pay_card</var>] - * </dt> - * <dd> - * The payment card information: - * <dl> - * <dt> - * array <var>a_pay_address</var> - * </dt> - * <dd> - * The payment address: - * <dl> - * <dt>boolean <var>is_new</var></dt> - * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> - * <dt>string [<var>k_geo_country</var>]</dt> - * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_geo_region</var>]</dt> - * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_pay_address</var>]</dt> - * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> - * <dt>string [<var>s_city</var>]</dt> - * <dd>The city used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_name</var>]</dt> - * <dd>The card name. Specify this to add a new address.</dd> - * <dt>string [<var>s_phone</var>]</dt> - * <dd>The payment phone. Specify this to add a new address.</dd> - * <dt>string [<var>s_postal</var>]</dt> - * <dd>The postal code for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street1</var>]</dt> - * <dd>The payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street2</var>]</dt> - * <dd>The optional payment address. Specify this to add a new address.</dd> - * </dl> - * </dd> - * <dt> - * int [<var>i_csc</var>] - * </dt> - * <dd> - * The credit card CSC. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_month</var>] - * </dt> - * <dd> - * The credit card expiration month. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_year</var>] - * </dt> - * <dd> - * The credit card expiration year. Specify this to add a new card. - * </dd> - * <dt> - * boolean <var>is_new</var> - * </dt> - * <dd> - * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. - * </dd> - * <dt> - * string [<var>k_pay_bank</var>] - * </dt> - * <dd> - * The key of the credit card. Specify this to use saved card. - * </dd> - * <dt> - * string [<var>s_comment</var>] - * </dt> - * <dd> - * Optional comment(s). Specify this to add a new card. - * </dd> - * <dt> - * string [<var>s_number</var>] - * </dt> - * <dd> - * The card number. Specify this to add a new card. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_amount</var> - * </dt> - * <dd> - * The amount of money to withdraw with this payment source. - * </dd> - * <dt> - * boolean [<var>is_hide</var>] - * </dt> - * <dd> - * Determines whether this payment method is hidden. - * </dd> - * <dt> - * boolean [<var>is_success</var>=<tt>false</tt>] - * </dt> - * <dd> - * Identifies whether this source was successfully charged. - * </dd> - * <dt> - * string [<var>m_surcharge</var>] - * </dt> - * <dd> - * The client-side calculated surcharge. - * </dd> - * <dt> - * string [<var>s_index</var>] - * </dt> - * <dd> - * The index of this form (optional). - * </dd> - * <dt> - * string <var>sid_pay_method</var> - * </dt> - * <dd> - * The payment method ID. - * </dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_pay_form = []; - - /** - * List of quiz response keys. - * - * @post post - * @var array - */ - public $a_quiz_response = []; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * A list of assets being booked. Every element has the next keys: - * <dl> - * <dt>int <var>i_index</var></dt> - * <dd>The number of asset(s). The actual number is returned for assets with a quantity greater than <tt>1</tt>.</dd> - * <dt>string <var>k_resource</var></dt> - * <dd>The key of the asset.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_resource = []; - - /** - * A list of sessions being booked. - * <b>Keys</b> - The class period keys. - * <b>Values</b> - List of date/time when the session occurred. - * - * @post post - * @var array - */ - public $a_session = []; - - /** - * Selected sessions on the waiting list without pay. - * - * Keys - session IDs. - * - * Values - index arrays of dates/time when session is occurred. In MySQL format. In GMT. - * - * @post post - * @var array - */ - public $a_session_wait_list_unpaid = []; - - /** - * The keys of bookings made. - * - * @post result - * @var string[] - */ - public $a_visit; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * If client must authorize credit card. - * - * @post post - * @var bool - */ - public $is_card_authorize = false; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * The keys of the user's activity corresponding to the purchase made. This won't be empty when the booking process is finished. - * - * @post result - * @var string - */ - public $k_login_activity_purchase; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * The installment template key. - * This property is optional and it will be `null` if an installment plan doesn't exist for the purchased item. - * This will be `0` if an installment plan isn't selected for the purchased item from the list of installment plans. - * - * @post post - * @var string|null - */ - public $k_pay_installment_template; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * The discount code to be applied to the purchase. - * - * @post post - * @var string - */ - public $text_discount_code = ''; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Payment; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * Acts as the booking wizard for the "Pay/Billing info" page. + * + * This endpoint using captcha check. + * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. + * For this API an action is {@link BusinessPaymentCaptcha::CID}. + */ +class PaymentModel extends WlModelAbstract +{ + /** + * A list of items to be bought. Every element has the next keys: + * <dl> + * <dt> + * int <var>id_purchase_item</var> + * </dt> + * <dd> + * The ID of purchase item type. One of {@link WlPurchaseItemSid} constants. + * </dd> + * <dt> + * boolean [<var>is_renew</var>] + * </dt> + * <dd> + * <tt>true</tt> if the item should be set to auto-renew; <tt>false</tt> if otherwise. + * If not set yet, use the default option for this item. + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The key of the purchase item in the database. + * </dd> + * <dt> + * string <var>k_login_prize</var> + * </dt> + * <dd> + * ID of user's prize. + * Not <tt>0</tt> only if user is paying book by prize. + * </dd> + * <dt> + * string [<var>s_signature</var>] + * </dt> + * <dd> + * The signature of the Purchase Option contract. + * This won't be set if the Purchase Option doesn't require a contract assignment. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_item = []; + + /** + * Keys of the user's activity which correspond to bookings made. + * Not empty when the booking process is finished. + * + * @post result + * @var string[] + */ + public $a_login_activity_book; + + /** + * A list of payment sources to pay with. + * + * Each element has next keys: + * <dl> + * <dt> + * array [<var>a_pay_card</var>] + * </dt> + * <dd> + * The payment card information: + * <dl> + * <dt> + * array <var>a_pay_address</var> + * </dt> + * <dd> + * The payment address: + * <dl> + * <dt>boolean <var>is_new</var></dt> + * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> + * <dt>string [<var>k_geo_country</var>]</dt> + * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_geo_region</var>]</dt> + * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_pay_address</var>]</dt> + * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> + * <dt>string [<var>s_city</var>]</dt> + * <dd>The city used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_name</var>]</dt> + * <dd>The card name. Specify this to add a new address.</dd> + * <dt>string [<var>s_phone</var>]</dt> + * <dd>The payment phone. Specify this to add a new address.</dd> + * <dt>string [<var>s_postal</var>]</dt> + * <dd>The postal code for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street1</var>]</dt> + * <dd>The payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street2</var>]</dt> + * <dd>The optional payment address. Specify this to add a new address.</dd> + * </dl> + * </dd> + * <dt> + * int [<var>i_csc</var>] + * </dt> + * <dd> + * The credit card CSC. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_month</var>] + * </dt> + * <dd> + * The credit card expiration month. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_year</var>] + * </dt> + * <dd> + * The credit card expiration year. Specify this to add a new card. + * </dd> + * <dt> + * boolean <var>is_new</var> + * </dt> + * <dd> + * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. + * </dd> + * <dt> + * string [<var>k_pay_bank</var>] + * </dt> + * <dd> + * The key of the credit card. Specify this to use saved card. + * </dd> + * <dt> + * string [<var>s_comment</var>] + * </dt> + * <dd> + * Optional comment(s). Specify this to add a new card. + * </dd> + * <dt> + * string [<var>s_number</var>] + * </dt> + * <dd> + * The card number. Specify this to add a new card. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>f_amount</var> + * </dt> + * <dd> + * The amount of money to withdraw with this payment source. + * </dd> + * <dt> + * boolean [<var>is_hide</var>] + * </dt> + * <dd> + * Determines whether this payment method is hidden. + * </dd> + * <dt> + * boolean [<var>is_success</var>=<tt>false</tt>] + * </dt> + * <dd> + * Identifies whether this source was successfully charged. + * </dd> + * <dt> + * string [<var>m_surcharge</var>] + * </dt> + * <dd> + * The client-side calculated surcharge. + * </dd> + * <dt> + * string [<var>s_index</var>] + * </dt> + * <dd> + * The index of this form (optional). + * </dd> + * <dt> + * string <var>sid_pay_method</var> + * </dt> + * <dd> + * The payment method ID. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * List of quiz response keys. + * + * @post post + * @var array + */ + public $a_quiz_response = []; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * A list of assets being booked. Every element has the next keys: + * <dl> + * <dt>int <var>i_index</var></dt> + * <dd>The number of asset(s). The actual number is returned for assets with a quantity greater than <tt>1</tt>.</dd> + * <dt>string <var>k_resource</var></dt> + * <dd>The key of the asset.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_resource = []; + + /** + * A list of sessions being booked. + * <b>Keys</b> - The class period keys. + * <b>Values</b> - List of date/time when the session occurred. + * + * @post post + * @var array + */ + public $a_session = []; + + /** + * Selected sessions on the waiting list without pay. + * + * Keys - session IDs. + * + * Values - index arrays of dates/time when session is occurred. In MySQL format. In GMT. + * + * @post post + * @var array + */ + public $a_session_wait_list_unpaid = []; + + /** + * The keys of bookings made. + * + * @post result + * @var string[] + */ + public $a_visit; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * If client must authorize credit card. + * + * @post post + * @var bool + */ + public $is_card_authorize = false; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * The keys of the user's activity corresponding to the purchase made. This won't be empty when the booking process is finished. + * + * @post result + * @var string + */ + public $k_login_activity_purchase; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * The installment template key. + * This property is optional and it will be `null` if an installment plan doesn't exist for the purchased item. + * This will be `0` if an installment plan isn't selected for the purchased item from the list of installment plans. + * + * @post post + * @var string|null + */ + public $k_pay_installment_template; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * The discount code to be applied to the purchase. + * + * @post post + * @var string + */ + public $text_discount_code = ''; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Process54Model.php b/WellnessLiving/Wl/Book/Process/Process54Model.php index be510424..ff27f5b1 100644 --- a/WellnessLiving/Wl/Book/Process/Process54Model.php +++ b/WellnessLiving/Wl/Book/Process/Process54Model.php @@ -1,270 +1,270 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Classes\RequirePaySid; -use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; -use WellnessLiving\Wl\Mode\ModeSid; - -/** - * Performs the booking wizard steps. - * - * Include the {@link ProcessSpaSid::QUIZ} step, if needed. - * - * @deprecated Use {@link Process59Model} instead. - */ -class Process54Model extends WlModelAbstract -{ - /** - * Relationships who clients are allowed to book for. - * One of the {@link WlFamilyRelationSid} constants. - * - * This will be `null` if clients aren't allowed to book for their relationships. - * - * @depreated Use {@link ProcessModel::$is_family_relation_book} instead. Full list of relatives available, see {@link WlFamilyRelationSid}. - * @get result - * @var int[]|null - */ - public $a_family_relation_login_allow; - - /** - * All the steps to be performed to make a booking. Every element has the next keys: - * <dl> - * <dt> - * int <var>id_book_process</var> - * </dt> - * <dd> - * The step ID. One of the {@link ProcessSpaSid} constants. - * </dd> - * <dt> - * bool [<var>is_current</var>] - * </dt> - * <dd> - * <tt>true</tt> - this item is current. - * <tt>false</tt> - this item isn't current or not set yet. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_path = []; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * The purchase rule ID. - * One of the {@link RequirePaySid} constants. - * - * @get result - * @var int - */ - public $id_pay_require; - - /** - * `true` if this class has age restriction and requires user to specify age. `false` otherwise. - * - * @get result - * @var bool - */ - public $is_age_require; - - /** - * Determines if the client must authorize the credit card. - * - * @get result - * @var bool - */ - public $is_card_authorize = false; - - /** - * If `true`, the session being booked is an event. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_event; - - /** - * Determines whether clients are allowed to book for their relationships without switching profiles. - * - * @get result - * @var bool - */ - public $is_family_relation_book; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * Determines whether the class/event is free (price). - * - * @get result - * @var bool - */ - public $is_free = false; - - /** - * `true` if the client has an ach account, `false` otherwise. - * - * @get result - * @var bool - */ - public $is_have_ach = false; - - /** - * If `true`, the client has a credit card. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_have_credit_card = false; - - /** - * `true` - the client can select several sessions per booking. - * - * `false` - the client can't select several sessions. - * - * @get result - * @var bool - */ - public $is_session; - - /** - * If `true`, the user can be placed on a wait list. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_wait; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * The key of the location where the session is booked. - * - * @get result - * @var string - */ - public $k_location; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Classes\RequirePaySid; +use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * Performs the booking wizard steps. + * + * Include the {@link ProcessSpaSid::QUIZ} step, if needed. + * + * @deprecated Use {@link Process59Model} instead. + */ +class Process54Model extends WlModelAbstract +{ + /** + * Relationships who clients are allowed to book for. + * One of the {@link WlFamilyRelationSid} constants. + * + * This will be `null` if clients aren't allowed to book for their relationships. + * + * @depreated Use {@link ProcessModel::$is_family_relation_book} instead. Full list of relatives available, see {@link WlFamilyRelationSid}. + * @get result + * @var int[]|null + */ + public $a_family_relation_login_allow; + + /** + * All the steps to be performed to make a booking. Every element has the next keys: + * <dl> + * <dt> + * int <var>id_book_process</var> + * </dt> + * <dd> + * The step ID. One of the {@link ProcessSpaSid} constants. + * </dd> + * <dt> + * bool [<var>is_current</var>] + * </dt> + * <dd> + * <tt>true</tt> - this item is current. + * <tt>false</tt> - this item isn't current or not set yet. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_path = []; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * The purchase rule ID. + * One of the {@link RequirePaySid} constants. + * + * @get result + * @var int + */ + public $id_pay_require; + + /** + * `true` if this class has age restriction and requires user to specify age. `false` otherwise. + * + * @get result + * @var bool + */ + public $is_age_require; + + /** + * Determines if the client must authorize the credit card. + * + * @get result + * @var bool + */ + public $is_card_authorize = false; + + /** + * If `true`, the session being booked is an event. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_event; + + /** + * Determines whether clients are allowed to book for their relationships without switching profiles. + * + * @get result + * @var bool + */ + public $is_family_relation_book; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * Determines whether the class/event is free (price). + * + * @get result + * @var bool + */ + public $is_free = false; + + /** + * `true` if the client has an ach account, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_have_ach = false; + + /** + * If `true`, the client has a credit card. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_have_credit_card = false; + + /** + * `true` - the client can select several sessions per booking. + * + * `false` - the client can't select several sessions. + * + * @get result + * @var bool + */ + public $is_session; + + /** + * If `true`, the user can be placed on a wait list. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_wait; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * The key of the location where the session is booked. + * + * @get result + * @var string + */ + public $k_location; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Process59Model.php b/WellnessLiving/Wl/Book/Process/Process59Model.php index ea28d71b..0d4c8b80 100644 --- a/WellnessLiving/Wl/Book/Process/Process59Model.php +++ b/WellnessLiving/Wl/Book/Process/Process59Model.php @@ -1,269 +1,269 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Classes\RequirePaySid; -use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; -use WellnessLiving\Wl\Mode\ModeSid; - -/** - * Performs the booking wizard steps. - * - * This endpoint includes changes to the list of steps if the service is already booked for the currently selected client, - * and if {@link ProcessModel::$is_family_relation_book} is set to `true`. - */ -class Process59Model extends WlModelAbstract -{ - /** - * Relationships who clients are allowed to book for. - * One of the {@link WlFamilyRelationSid} constants. - * - * This will be `null` if clients aren't allowed to book for their relationships. - * - * @depreated Use {@link ProcessModel::$is_family_relation_book} instead. Full list of relatives available, see {@link WlFamilyRelationSid}. - * @get result - * @var int[]|null - */ - public $a_family_relation_login_allow; - - /** - * All the steps to be performed to make a booking. Every element has the next keys: - * <dl> - * <dt> - * int <var>id_book_process</var> - * </dt> - * <dd> - * The step ID. One of the {@link ProcessSpaSid} constants. - * </dd> - * <dt> - * bool [<var>is_current</var>] - * </dt> - * <dd> - * <tt>true</tt> - this item is current. - * <tt>false</tt> - this item isn't current or not set yet. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_path = []; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * The purchase rule ID. - * One of the {@link RequirePaySid} constants. - * - * @get result - * @var int - */ - public $id_pay_require; - - /** - * `true` if this class has age restriction and requires user to specify age. `false` otherwise. - * - * @get result - * @var bool - */ - public $is_age_require; - - /** - * Determines if the client must authorize the credit card. - * - * @get result - * @var bool - */ - public $is_card_authorize = false; - - /** - * If `true`, the session being booked is an event. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_event; - - /** - * Determines whether clients are allowed to book for their relationships without switching profiles. - * - * @get result - * @var bool - */ - public $is_family_relation_book; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * Determines whether the class/event is free (price). - * - * @get result - * @var bool - */ - public $is_free = false; - - /** - * `true` if the client has an ach account, `false` otherwise. - * - * @get result - * @var bool - */ - public $is_have_ach = false; - - /** - * If `true`, the client has a credit card. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_have_credit_card = false; - - /** - * `true` - the client can select several sessions per booking. - * - * `false` - the client can't select several sessions. - * - * @get result - * @var bool - */ - public $is_session; - - /** - * If `true`, the user can be placed on a wait list. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_wait; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * The key of the location where the session is booked. - * - * @get result - * @var string - */ - public $k_location; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Classes\RequirePaySid; +use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * Performs the booking wizard steps. + * + * This endpoint includes changes to the list of steps if the service is already booked for the currently selected client, + * and if {@link ProcessModel::$is_family_relation_book} is set to `true`. + */ +class Process59Model extends WlModelAbstract +{ + /** + * Relationships who clients are allowed to book for. + * One of the {@link WlFamilyRelationSid} constants. + * + * This will be `null` if clients aren't allowed to book for their relationships. + * + * @depreated Use {@link ProcessModel::$is_family_relation_book} instead. Full list of relatives available, see {@link WlFamilyRelationSid}. + * @get result + * @var int[]|null + */ + public $a_family_relation_login_allow; + + /** + * All the steps to be performed to make a booking. Every element has the next keys: + * <dl> + * <dt> + * int <var>id_book_process</var> + * </dt> + * <dd> + * The step ID. One of the {@link ProcessSpaSid} constants. + * </dd> + * <dt> + * bool [<var>is_current</var>] + * </dt> + * <dd> + * <tt>true</tt> - this item is current. + * <tt>false</tt> - this item isn't current or not set yet. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_path = []; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * The purchase rule ID. + * One of the {@link RequirePaySid} constants. + * + * @get result + * @var int + */ + public $id_pay_require; + + /** + * `true` if this class has age restriction and requires user to specify age. `false` otherwise. + * + * @get result + * @var bool + */ + public $is_age_require; + + /** + * Determines if the client must authorize the credit card. + * + * @get result + * @var bool + */ + public $is_card_authorize = false; + + /** + * If `true`, the session being booked is an event. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_event; + + /** + * Determines whether clients are allowed to book for their relationships without switching profiles. + * + * @get result + * @var bool + */ + public $is_family_relation_book; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * Determines whether the class/event is free (price). + * + * @get result + * @var bool + */ + public $is_free = false; + + /** + * `true` if the client has an ach account, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_have_ach = false; + + /** + * If `true`, the client has a credit card. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_have_credit_card = false; + + /** + * `true` - the client can select several sessions per booking. + * + * `false` - the client can't select several sessions. + * + * @get result + * @var bool + */ + public $is_session; + + /** + * If `true`, the user can be placed on a wait list. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_wait; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * The key of the location where the session is booked. + * + * @get result + * @var string + */ + public $k_location; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php b/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php index 765d3c21..80e72e19 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php +++ b/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php @@ -1,102 +1,102 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process; - -/** - * Event booking process sid class - * - * Last used ID: 12. - */ -abstract class ProcessSpaSid -{ - /** - * Step "Class details". - * - * Special step - a container for combining other steps. - * - * This constant has been added to the SID class to match the steps interface in JS. - * - * Adding a step to the queue is done on the client side (in JS). - * - * Designed for Client Web View. - */ - const DETAIL = 10; - - /** - * Step "Documents". - * - * Special step - a container for combining other steps. - * - * This constant has been added to the SID class to match the steps interface in JS - * - * Adding a step to the queue is done on the client side (in JS). - * - * The list of steps that can be displayed on: - * * {@link ProcessSpaSid::QUIZ} - * * Purchase options contract - * - * Designed for Client Web View. - */ - const DOCUMENT = 8; - - /** - * Step "Frequency". - * It is necessary to select booking frequency. - * - * Designed for Client Web View. - */ - const FREQUENCY = 9; - - /** - * Information about the class. - * - * In the SPA app, this step combines the following steps: - * * {@link ProcessSpaSid::FREQUENCY} - * * {@link ProcessSpaSid::SESSION} - */ - const INFO = 2; - - /** - * Installment selection. - */ - const INSTALLMENT = 4; - - /** - * Sign in, Sign up, fill in all necessary account data. - */ - const PASSPORT = 1; - - /** - * Card data and the booking confirmation. - */ - const PAYMENT = 5; - - /** - * Quizzes attached to the class. - */ - const QUIZ = 7; - - /** - * Booking for. - */ - const RELATION = 12; - - /** - * Selection of assets. - */ - const RESOURCE = 6; - - /** - * Session selection step for a session event. - * - * Designed for Client Web View. - */ - const SESSION = 11; - - /** - * A list of possible Purchase Options to be bought. - */ - const STORE = 3; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process; + +/** + * Event booking process sid class + * + * Last used ID: 12. + */ +abstract class ProcessSpaSid +{ + /** + * Step "Class details". + * + * Special step - a container for combining other steps. + * + * This constant has been added to the SID class to match the steps interface in JS. + * + * Adding a step to the queue is done on the client side (in JS). + * + * Designed for Client Web View. + */ + const DETAIL = 10; + + /** + * Step "Documents". + * + * Special step - a container for combining other steps. + * + * This constant has been added to the SID class to match the steps interface in JS + * + * Adding a step to the queue is done on the client side (in JS). + * + * The list of steps that can be displayed on: + * * {@link ProcessSpaSid::QUIZ} + * * Purchase options contract + * + * Designed for Client Web View. + */ + const DOCUMENT = 8; + + /** + * Step "Frequency". + * It is necessary to select booking frequency. + * + * Designed for Client Web View. + */ + const FREQUENCY = 9; + + /** + * Information about the class. + * + * In the SPA app, this step combines the following steps: + * * {@link ProcessSpaSid::FREQUENCY} + * * {@link ProcessSpaSid::SESSION} + */ + const INFO = 2; + + /** + * Installment selection. + */ + const INSTALLMENT = 4; + + /** + * Sign in, Sign up, fill in all necessary account data. + */ + const PASSPORT = 1; + + /** + * Card data and the booking confirmation. + */ + const PAYMENT = 5; + + /** + * Quizzes attached to the class. + */ + const QUIZ = 7; + + /** + * Booking for. + */ + const RELATION = 12; + + /** + * Selection of assets. + */ + const RESOURCE = 6; + + /** + * Session selection step for a session event. + * + * Designed for Client Web View. + */ + const SESSION = 11; + + /** + * A list of possible Purchase Options to be bought. + */ + const STORE = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index b61f1871..6e607ec5 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -1,556 +1,556 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Purchase; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\WlProgramCategorySid; -use WellnessLiving\Wl\WlProgramSid; -use WellnessLiving\Wl\WlProgramTypeSid; - -/** - * Displays information about Purchase Options that can book specified session(s). - * - * Note that the terms "Purchase Option" and "promotion" are used interchangeably. - */ -class Purchase56Model extends WlModelAbstract -{ - /** - * Data about the login prize which can be used to pay for service. - * <dl> - * <dt>int <var>i_count</var></dt><dd>Login prize remaining quantity.</dd> - * <dt>string <var>k_login_prize</var></dt><dd>Key of login prize.</dd> - * <dt>string <var>text_description</var></dt><dd>User friendly login prize description.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_login_prize = []; - - /** - * A list of the client`s login promotions that can be applied to a given service. - * Each element has the following fields: - * <dl> - * <dt>array <var>a_login_promotion_info</var></dt> - * <dd> - * Information about the Purchase Option with the following information: - * <dl> - * <dt>int <var>i_limit</var></dt> - * <dd>The number of visits the Purchase Option allows the client to make.</dd> - * <dt>int|null <var>i_limit_duration</var></dt> - * <dd>The maximum number of minutes the Purchase Option can be used for.</dd> - * <dt>int <var>i_remain</var></dt> - * <dd>The number of the remaining visits the Purchase Option has left.</dd> - * <dt>int|null <var>i_remain_duration</var></dt> - * <dd>The number of minutes left in the Purchase Option.</dd> - * </dl> - * </dd> - * <dt>string[] <var>a_visit_limit</var></dt> - * <dd>The list of calendar restrictions of the promotion (for example, 4 per week).</dd> - * <dt>array <var>a_restrict</var></dt> - * <dd>Data about the shortest restriction period: - * <dl> - * <dt>int <var>i_limit</var></dt> - * <dd>The limit of visits for the shortest restriction period.</dd> - * <dt>int <var>i_remain</var></dt> - * <dd>The number of remaining visits for the shortest restriction period.</dd> - * <dt>string <var>text_restriction</var></dt> - * <dd>The description of the shortest restriction period (for example "this week" or "for a 4 day period").</dd> - * </dl> - * </dd> - * <dt>array[] <var>a_restrict_data</var></dt> - * <dd>Data about all restriction periods given as an array, where each record has the following structure: - * <dl> - * <dt>int <var>i_book</var></dt> - * <dd>The number of future sessions paid using this Purchase Option.</dd> - * <dt>int <var>i_limit</var></dt> - * <dd>The limit of visits for the restriction period.</dd> - * <dt>int <var>i_remain</var></dt> - * <dd>The number of remaining visits for the restriction period.</dd> - * <dt>int <var>i_use</var></dt> - * <dd>The Purchase Option's usage count.</dd> - * <dt>int <var>i_visit_past</var></dt> - * <dd> - * The number of attended sessions before the last renewal. - * This will be `0` if there aren't any sessions before the last renewal or the Purchase Option doesn't auto-renew. - * </dd> - * <dt>string <var>text_restriction</var></dt> - * <dd>The description of restriction period (for example "this week" or "for a 4 day period").</dd> - * </dl> - * </dd> - * <dt>int <var>i_limit</var></dt> - * <dd>The number of visits the Purchase Option allows the client to make.</dd> - * <dt>int|null <var>i_limit_duration</var></dt> - * <dd>The maximum number of minutes the Purchase Option can be used for.</dd> - * <dt>int <var>id_program</var></dt> - * <dd>The program ID for Purchase Options. One of the {@link WlProgramSid} constants.</dd> - * <dt>string <var>k_login_promotion</var></dt> - * <dd>The login promotion key.</dd> - * <dt>string <var>s_class_include</var></dt> - * <dd>The list of services provided by this Purchase Option.</dd> - * <dt>string <var>s_description</var></dt> - * <dd>The Purchase Option description.</dd> - * <dt>string <var>s_duration</var></dt> - * <dd>The Purchase Option duration.</dd> - * <dt>string <var>s_title</var></dt> - * <dd>The Purchase Option name.</dd> - * <dt>string <var>text_package_item</var></dt> - * <dd>If this promotion is a package, this field will contain a list of Purchase Options contained in the package.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_login_promotion = []; - - /** - * A list of Purchase Options that are available for the session(s) being booked. Keys refer to unique string IDs, and - * values refer arrays with the next fields: - * <dl> - * <dt> - * array[] <var>a_installment_template</var>. - * </dt> - * <dd> - * A list of installment plans. Every element has the next keys: - * <dl> - * <dt> - * int <var>i_count</var> - * </dt> - * <dd> - * The number of payments. - * </dd> - * <dt> - * int <var>id_duration</var> - * </dt> - * <dd> - * The duration of a single period. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The number of periods specified by <var>id_period</var> between individual payments. - * </dd> - * <dt> - * string <var>k_currency</var> - * </dt> - * <dd> - * The payment currency key. - * </dd> - * <dt> - * string <var>k_pay_installment_template</var> - * </dt> - * <dd> - * The key of the installment plan template. - * </dd> - * <dt> - * string <var>m_amount</var> - * </dt> - * <dd> - * The amount of the installment plan. - * </dd> - * <dt> - * string <var>s_duration</var> - * </dt> - * <dd> - * The title of the installment plan. - * </dd> - * </dl> - * </dd> - * <dt> - * array[] [<var>a_visit_limit</var>] - * </dt> - * <dd> - * This is only set for Purchase Options. A list of limits on booking by the Purchase Option. Every element has the next keys: - * <dl> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The limit description. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_price</var> - * </dt> - * <dd> - * The price. - * </dd> - * <dt> - * string [<var>f_price_early</var>] - * </dt> - * <dd> - * The price for early bookings. - * </dd> - * <dt> - * string <var>html_payment_period</var> - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var> in short form. - * </dd> - * <dt> - * string <var>html_description</var> - * </dt> - * <dd> - * The description, ready to paste in a browser. - * </dd> - * <dt> - * int [<var>i_limit</var>] - * </dt> - * <dd> - * The limit of sessions that can be booked by Purchase Options. - * </dd> - * <dt> - * int [<var>i_payment_period</var>] - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The duration of the regular payment interval. - * </dd> - * <dt> - * int [<var>i_session</var>] - * </dt> - * <dd> - * This is only set for purchases of single sessions. The number of sessions booked simultaneously. - * </dd> - * <dt> - * int [<var>id_program_category</var>] - * </dt> - * <dd> - * This is only set for promotions. The ID of the promotion program category. One of the {@link WlProgramCategorySid} constants. - * </dd> - * <dt> - * int [<var>id_program_type</var>] - * </dt> - * <dd> - * This is only set for promotions. The ID of the promotion program type. One of the {@link WlProgramTypeSid} constants. - * </dd> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants. - * </dd> - * <dt> - * bool [<var>is_contract</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option requires a contract assignment. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_convert</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option converts to another instance upon expiration. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_renew</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option is renewable. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_renew_check</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option is renewable and the "auto-renew" option is turned on by default. Otherwise, - * this will be <tt>false</tt>. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>. - * </dd> - * <dt> - * string [<var>k_login_prize</var>] - * </dt> - * <dd> - * The key of the user's prize that can be used instead a Purchase Option to book the session. - * </dd> - * <dt> - * string [<var>s_contract</var>] - * </dt> - * <dd> - * The contract of the Purchase Option. This is only set if <var>is_contract</var> is <tt>true</tt>. - * </dd> - * <dt> - * string [<var>s_payment_duration</var>] - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var>. - * </dd> - * <dt> - * string [<var>s_promotion_convert</var>] - * </dt> - * <dd> - * This is only set if <var>is_convert</var> is <tt>true</tt>. The title to use for the new Purchase Option instance upon auto-renewal. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The title. - * </dd> - * <dt> - * string <var>s_value</var> - * </dt> - * <dd> - * The unique identifier. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_purchase = []; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * List of redeemable prizes which can be used to pay for service. - * Each element has the following fields: - * <dl> - * <dt>int <var>i_score</var></dt><dd>Prize price in points.</dd> - * <dt>string <var>k_reward_prize</var></dt><dd>Key of redeemable prize..</dd> - * <dt>string <var>text_description</var></dt><dd>User friendly prize description.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_reward_prize = []; - - /** - * The list of sessions being booked. - * - * Keys refer to class period keys. - * And values refer to the List of dates/times when the session occurred. - * - * @get get - * @var array - */ - public $a_session = []; - - /** - * The list of session passes that might be used in booking process. - * Each element has the following fields: - * <dl> - * <dt>int <var>i_remain</var></dt> - * <dd>Number of remaining visits on session pass.</dd> - * <dt>int <var>k_session_pass</var></dt> - * <dd>Session pass key.</dd> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>Type of the session pass purchase. One of {@link WlPurchaseItemSid} constants.</dd> - * <dt>int <var>s_title</var></dt> - * <dd>Session pass title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_session_pass = []; - - /** - * The selected sessions on the wait list that are unpaid. - * - * Keys refer to session IDs. - * And values refer to the index arrays of dates/times when the session occurred (returned in MySQL format and GMT). - * - * @get get - * @var array - */ - public $a_session_wait_list_unpaid = []; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The image height in pixels. Specify this value if you need image to be returned in specific size. - * The returned image will have the default thumbnail size if this value isn't specified. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * The image width in pixels. Specify this value if you need image to be returned in specific size. - * The returned image will have the default thumbnail size if this value isn't specified. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * Determines if the client must authorize the credit card. - * - * @get get - * @var bool - */ - public $is_card_authorize = false; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * Indicates if the drop-in rate should be the default promotion. - * - * @get result - * @var bool - */ - public $is_single_default = false; - - /** - * The selected sessions. - * This won't be empty for session mode only. - * - * Fields refer to IDs of sessions in the database. Values refer to arrays of dates/times when session occurred, returned in MySQL format and in GMT. - * - * Serialized with JSON. - * - * @get get - * @var string - */ - public $json_session = ''; - - /** - * The business key. - * - * `null` if business key was not passed. - * - * @get get - * @var string|null - */ - public $k_business = null; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * The default Purchase Option key. - * This will be empty if the class has no default Purchase Option. - * - * @get result - * @var string - */ - public $k_promotion_default = ''; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Purchase; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\WlProgramCategorySid; +use WellnessLiving\Wl\WlProgramSid; +use WellnessLiving\Wl\WlProgramTypeSid; + +/** + * Displays information about Purchase Options that can book specified session(s). + * + * Note that the terms "Purchase Option" and "promotion" are used interchangeably. + */ +class Purchase56Model extends WlModelAbstract +{ + /** + * Data about the login prize which can be used to pay for service. + * <dl> + * <dt>int <var>i_count</var></dt><dd>Login prize remaining quantity.</dd> + * <dt>string <var>k_login_prize</var></dt><dd>Key of login prize.</dd> + * <dt>string <var>text_description</var></dt><dd>User friendly login prize description.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_login_prize = []; + + /** + * A list of the client`s login promotions that can be applied to a given service. + * Each element has the following fields: + * <dl> + * <dt>array <var>a_login_promotion_info</var></dt> + * <dd> + * Information about the Purchase Option with the following information: + * <dl> + * <dt>int <var>i_limit</var></dt> + * <dd>The number of visits the Purchase Option allows the client to make.</dd> + * <dt>int|null <var>i_limit_duration</var></dt> + * <dd>The maximum number of minutes the Purchase Option can be used for.</dd> + * <dt>int <var>i_remain</var></dt> + * <dd>The number of the remaining visits the Purchase Option has left.</dd> + * <dt>int|null <var>i_remain_duration</var></dt> + * <dd>The number of minutes left in the Purchase Option.</dd> + * </dl> + * </dd> + * <dt>string[] <var>a_visit_limit</var></dt> + * <dd>The list of calendar restrictions of the promotion (for example, 4 per week).</dd> + * <dt>array <var>a_restrict</var></dt> + * <dd>Data about the shortest restriction period: + * <dl> + * <dt>int <var>i_limit</var></dt> + * <dd>The limit of visits for the shortest restriction period.</dd> + * <dt>int <var>i_remain</var></dt> + * <dd>The number of remaining visits for the shortest restriction period.</dd> + * <dt>string <var>text_restriction</var></dt> + * <dd>The description of the shortest restriction period (for example "this week" or "for a 4 day period").</dd> + * </dl> + * </dd> + * <dt>array[] <var>a_restrict_data</var></dt> + * <dd>Data about all restriction periods given as an array, where each record has the following structure: + * <dl> + * <dt>int <var>i_book</var></dt> + * <dd>The number of future sessions paid using this Purchase Option.</dd> + * <dt>int <var>i_limit</var></dt> + * <dd>The limit of visits for the restriction period.</dd> + * <dt>int <var>i_remain</var></dt> + * <dd>The number of remaining visits for the restriction period.</dd> + * <dt>int <var>i_use</var></dt> + * <dd>The Purchase Option's usage count.</dd> + * <dt>int <var>i_visit_past</var></dt> + * <dd> + * The number of attended sessions before the last renewal. + * This will be `0` if there aren't any sessions before the last renewal or the Purchase Option doesn't auto-renew. + * </dd> + * <dt>string <var>text_restriction</var></dt> + * <dd>The description of restriction period (for example "this week" or "for a 4 day period").</dd> + * </dl> + * </dd> + * <dt>int <var>i_limit</var></dt> + * <dd>The number of visits the Purchase Option allows the client to make.</dd> + * <dt>int|null <var>i_limit_duration</var></dt> + * <dd>The maximum number of minutes the Purchase Option can be used for.</dd> + * <dt>int <var>id_program</var></dt> + * <dd>The program ID for Purchase Options. One of the {@link WlProgramSid} constants.</dd> + * <dt>string <var>k_login_promotion</var></dt> + * <dd>The login promotion key.</dd> + * <dt>string <var>s_class_include</var></dt> + * <dd>The list of services provided by this Purchase Option.</dd> + * <dt>string <var>s_description</var></dt> + * <dd>The Purchase Option description.</dd> + * <dt>string <var>s_duration</var></dt> + * <dd>The Purchase Option duration.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The Purchase Option name.</dd> + * <dt>string <var>text_package_item</var></dt> + * <dd>If this promotion is a package, this field will contain a list of Purchase Options contained in the package.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_login_promotion = []; + + /** + * A list of Purchase Options that are available for the session(s) being booked. Keys refer to unique string IDs, and + * values refer arrays with the next fields: + * <dl> + * <dt> + * array[] <var>a_installment_template</var>. + * </dt> + * <dd> + * A list of installment plans. Every element has the next keys: + * <dl> + * <dt> + * int <var>i_count</var> + * </dt> + * <dd> + * The number of payments. + * </dd> + * <dt> + * int <var>id_duration</var> + * </dt> + * <dd> + * The duration of a single period. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The number of periods specified by <var>id_period</var> between individual payments. + * </dd> + * <dt> + * string <var>k_currency</var> + * </dt> + * <dd> + * The payment currency key. + * </dd> + * <dt> + * string <var>k_pay_installment_template</var> + * </dt> + * <dd> + * The key of the installment plan template. + * </dd> + * <dt> + * string <var>m_amount</var> + * </dt> + * <dd> + * The amount of the installment plan. + * </dd> + * <dt> + * string <var>s_duration</var> + * </dt> + * <dd> + * The title of the installment plan. + * </dd> + * </dl> + * </dd> + * <dt> + * array[] [<var>a_visit_limit</var>] + * </dt> + * <dd> + * This is only set for Purchase Options. A list of limits on booking by the Purchase Option. Every element has the next keys: + * <dl> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The limit description. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>f_price</var> + * </dt> + * <dd> + * The price. + * </dd> + * <dt> + * string [<var>f_price_early</var>] + * </dt> + * <dd> + * The price for early bookings. + * </dd> + * <dt> + * string <var>html_payment_period</var> + * </dt> + * <dd> + * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var> in short form. + * </dd> + * <dt> + * string <var>html_description</var> + * </dt> + * <dd> + * The description, ready to paste in a browser. + * </dd> + * <dt> + * int [<var>i_limit</var>] + * </dt> + * <dd> + * The limit of sessions that can be booked by Purchase Options. + * </dd> + * <dt> + * int [<var>i_payment_period</var>] + * </dt> + * <dd> + * This is only set for Purchase Options with the 'membership' program type. The duration of the regular payment interval. + * </dd> + * <dt> + * int [<var>i_session</var>] + * </dt> + * <dd> + * This is only set for purchases of single sessions. The number of sessions booked simultaneously. + * </dd> + * <dt> + * int [<var>id_program_category</var>] + * </dt> + * <dd> + * This is only set for promotions. The ID of the promotion program category. One of the {@link WlProgramCategorySid} constants. + * </dd> + * <dt> + * int [<var>id_program_type</var>] + * </dt> + * <dd> + * This is only set for promotions. The ID of the promotion program type. One of the {@link WlProgramTypeSid} constants. + * </dd> + * <dt> + * int <var>id_purchase_item</var> + * </dt> + * <dd> + * The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants. + * </dd> + * <dt> + * bool [<var>is_contract</var>] + * </dt> + * <dd> + * If <tt>true</tt>, the Purchase Option requires a contract assignment. Otherwise, this will be <tt>false</tt>. + * </dd> + * <dt> + * bool [<var>is_convert</var>] + * </dt> + * <dd> + * If <tt>true</tt>, the Purchase Option converts to another instance upon expiration. Otherwise, this will be <tt>false</tt>. + * </dd> + * <dt> + * bool [<var>is_renew</var>] + * </dt> + * <dd> + * If <tt>true</tt>, the Purchase Option is renewable. Otherwise, this will be <tt>false</tt>. + * </dd> + * <dt> + * bool [<var>is_renew_check</var>] + * </dt> + * <dd> + * If <tt>true</tt>, the Purchase Option is renewable and the "auto-renew" option is turned on by default. Otherwise, + * this will be <tt>false</tt>. + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>. + * </dd> + * <dt> + * string [<var>k_login_prize</var>] + * </dt> + * <dd> + * The key of the user's prize that can be used instead a Purchase Option to book the session. + * </dd> + * <dt> + * string [<var>s_contract</var>] + * </dt> + * <dd> + * The contract of the Purchase Option. This is only set if <var>is_contract</var> is <tt>true</tt>. + * </dd> + * <dt> + * string [<var>s_payment_duration</var>] + * </dt> + * <dd> + * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var>. + * </dd> + * <dt> + * string [<var>s_promotion_convert</var>] + * </dt> + * <dd> + * This is only set if <var>is_convert</var> is <tt>true</tt>. The title to use for the new Purchase Option instance upon auto-renewal. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The title. + * </dd> + * <dt> + * string <var>s_value</var> + * </dt> + * <dd> + * The unique identifier. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_purchase = []; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * List of redeemable prizes which can be used to pay for service. + * Each element has the following fields: + * <dl> + * <dt>int <var>i_score</var></dt><dd>Prize price in points.</dd> + * <dt>string <var>k_reward_prize</var></dt><dd>Key of redeemable prize..</dd> + * <dt>string <var>text_description</var></dt><dd>User friendly prize description.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_reward_prize = []; + + /** + * The list of sessions being booked. + * + * Keys refer to class period keys. + * And values refer to the List of dates/times when the session occurred. + * + * @get get + * @var array + */ + public $a_session = []; + + /** + * The list of session passes that might be used in booking process. + * Each element has the following fields: + * <dl> + * <dt>int <var>i_remain</var></dt> + * <dd>Number of remaining visits on session pass.</dd> + * <dt>int <var>k_session_pass</var></dt> + * <dd>Session pass key.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>Type of the session pass purchase. One of {@link WlPurchaseItemSid} constants.</dd> + * <dt>int <var>s_title</var></dt> + * <dd>Session pass title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_session_pass = []; + + /** + * The selected sessions on the wait list that are unpaid. + * + * Keys refer to session IDs. + * And values refer to the index arrays of dates/times when the session occurred (returned in MySQL format and GMT). + * + * @get get + * @var array + */ + public $a_session_wait_list_unpaid = []; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The image height in pixels. Specify this value if you need image to be returned in specific size. + * The returned image will have the default thumbnail size if this value isn't specified. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * The image width in pixels. Specify this value if you need image to be returned in specific size. + * The returned image will have the default thumbnail size if this value isn't specified. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * Determines if the client must authorize the credit card. + * + * @get get + * @var bool + */ + public $is_card_authorize = false; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * Indicates if the drop-in rate should be the default promotion. + * + * @get result + * @var bool + */ + public $is_single_default = false; + + /** + * The selected sessions. + * This won't be empty for session mode only. + * + * Fields refer to IDs of sessions in the database. Values refer to arrays of dates/times when session occurred, returned in MySQL format and in GMT. + * + * Serialized with JSON. + * + * @get get + * @var string + */ + public $json_session = ''; + + /** + * The business key. + * + * `null` if business key was not passed. + * + * @get get + * @var string|null + */ + public $k_business = null; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * The default Purchase Option key. + * This will be empty if the class has no default Purchase Option. + * + * @get result + * @var string + */ + public $k_promotion_default = ''; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementListModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementListModel.php index 12adb4b3..e5c62a06 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementListModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementListModel.php @@ -1,119 +1,119 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Purchase; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * Displays a list of purchase items. - */ -class PurchaseElementListModel extends WlModelAbstract -{ - /** - * A list of purchase items to get information for. Every element has the next keys: - * <dl> - * <dt>int [<var>i_session</var>]</dt> - * <dd>The number of sessions booked simultaneously.</dd> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The ID of the purchase item type. One of the {@link WlPurchaseItemSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The key of the purchase item in the database. The name of the table in the database depends on <var>id_purchase_item</var></dd> - * <dt>string [<var>k_login_prize</var>]</dt> - * <dd>The key of the user's prize.</dd> - * </dl> - * - * @get get - * @var array[] - */ - public $a_purchase_item_request = []; - - /** - * Detailed information about the amounts for the purchase item list. - * Every element has the next keys: - * <dl> - * <dt> - * array <var>a_tax</var> - * </dt> - * <dd> - * Information about taxes. The key refers to the tax key, and the value refers to the tax amount. - * </dd> - * <dt> - * string <var>id_purchase_item</var></dt> - * <dd> - * The ID of purchase item type. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the purchase item in the database. - * </dd> - * <dt> - * string <var>m_cost</var></dt> - * <dd> - * The cost of the purchase item (with taxes). - * </dd> - * <dt> - * string <var>m_discount</var></dt> - * <dd> - * The amount of the whole discount. - * </dd> - * <dt> - * string <var>m_discount_login</var></dt> - * <dd> - * The amount of the discount for the client type. - * </dd> - * <dt> - * string <var>m_price</var></dt> - * <dd> - * The price of the purchase item (with or without taxes, depending on regional standards).</dd> - * <dt> - * string <var>m_tax</var></dt> - * <dd> - * The amount of taxes for the purchase item. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_purchase_item_result; - - /** - * The key of the business in which the purchase is made. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The key of the location in which the purchase is made. - * This is also the booking process location. - * - * This will be `null` if not set yet or if the location can't be defined for some reason. - * - * @get get - * @var string|null - */ - public $k_location = null; - - /** - * The discount code. - * - * @get get - * @var string - */ - public $text_discount_code = ''; - - /** - * The key of the user making the purchase. - * - * @get get - * @var string - */ - public $uid; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Purchase; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * Displays a list of purchase items. + */ +class PurchaseElementListModel extends WlModelAbstract +{ + /** + * A list of purchase items to get information for. Every element has the next keys: + * <dl> + * <dt>int [<var>i_session</var>]</dt> + * <dd>The number of sessions booked simultaneously.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of the purchase item type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the purchase item in the database. The name of the table in the database depends on <var>id_purchase_item</var></dd> + * <dt>string [<var>k_login_prize</var>]</dt> + * <dd>The key of the user's prize.</dd> + * </dl> + * + * @get get + * @var array[] + */ + public $a_purchase_item_request = []; + + /** + * Detailed information about the amounts for the purchase item list. + * Every element has the next keys: + * <dl> + * <dt> + * array <var>a_tax</var> + * </dt> + * <dd> + * Information about taxes. The key refers to the tax key, and the value refers to the tax amount. + * </dd> + * <dt> + * string <var>id_purchase_item</var></dt> + * <dd> + * The ID of purchase item type. + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The key of the purchase item in the database. + * </dd> + * <dt> + * string <var>m_cost</var></dt> + * <dd> + * The cost of the purchase item (with taxes). + * </dd> + * <dt> + * string <var>m_discount</var></dt> + * <dd> + * The amount of the whole discount. + * </dd> + * <dt> + * string <var>m_discount_login</var></dt> + * <dd> + * The amount of the discount for the client type. + * </dd> + * <dt> + * string <var>m_price</var></dt> + * <dd> + * The price of the purchase item (with or without taxes, depending on regional standards).</dd> + * <dt> + * string <var>m_tax</var></dt> + * <dd> + * The amount of taxes for the purchase item. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_purchase_item_result; + + /** + * The key of the business in which the purchase is made. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The key of the location in which the purchase is made. + * This is also the booking process location. + * + * This will be `null` if not set yet or if the location can't be defined for some reason. + * + * @get get + * @var string|null + */ + public $k_location = null; + + /** + * The discount code. + * + * @get get + * @var string + */ + public $text_discount_code = ''; + + /** + * The key of the user making the purchase. + * + * @get get + * @var string + */ + public $uid; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php index e2089452..facfb5f2 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php @@ -1,148 +1,148 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Purchase; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * A model of the purchase item. - */ -class PurchaseElementModel extends WlModelAbstract -{ - /** - * A list of taxes for one purchase item. - * Keys - tax keys. - * Values - tax amount. - * - * @get result - * @var array - */ - public $a_tax; - - /** - * The number of sessions which are booked simultaneously. - * - * @get get - * @var int - */ - public $i_session = 0; - - /** - * The ID of the purchase item type. One of {@link WlPurchaseItemSid}. - * - * @get get - * @var int - */ - public $id_purchase_item = 0; - - /** - * The key of the purchase item in the database. - * - * @get get - * @var string - */ - public $k_id = '0'; - - /** - * The key of the location in which the purchase is made. - * This is also the booking process location. - * - * @get get - * @var string - */ - public $k_location = '0'; - - /** - * The key of the user's prize. - * Not empty only if the user wants to make a free visit from the prize. - * - * @get get - * @var string - */ - public $k_login_prize = '0'; - - /** - * Installment template key. - * This property is optional. `null` if installment plan doesn't exist for bought item. - * `0` if installment plan doesn't selected for bought item from the list of installment plans. - * - * @get get - * @var string|null - */ - public $k_pay_installment_template = null; - - /** - * The cost of one purchase item (with taxes). - * - * @get result - * @var string - */ - public $m_cost; - - /** - * The amount of the whole discount of one purchase item. - * - * @get result - * @var string - */ - public $m_discount; - - /** - * Amount of discount for discount code of 1 purchase item. - * - * @get result - * @var string - */ - public $m_discount_code; - - /** - * The discount amount for the client type of one purchase item. - * - * @get result - * @var string - */ - public $m_discount_login; - - /** - * The price of the purchase item (with or without taxes, depending on regional standards). - * - * @get result - * @var string - */ - public $m_price; - - /** - * Amount of subtotal for 1 purchase item. - * - * @get result - * @var string - */ - public $m_subtotal; - - /** - * The amount of taxes for the one purchase item. - * - * @get result - * @var string - */ - public $m_tax; - - /** - * The discount code. - * - * @get get - * @var string - */ - public $text_discount_code = ''; - - /** - * The key of the current user. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Purchase; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * A model of the purchase item. + */ +class PurchaseElementModel extends WlModelAbstract +{ + /** + * A list of taxes for one purchase item. + * Keys - tax keys. + * Values - tax amount. + * + * @get result + * @var array + */ + public $a_tax; + + /** + * The number of sessions which are booked simultaneously. + * + * @get get + * @var int + */ + public $i_session = 0; + + /** + * The ID of the purchase item type. One of {@link WlPurchaseItemSid}. + * + * @get get + * @var int + */ + public $id_purchase_item = 0; + + /** + * The key of the purchase item in the database. + * + * @get get + * @var string + */ + public $k_id = '0'; + + /** + * The key of the location in which the purchase is made. + * This is also the booking process location. + * + * @get get + * @var string + */ + public $k_location = '0'; + + /** + * The key of the user's prize. + * Not empty only if the user wants to make a free visit from the prize. + * + * @get get + * @var string + */ + public $k_login_prize = '0'; + + /** + * Installment template key. + * This property is optional. `null` if installment plan doesn't exist for bought item. + * `0` if installment plan doesn't selected for bought item from the list of installment plans. + * + * @get get + * @var string|null + */ + public $k_pay_installment_template = null; + + /** + * The cost of one purchase item (with taxes). + * + * @get result + * @var string + */ + public $m_cost; + + /** + * The amount of the whole discount of one purchase item. + * + * @get result + * @var string + */ + public $m_discount; + + /** + * Amount of discount for discount code of 1 purchase item. + * + * @get result + * @var string + */ + public $m_discount_code; + + /** + * The discount amount for the client type of one purchase item. + * + * @get result + * @var string + */ + public $m_discount_login; + + /** + * The price of the purchase item (with or without taxes, depending on regional standards). + * + * @get result + * @var string + */ + public $m_price; + + /** + * Amount of subtotal for 1 purchase item. + * + * @get result + * @var string + */ + public $m_subtotal; + + /** + * The amount of taxes for the one purchase item. + * + * @get result + * @var string + */ + public $m_tax; + + /** + * The discount code. + * + * @get get + * @var string + */ + public $text_discount_code = ''; + + /** + * The key of the current user. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php index c136f5dc..2a9c5f16 100644 --- a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php +++ b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php @@ -1,242 +1,242 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Quiz; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; - -/** - * Manages quizzes and a selected Purchase Option for a class or event during the booking process. - * - * Note that the terms "Purchase Option" and "promotion" are used interchangeably. - */ -class QuizModel extends WlModelAbstract -{ - /** - * The user's activity keys. - * - * @post result - * @var string[] - */ - public $a_login_activity = []; - - /** - * The list of purchase items. Each element has the format <tt>[id_purchase_item]::[k_id]</tt>, where: <dl> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The item key. This depends on <var>id_purchase_item</var> of this array.</dd> - * </dl> - * - * This will be empty if no purchases are made for the booking. - * - * @get get - * @var string[] - */ - public $a_purchase_item = []; - - /** - * The list of quizzes. Each element has the next structure:<dl> - * <dt>bool <var>is_require</var></dt> - * <dd>Determines whether the quiz is required.</dd> - * <dt>string <var>k_quiz</var></dt> - * <dd>The quiz key.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_quiz = []; - - /** - * The list of quiz response keys. - * - * Keys refer to quiz keys. - * And values refer to response keys. - * - * @post post - * @var array - */ - public $a_quiz_response = []; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * The selected assets. - * - * Every element has the next keys: - * <dl> - * <dt>int <var>i_index</var></dt> - * <dd>The order number of the asset (could be from 1 to the asset quantity).</dd> - * <dt>string <var>k_resource</var></dt> - * <dd>The asset key.</dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_resource = []; - - /** - * The selected sessions. - * - * Keys refer to class period keys. - * And values refer to the list of dates/times when the session occurred. - * - * @post post - * @var array - */ - public $a_session_select = []; - - /** - * The selected sessions on the wait list that are unpaid. - * - * Keys refer to session IDs. - * And values refer to index arrays of dates/times when session occurred (n MySQL format and in GMT). - * - * @post post - * @var array - */ - public $a_session_wait_list_unpaid = []; - - /** - * The keys the bookings that have been made. - * - * @post result - * @var string[] - */ - public $a_visit = []; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * If `true`, the next steps of the booking wizard are required for the purchase or booking. Otherwise, this will be `false`. - * - * @post result - * @var bool - */ - public $is_next; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Quiz; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; + +/** + * Manages quizzes and a selected Purchase Option for a class or event during the booking process. + * + * Note that the terms "Purchase Option" and "promotion" are used interchangeably. + */ +class QuizModel extends WlModelAbstract +{ + /** + * The user's activity keys. + * + * @post result + * @var string[] + */ + public $a_login_activity = []; + + /** + * The list of purchase items. Each element has the format <tt>[id_purchase_item]::[k_id]</tt>, where: <dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The item key. This depends on <var>id_purchase_item</var> of this array.</dd> + * </dl> + * + * This will be empty if no purchases are made for the booking. + * + * @get get + * @var string[] + */ + public $a_purchase_item = []; + + /** + * The list of quizzes. Each element has the next structure:<dl> + * <dt>bool <var>is_require</var></dt> + * <dd>Determines whether the quiz is required.</dd> + * <dt>string <var>k_quiz</var></dt> + * <dd>The quiz key.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_quiz = []; + + /** + * The list of quiz response keys. + * + * Keys refer to quiz keys. + * And values refer to response keys. + * + * @post post + * @var array + */ + public $a_quiz_response = []; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * The selected assets. + * + * Every element has the next keys: + * <dl> + * <dt>int <var>i_index</var></dt> + * <dd>The order number of the asset (could be from 1 to the asset quantity).</dd> + * <dt>string <var>k_resource</var></dt> + * <dd>The asset key.</dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_resource = []; + + /** + * The selected sessions. + * + * Keys refer to class period keys. + * And values refer to the list of dates/times when the session occurred. + * + * @post post + * @var array + */ + public $a_session_select = []; + + /** + * The selected sessions on the wait list that are unpaid. + * + * Keys refer to session IDs. + * And values refer to index arrays of dates/times when session occurred (n MySQL format and in GMT). + * + * @post post + * @var array + */ + public $a_session_wait_list_unpaid = []; + + /** + * The keys the bookings that have been made. + * + * @post result + * @var string[] + */ + public $a_visit = []; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * If `true`, the next steps of the booking wizard are required for the purchase or booking. Otherwise, this will be `false`. + * + * @post result + * @var bool + */ + public $is_next; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php b/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php index 98f377a1..524bf8b7 100644 --- a/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php +++ b/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php @@ -1,144 +1,144 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Relation; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; - -/** - * Adds a relative during the booking process. - */ -class RelationModel extends WlModelAbstract -{ - /** - * The date/time of the session to check for booking availability. - * - * @get get - * @var string - */ - public $dtu_date = ''; - - /** - * Day of birthday. - * `null` if birthday is not entered. - * - * @post post - * @var int|null - */ - public $i_day = null; - - /** - * Month of birthday. - * `null` if birthday is not entered. - * - * @post post - * @var int|null - */ - public $i_month = null; - - /** - * Year of birthday. - * `null` if birthday is not entered. - * - * @post post - * @var int|null - */ - public $i_year = null; - - /** - * The relation type. - * One of the {@link WlFamilyRelationSid} constants. - * - * @post post - * @var int - */ - public $id_relation = 0; - - /** - * `true` - the new relative uses the email from <var>uid_from</var>. - * - * `false` - the new relative has their own email. - * - * @post post - * @var bool - */ - public $is_mail_inherit = false; - - /** - * `true` - the new relative pays for themself. - * - * `false` - <var>uid_from</var> pays for the new relative. - * - * @post post - * @var bool - */ - public $is_pay_self = false; - - /** - * The business where <var>uid_from</var> creates the new relative. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The key of the session to check for booking availability. - * - * @get get - * @var string - */ - public $k_class_period = '0'; - - /** - * The new relative's email. - * - * @post post - * @var string - */ - public $text_mail = ''; - - /** - * The new relative's first name. - * - * @post post - * @var string - */ - public $text_name_first = ''; - - /** - * The new relative's last name. - * - * @post post - * @var string - */ - public $text_name_last = ''; - - /** - * The newly added relative. - * - * @post result - * @var string - */ - public $uid_create; - - /** - * UID of already existed in another business user. - * - * @post post - * @var string - */ - public $uid_existed = ''; - - /** - * The user who's adding the new relative. - * - * @get get - * @post get - * @var string - */ - public $uid_from = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Relation; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; + +/** + * Adds a relative during the booking process. + */ +class RelationModel extends WlModelAbstract +{ + /** + * The date/time of the session to check for booking availability. + * + * @get get + * @var string + */ + public $dtu_date = ''; + + /** + * Day of birthday. + * `null` if birthday is not entered. + * + * @post post + * @var int|null + */ + public $i_day = null; + + /** + * Month of birthday. + * `null` if birthday is not entered. + * + * @post post + * @var int|null + */ + public $i_month = null; + + /** + * Year of birthday. + * `null` if birthday is not entered. + * + * @post post + * @var int|null + */ + public $i_year = null; + + /** + * The relation type. + * One of the {@link WlFamilyRelationSid} constants. + * + * @post post + * @var int + */ + public $id_relation = 0; + + /** + * `true` - the new relative uses the email from <var>uid_from</var>. + * + * `false` - the new relative has their own email. + * + * @post post + * @var bool + */ + public $is_mail_inherit = false; + + /** + * `true` - the new relative pays for themself. + * + * `false` - <var>uid_from</var> pays for the new relative. + * + * @post post + * @var bool + */ + public $is_pay_self = false; + + /** + * The business where <var>uid_from</var> creates the new relative. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The key of the session to check for booking availability. + * + * @get get + * @var string + */ + public $k_class_period = '0'; + + /** + * The new relative's email. + * + * @post post + * @var string + */ + public $text_mail = ''; + + /** + * The new relative's first name. + * + * @post post + * @var string + */ + public $text_name_first = ''; + + /** + * The new relative's last name. + * + * @post post + * @var string + */ + public $text_name_last = ''; + + /** + * The newly added relative. + * + * @post result + * @var string + */ + public $uid_create; + + /** + * UID of already existed in another business user. + * + * @post post + * @var string + */ + public $uid_existed = ''; + + /** + * The user who's adding the new relative. + * + * @get get + * @post get + * @var string + */ + public $uid_from = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php index aef5e88d..f0a811f1 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php +++ b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php @@ -1,322 +1,322 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process\Resource; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Book\Process\ProcessSpaSid; -use WellnessLiving\Wl\Mode\ModeSid; - -/** - * Selects assets when making a booking. - * - * Take note of the {@link ProcessSpaSid::QUIZ} step. - */ -class Resource54Model extends WlModelAbstract -{ - /** - * The keys of a user's activity. - * This won't be empty only if the session(s) was booked at this step. - * - * @post result - * @var string[] - */ - public $a_login_activity = []; - - /** - * Information about the recurring booking: - * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> - * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. - * </dd> - * <dt> - * string [<var>dl_end</var>] - * </dt> - * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. - * </dd> - * <dt> - * int [<var>i_occurrence</var>] - * </dt> - * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> - * <dt> - * int <var>id_period</var> - * </dt> - * <dd> - * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> - * </dl> - * - * This will be `null` if the booking isn't recurring. - * - * @post post - * @var array|null - */ - public $a_repeat = null; - - /** - * A list of asset categories which are available for specified session. Every element has next keys: - * <dl> - * <dt> - * array <var>a_client</var> - * </dt> - * <dd> - * A list of clients who have already occupied assets for this session. - * 1st level keys - asset keys; 2nd level keys - asset number. - * For example, if you want to check if 10th asset with key '125' is free, - * you have to check if <tt>a_client['125']['10']</tt> is empty. - * </dd> - * <dt> - * array[] <var>a_resource_list</var> - * </dt> - * <dd> - * A list of available assets. Every element has next keys: - * <dl> - * <dt> - * array <var>a_image</var> - * </dt> - * <dd> - * Asset image data. - * </dd> - * <dt> - * int <var>i_index</var> - * </dt> - * <dd> - * The asset number. Actual for assets with a quantity more than <tt>1</tt>. - * </dd> - * <dt> - * bool <var>is_current</var> - * </dt> - * <dd> - * <tt>true</tt> means that this asset is selected by client, <tt>false</tt> - otherwise. - * </dd> - * <dt> - * string <var>k_resource</var> - * </dt> - * <dd> - * The key of the asset in database. - * - * </dd> - * <dt> - * string <var>s_resource</var> - * </dt> - * <dd> - * The title of the asset. - * </dd> - * </dl> - * </dd> - * <dt> - * bool <var>has_current</var> - * </dt> - * <dd> - * <tt>true</tt> - has current resource in the list of available assets; <tt>false</tt> - otherwise. - * </dd> - * <dt> - * bool <var>is_client_select</var> - * </dt> - * <dd> - * <tt>true</tt> - the client selected the resource from the current group; <tt>false</tt> otherwise. - * </dd> - * <dt> - * bool <var>is_select</var> - * </dt> - * <dd> - * <tt>true</tt> - has selected resources; <tt>false</tt> - otherwise. - * </dd> - * <dt> - * bool <var>is_share</var> - * </dt> - * <dd> - * <tt>true</tt> resources in this category don't belong to certain users, but to the entire session. - * <tt>false</tt> belong to specific users. - * </dd> - * <dt> - * string <var>k_resource_layout</var> - * </dt> - * <dd> - * The key of the asset layout. - * </dd> - * <dt> - * string <var>k_resource_type</var> - * </dt> - * <dd> - * The key of the asset category. - * </dd> - * <dt> - * string <var>s_resource_type</var> - * </dt> - * <dd> - * The title of the asset category. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_resource_all = []; - - /** - * The selected assets. Every element has the next keys: - * <dl> - * <dt>int <var>i_index</var></dt> - * <dd>The asset number. Applies only for assets with a quantity greater than <tt>1</tt>.</dd> - * <dt>string <var>k_resource</var></dt> - * <dd>The asset key.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_resource_select = []; - - /** - * The selected sessions. - * Not empty only for session mode. - * - * Keys refer to class period keys. - * And values refer to a list of the dates/times when the session occurred (returned in MySQL format and in GMT). - * - * @get get - * @post get - * @var array - */ - public $a_session = []; - - /** - * The selected sessions on the wait list that are unpaid. - * - * Keys refer to session IDs. - * And values refer to index arrays of dates/times when the session occurred (returned in MySQL format and in GMT). - * - * @post post - * @var array - */ - public $a_session_wait_list_unpaid = []; - - /** - * The keys of the bookings that have been made. - * Not empty only if session(s) was booked on this step. - * - * @post result - * @var string[] - */ - public $a_visit = []; - - /** - * Determines whether the class/event can be booked at this step or not. - * This is an external process control flag. - * - * @post post - * @var bool - */ - public $can_book = true; - - /** - * Date/time to which session is booked. - * - * @get get - * @post get - * @var string - */ - public $dt_date_gmt = ''; - - /** - * The mode type. One of the {@link ModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * `true` if user pressed 'Pay later'. - * `false` if user pressed 'Pay now'. - * - * @post post - * @var bool - */ - public $is_force_pay_later = false; - - /** - * `true` - the next steps of the booking wizard are required (for example, to purchase something to book the selected session). - * `false` - no further booking steps are required. - * - * @post result - * @var bool - */ - public $is_next = false; - - /** - * Selected sessions. - * Not empty only for session mode. - * - * Fields - IDs of sessions in database. - * Values - arrays of date/time when session is occurred. In MySQL format. In GMT. - * - * Serialized with JSON. - * - * @get get - * @post get - * @var string - */ - public $json_session = ''; - - /** - * Key of session which is booked. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * Login promotion to be used to book a class. - * - * @post post - * @var string - */ - public $k_login_promotion = ''; - - /** - * Session pass to be used to book a class. - * - * @post post - * @var string - */ - public $k_session_pass = ''; - - /** - * Key of a user who is making a book. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Book\Process\Resource; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Book\Process\ProcessSpaSid; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * Selects assets when making a booking. + * + * Take note of the {@link ProcessSpaSid::QUIZ} step. + */ +class Resource54Model extends WlModelAbstract +{ + /** + * The keys of a user's activity. + * This won't be empty only if the session(s) was booked at this step. + * + * @post result + * @var string[] + */ + public $a_login_activity = []; + + /** + * Information about the recurring booking: + * <dl> + * <dt> + * int[] [<var>a_week</var>] + * </dt> + * <dd> + * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. + * This will be empty if the appointment doesn't repeat weekly. + * </dd> + * <dt> + * string [<var>dl_end</var>] + * </dt> + * <dd> + * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * </dd> + * <dt> + * int [<var>i_occurrence</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The frequency of the appointment's repeat cycle. + * </dd> + * <dt> + * int <var>id_period</var> + * </dt> + * <dd> + * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * bool [<var>is_month</var>] + * </dt> + * <dd> + * <tt>true</tt> - the appointment repeats monthly on the same date. + * <tt>false</tt> - the appointment repeats monthly on the same day of the week. + * <tt>null</tt> - the appointment doesn't repeat monthly. + * </dd> + * </dl> + * + * This will be `null` if the booking isn't recurring. + * + * @post post + * @var array|null + */ + public $a_repeat = null; + + /** + * A list of asset categories which are available for specified session. Every element has next keys: + * <dl> + * <dt> + * array <var>a_client</var> + * </dt> + * <dd> + * A list of clients who have already occupied assets for this session. + * 1st level keys - asset keys; 2nd level keys - asset number. + * For example, if you want to check if 10th asset with key '125' is free, + * you have to check if <tt>a_client['125']['10']</tt> is empty. + * </dd> + * <dt> + * array[] <var>a_resource_list</var> + * </dt> + * <dd> + * A list of available assets. Every element has next keys: + * <dl> + * <dt> + * array <var>a_image</var> + * </dt> + * <dd> + * Asset image data. + * </dd> + * <dt> + * int <var>i_index</var> + * </dt> + * <dd> + * The asset number. Actual for assets with a quantity more than <tt>1</tt>. + * </dd> + * <dt> + * bool <var>is_current</var> + * </dt> + * <dd> + * <tt>true</tt> means that this asset is selected by client, <tt>false</tt> - otherwise. + * </dd> + * <dt> + * string <var>k_resource</var> + * </dt> + * <dd> + * The key of the asset in database. + * + * </dd> + * <dt> + * string <var>s_resource</var> + * </dt> + * <dd> + * The title of the asset. + * </dd> + * </dl> + * </dd> + * <dt> + * bool <var>has_current</var> + * </dt> + * <dd> + * <tt>true</tt> - has current resource in the list of available assets; <tt>false</tt> - otherwise. + * </dd> + * <dt> + * bool <var>is_client_select</var> + * </dt> + * <dd> + * <tt>true</tt> - the client selected the resource from the current group; <tt>false</tt> otherwise. + * </dd> + * <dt> + * bool <var>is_select</var> + * </dt> + * <dd> + * <tt>true</tt> - has selected resources; <tt>false</tt> - otherwise. + * </dd> + * <dt> + * bool <var>is_share</var> + * </dt> + * <dd> + * <tt>true</tt> resources in this category don't belong to certain users, but to the entire session. + * <tt>false</tt> belong to specific users. + * </dd> + * <dt> + * string <var>k_resource_layout</var> + * </dt> + * <dd> + * The key of the asset layout. + * </dd> + * <dt> + * string <var>k_resource_type</var> + * </dt> + * <dd> + * The key of the asset category. + * </dd> + * <dt> + * string <var>s_resource_type</var> + * </dt> + * <dd> + * The title of the asset category. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_resource_all = []; + + /** + * The selected assets. Every element has the next keys: + * <dl> + * <dt>int <var>i_index</var></dt> + * <dd>The asset number. Applies only for assets with a quantity greater than <tt>1</tt>.</dd> + * <dt>string <var>k_resource</var></dt> + * <dd>The asset key.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_resource_select = []; + + /** + * The selected sessions. + * Not empty only for session mode. + * + * Keys refer to class period keys. + * And values refer to a list of the dates/times when the session occurred (returned in MySQL format and in GMT). + * + * @get get + * @post get + * @var array + */ + public $a_session = []; + + /** + * The selected sessions on the wait list that are unpaid. + * + * Keys refer to session IDs. + * And values refer to index arrays of dates/times when the session occurred (returned in MySQL format and in GMT). + * + * @post post + * @var array + */ + public $a_session_wait_list_unpaid = []; + + /** + * The keys of the bookings that have been made. + * Not empty only if session(s) was booked on this step. + * + * @post result + * @var string[] + */ + public $a_visit = []; + + /** + * Determines whether the class/event can be booked at this step or not. + * This is an external process control flag. + * + * @post post + * @var bool + */ + public $can_book = true; + + /** + * Date/time to which session is booked. + * + * @get get + * @post get + * @var string + */ + public $dt_date_gmt = ''; + + /** + * The mode type. One of the {@link ModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * `true` if user pressed 'Pay later'. + * `false` if user pressed 'Pay now'. + * + * @post post + * @var bool + */ + public $is_force_pay_later = false; + + /** + * `true` - the next steps of the booking wizard are required (for example, to purchase something to book the selected session). + * `false` - no further booking steps are required. + * + * @post result + * @var bool + */ + public $is_next = false; + + /** + * Selected sessions. + * Not empty only for session mode. + * + * Fields - IDs of sessions in database. + * Values - arrays of date/time when session is occurred. In MySQL format. In GMT. + * + * Serialized with JSON. + * + * @get get + * @post get + * @var string + */ + public $json_session = ''; + + /** + * Key of session which is booked. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * Login promotion to be used to book a class. + * + * @post post + * @var string + */ + public $k_login_promotion = ''; + + /** + * Session pass to be used to book a class. + * + * @post post + * @var string + */ + public $k_session_pass = ''; + + /** + * Key of a user who is making a book. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/doc/Questions.md b/WellnessLiving/Wl/Book/Process/doc/Questions.md index 78c81485..e7c171d0 100644 --- a/WellnessLiving/Wl/Book/Process/doc/Questions.md +++ b/WellnessLiving/Wl/Book/Process/doc/Questions.md @@ -1,7 +1,7 @@ -# Question -I have an event with purchase rule "Clients can pay online or pay when they visit". -I POST anny model in module `Wl\Book\Process` to book event without payment. -I get error "You can not book this class without payment". -How can I book an event without payment? -# Answer +# Question +I have an event with purchase rule "Clients can pay online or pay when they visit". +I POST anny model in module `Wl\Book\Process` to book event without payment. +I get error "You can not book this class without payment". +How can I book an event without payment? +# Answer You have to set `is_force_pay_later` field of your model to `true`. \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Account/BusinessAccountModel.php b/WellnessLiving/Wl/Business/Account/BusinessAccountModel.php index 9f66143d..bf39ffb3 100644 --- a/WellnessLiving/Wl/Business/Account/BusinessAccountModel.php +++ b/WellnessLiving/Wl/Business/Account/BusinessAccountModel.php @@ -1,43 +1,43 @@ -<?php - -namespace WellnessLiving\Wl\Business\Account; - -use WellnessLiving\WlModelAbstract; - -/** - * Gets a list of active businesses. - * - * To run this endpoint, a user must be authorized with the `rs.business.view` privilege. - */ -class BusinessAccountModel extends WlModelAbstract -{ - /** - * A list of business keys. - * - * @get result - * @var string[] - */ - public $a_business_keys = []; - - /** - * `true` returns WellnessLiving customers. - * - * `false` returns prospects. - * - * Test and churned businesses are never returned. - * - * @get get - * @var bool - */ - public $is_prospects = false; - - /** - * Specifies if only businesses having published locations should be returned. - * - * @get get - * @var bool - */ - public $is_published = false; -} - +<?php + +namespace WellnessLiving\Wl\Business\Account; + +use WellnessLiving\WlModelAbstract; + +/** + * Gets a list of active businesses. + * + * To run this endpoint, a user must be authorized with the `rs.business.view` privilege. + */ +class BusinessAccountModel extends WlModelAbstract +{ + /** + * A list of business keys. + * + * @get result + * @var string[] + */ + public $a_business_keys = []; + + /** + * `true` returns WellnessLiving customers. + * + * `false` returns prospects. + * + * Test and churned businesses are never returned. + * + * @get get + * @var bool + */ + public $is_prospects = false; + + /** + * Specifies if only businesses having published locations should be returned. + * + * @get get + * @var bool + */ + public $is_published = false; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/AmazonRegion/AmazonRegionModel.php b/WellnessLiving/Wl/Business/AmazonRegion/AmazonRegionModel.php index b1cf5edf..04ed70ef 100644 --- a/WellnessLiving/Wl/Business/AmazonRegion/AmazonRegionModel.php +++ b/WellnessLiving/Wl/Business/AmazonRegion/AmazonRegionModel.php @@ -1,34 +1,34 @@ -<?php - -namespace WellnessLiving\Wl\Business\AmazonRegion; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlRegionSid; - -/** - * An endpoint for retrieve region ID for businesses. - */ -class AmazonRegionModel extends WlModelAbstract -{ - /** - * List of business key. - * - * @get get - * @var string[] - */ - public $a_business = []; - - /** - * List of region IDs for {@link AmazonRegionModel::$a_business}. - * - * Key - is business key. - * Value - is region ID. One of {@link WlRegionSid} constants. - * `0` if this business is form an unknown region. - * - * @get result - * @var int[] - */ - public $a_business_region; -} - +<?php + +namespace WellnessLiving\Wl\Business\AmazonRegion; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlRegionSid; + +/** + * An endpoint for retrieve region ID for businesses. + */ +class AmazonRegionModel extends WlModelAbstract +{ + /** + * List of business key. + * + * @get get + * @var string[] + */ + public $a_business = []; + + /** + * List of region IDs for {@link AmazonRegionModel::$a_business}. + * + * Key - is business key. + * Value - is region ID. One of {@link WlRegionSid} constants. + * `0` if this business is form an unknown region. + * + * @get result + * @var int[] + */ + public $a_business_region; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/BusinessAccessModel.php b/WellnessLiving/Wl/Business/BusinessAccessModel.php index 52691ce6..cad63d5e 100644 --- a/WellnessLiving/Wl/Business/BusinessAccessModel.php +++ b/WellnessLiving/Wl/Business/BusinessAccessModel.php @@ -1,112 +1,112 @@ -<?php - -namespace WellnessLiving\Wl\Business; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlRegionSid; - -/** - * Returns information about a given staff member's business. - */ -class BusinessAccessModel extends WlModelAbstract -{ - /** - * The businesses the staff member belongs to. - * Note that this field is here for backwards compatibility. - * - * @get result - * @var string[] - */ - public $a_business = []; - - /** - * The list of accessible businesses with their corresponding data. Each value is an array with the next structure: - * <dl> - * <dt>int <var>id_region</var></dt> - * <dd>The business region. One of the {@link WlRegionSid} constants. This will be `null` if no regions are currently set.</dd> - * <dt>string <var>k_business</var></dt> - * <dd>The business key.</dd> - * <dt>string <var>text_office_address</var></dt> - * <dd>The business address.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The business title.</dd> - * <dt>string <var>url_logo</var></dt> - * <dd>The business logo URL. This will be empty if the business hasn't added a logo.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_business_data = []; - - /** - * This will be `true` if the API is being used from the backend. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $is_backend = true; - - /** - * The staff member's Facebook ID. This won't be empty if the staff member is logging in with Facebook. - * This will be empty if the UID is already known or the staff member is logging in another way. - * - * @get get - * @var string - */ - public $s_facebook_id = ''; - - /** - * The staff member's Microsoft key. - * This won't be empty if the staff member is logging in with Microsoft. - * - * @get get - * @var string - */ - public $s_microsoft_id = ''; - - /** - * The staff member's Apple authorization code. This won't be empty if the staff member is logging in with Apple. - * This will be empty if the UID is already known or the staff member is logging in another way. - * - * @get get - * @var string - */ - public $text_authorization_apple = ''; - - /** - * The Google Plus user ID. This won't be empty if the staff member is logging in with Google. - * This will be empty if the UID is already known or the staff member is logging in another way. - * - * @get get - * @var string - */ - public $text_google_plus = ''; - - /** - * The staff member's email to determine their UID. This won't be empty if the staff member is logging in with email or with Google. - * This will be empty if the UID is already known or the staff member is logging in another way. - * - * @get get - * @var string - */ - public $text_mail = ''; - - /** - * User key. Empty if user is not logged in, but their authorization data is known. - * - * @get get - * @var string - */ - public $uid = ''; - - /** - * The staff member key, determined by their email. This will be empty if the UID isn't empty. - * - * @get result - * @var string - */ - public $uid_mail = ''; -} - +<?php + +namespace WellnessLiving\Wl\Business; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlRegionSid; + +/** + * Returns information about a given staff member's business. + */ +class BusinessAccessModel extends WlModelAbstract +{ + /** + * The businesses the staff member belongs to. + * Note that this field is here for backwards compatibility. + * + * @get result + * @var string[] + */ + public $a_business = []; + + /** + * The list of accessible businesses with their corresponding data. Each value is an array with the next structure: + * <dl> + * <dt>int <var>id_region</var></dt> + * <dd>The business region. One of the {@link WlRegionSid} constants. This will be `null` if no regions are currently set.</dd> + * <dt>string <var>k_business</var></dt> + * <dd>The business key.</dd> + * <dt>string <var>text_office_address</var></dt> + * <dd>The business address.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The business title.</dd> + * <dt>string <var>url_logo</var></dt> + * <dd>The business logo URL. This will be empty if the business hasn't added a logo.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_business_data = []; + + /** + * This will be `true` if the API is being used from the backend. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_backend = true; + + /** + * The staff member's Facebook ID. This won't be empty if the staff member is logging in with Facebook. + * This will be empty if the UID is already known or the staff member is logging in another way. + * + * @get get + * @var string + */ + public $s_facebook_id = ''; + + /** + * The staff member's Microsoft key. + * This won't be empty if the staff member is logging in with Microsoft. + * + * @get get + * @var string + */ + public $s_microsoft_id = ''; + + /** + * The staff member's Apple authorization code. This won't be empty if the staff member is logging in with Apple. + * This will be empty if the UID is already known or the staff member is logging in another way. + * + * @get get + * @var string + */ + public $text_authorization_apple = ''; + + /** + * The Google Plus user ID. This won't be empty if the staff member is logging in with Google. + * This will be empty if the UID is already known or the staff member is logging in another way. + * + * @get get + * @var string + */ + public $text_google_plus = ''; + + /** + * The staff member's email to determine their UID. This won't be empty if the staff member is logging in with email or with Google. + * This will be empty if the UID is already known or the staff member is logging in another way. + * + * @get get + * @var string + */ + public $text_mail = ''; + + /** + * User key. Empty if user is not logged in, but their authorization data is known. + * + * @get get + * @var string + */ + public $uid = ''; + + /** + * The staff member key, determined by their email. This will be empty if the UID isn't empty. + * + * @get result + * @var string + */ + public $uid_mail = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/BusinessCategorySid.php b/WellnessLiving/Wl/Business/BusinessCategorySid.php index 7d6f92e8..cae33d1a 100644 --- a/WellnessLiving/Wl/Business/BusinessCategorySid.php +++ b/WellnessLiving/Wl/Business/BusinessCategorySid.php @@ -1,43 +1,43 @@ -<?php - -namespace WellnessLiving\Wl\Business; - -/** - * A list of client booking flow types. - * - * Last ID: 6. - */ -abstract class BusinessCategorySid -{ - /** - * Dental businesses. - */ - const DENTIST = 4; - - /** - * Complementary and alternative medicine. - */ - const MEDICINE_ALTERNATIVE = 5; - - /** - * Traditional medicine - */ - const MEDICINE_CLASSIC = 3; - - /** - * Musician schools. - */ - const MUSIC = 6; - - /** - * Spa saloons. - */ - const SPA = 2; - - /** - * Yoga and Fitness studios and gyms. - */ - const SPORT = 1; -} - +<?php + +namespace WellnessLiving\Wl\Business; + +/** + * A list of client booking flow types. + * + * Last ID: 6. + */ +abstract class BusinessCategorySid +{ + /** + * Dental businesses. + */ + const DENTIST = 4; + + /** + * Complementary and alternative medicine. + */ + const MEDICINE_ALTERNATIVE = 5; + + /** + * Traditional medicine + */ + const MEDICINE_CLASSIC = 3; + + /** + * Musician schools. + */ + const MUSIC = 6; + + /** + * Spa saloons. + */ + const SPA = 2; + + /** + * Yoga and Fitness studios and gyms. + */ + const SPORT = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/BusinessModel.php b/WellnessLiving/Wl/Business/BusinessModel.php index 1869f2e9..5a5c6825 100644 --- a/WellnessLiving/Wl/Business/BusinessModel.php +++ b/WellnessLiving/Wl/Business/BusinessModel.php @@ -1,79 +1,79 @@ -<?php - -namespace WellnessLiving\Wl\Business; - -use WellnessLiving\Core\Locale\LocaleSid; -use WellnessLiving\WlModelAbstract; - -/** - * Creates a new business. - */ -class BusinessModel extends WlModelAbstract -{ - /** - * The business locale. - * - * @post post - * @var int - * @see LocaleSid - */ - public $id_locale; - - /** - * The key of the created business. - * - * @post result - * @var string - */ - public $k_business; - - /** - * The key of the business type. - * - * @post post - * @var string - */ - public $k_business_type; - - /** - * The city key of the business. - * - * @post post - * @var string - */ - public $k_office_city; - - /** - * The address of the business. - * - * @post post - * @var string - */ - public $text_office_address; - - /** - * The postal code of the business. - * - * @post post - * @var string - */ - public $text_office_postal; - - /** - * The phone number of the business. - * - * @post post - * @var string - */ - public $text_phone; - - /** - * The title of the business. - * - * @post post - * @var string - */ - public $text_title; -} - +<?php + +namespace WellnessLiving\Wl\Business; + +use WellnessLiving\Core\Locale\LocaleSid; +use WellnessLiving\WlModelAbstract; + +/** + * Creates a new business. + */ +class BusinessModel extends WlModelAbstract +{ + /** + * The business locale. + * + * @post post + * @var int + * @see LocaleSid + */ + public $id_locale; + + /** + * The key of the created business. + * + * @post result + * @var string + */ + public $k_business; + + /** + * The key of the business type. + * + * @post post + * @var string + */ + public $k_business_type; + + /** + * The city key of the business. + * + * @post post + * @var string + */ + public $k_office_city; + + /** + * The address of the business. + * + * @post post + * @var string + */ + public $text_office_address; + + /** + * The postal code of the business. + * + * @post post + * @var string + */ + public $text_office_postal; + + /** + * The phone number of the business. + * + * @post post + * @var string + */ + public $text_phone; + + /** + * The title of the business. + * + * @post post + * @var string + */ + public $text_title; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/BusinessPaymentCaptcha.php b/WellnessLiving/Wl/Business/BusinessPaymentCaptcha.php index 6cdfb8ef..e2640230 100644 --- a/WellnessLiving/Wl/Business/BusinessPaymentCaptcha.php +++ b/WellnessLiving/Wl/Business/BusinessPaymentCaptcha.php @@ -1,16 +1,16 @@ -<?php - -namespace WellnessLiving\Wl\Business; - -/** - * Captcha for payment action. - */ -class BusinessPaymentCaptcha -{ - /** - * CID of this class. - */ - const CID = 1064; -} - +<?php + +namespace WellnessLiving\Wl\Business; + +/** + * Captcha for payment action. + */ +class BusinessPaymentCaptcha +{ + /** + * CID of this class. + */ + const CID = 1064; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Config/BusinessConfigModel.php b/WellnessLiving/Wl/Business/Config/BusinessConfigModel.php index 483c6aa0..8ad58634 100644 --- a/WellnessLiving/Wl/Business/Config/BusinessConfigModel.php +++ b/WellnessLiving/Wl/Business/Config/BusinessConfigModel.php @@ -1,104 +1,104 @@ -<?php - -namespace WellnessLiving\Wl\Business\Config; - -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlServiceSid; - -/** - * Manages business configurations for clients, bookings, payments, and related things. - */ -class BusinessConfigModel extends WlModelAbstract -{ - /** - * All business policies connected to clients and bookings. - * - * <dl> - * <dt>int <var>a_wait_service</var></dt> - * <dd>The keys are listed as IDs from {@link WlServiceSid}, and values are flags outlining whether wait listing is allowed.</dd> - * <dt>int <var>i_book_before</var></dt> - * <dd>The minimum hours|days|months before a class can be booked.</dd> - * <dt>int <var>i_book_future</var></dt> - * <dd>The maximum hours|days|months after a class can be booked.</dd> - * <dt>int <var>i_cancel</var></dt> - * <dd>The minimum hours|days|months before a class can be canceled without penalty.</dd> - * <dt>int <var>i_promote</var></dt> - * <dd>The minimum hours|days|months before a class can be promoted from a wait list.</dd> - * <dt>int <var>i_reattempt_count</var></dt> - * <dd>The number of failed auto-payment reattempts.</dd> - * <dt>int <var>id_book_before</var></dt> - * <dd>The hours|days|months from {@link ADurationSid}.</dd> - * <dt>int <var>id_book_future</var></dt> - * <dd>The hours|days|months from {@link ADurationSid}.</dd> - * <dt>int <var>id_cancel</var></dt> - * <dd>The hours|days|months from {@link ADurationSid}.</dd> - * <dt>int <var>id_promote</var></dt> - * <dd>The hours|days|months from {@link ADurationSid}.</dd> - * <dt>bool <var>is_book_inside_active_pay_period</var></dt> - * <dd> - * `true` - clients with Purchase Options are only allowed to book sessions within their current paid period.<br> - * `false` - clients with Purchase Options are only allowed to book sessions during the Purchase Option's duration. - * </dd> - * <dt>int <var>is_disable_promotion</var></dt> - * <dd> - * If `true`, a client's automatic payment fails, their account shouldn't be debited, and their Purchase Option becomes inactive. - * Otherwise, this will be `false` (the default value). - * </dd> - * <dt>bool <var>is_enable_payment_penalty</var></dt> - * <dd>Determines whether to charge a penalty after the final auto-payment attempt.</dd> - * <dt>bool <var>is_enable_payment_reattempt</var></dt> - * <dd>Determines whether to reattempt failed auto-payments.</dd> - * <dt>bool <var>is_enable_staff_ip_restriction</var></dt> - * <dd>Determines whether to restrict which IP addresses staff can login from.</dd> - * <dt>int <var>is_prevent_booking</var></dt> - * <dd>If `true`, booking for a client with negative balance is disabled. Otherwise, this will be `false` (the default value).</dd> - * <dt>bool <var>is_staff_restrict</var></dt> - * <dd>If true, clients can't choose a provider in the appointment wizard. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_wait</var></dt> - * <dd>Determines whether to enable or disable the wait list.</dd> - * <dt>int <var>k_currency</var></dt> - * <dd>The currency.</dd> - * <dt>int <var>k_timezone</var></dt> - * <dd>The time zone.</dd> - * <dt>string <var>m_payment_penalty</var></dt> - * <dd>The penalty amount to charge after the final auto-payment attempt.</dd> - * <dt>string <var>url_custom</var></dt> - * <dd>The custom URL from Business URLs.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_business_policy; - - /** - * Determines whether staff members should select a location at checkout. - * - * If `true`, staff members should select a location at checkout. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_location_select; - - /** - * Determines whether the business has white label setting enabled in the admin settings. - * - * If `true`, admin settings are enabled. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_white_label = false; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Business\Config; + +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlServiceSid; + +/** + * Manages business configurations for clients, bookings, payments, and related things. + */ +class BusinessConfigModel extends WlModelAbstract +{ + /** + * All business policies connected to clients and bookings. + * + * <dl> + * <dt>int <var>a_wait_service</var></dt> + * <dd>The keys are listed as IDs from {@link WlServiceSid}, and values are flags outlining whether wait listing is allowed.</dd> + * <dt>int <var>i_book_before</var></dt> + * <dd>The minimum hours|days|months before a class can be booked.</dd> + * <dt>int <var>i_book_future</var></dt> + * <dd>The maximum hours|days|months after a class can be booked.</dd> + * <dt>int <var>i_cancel</var></dt> + * <dd>The minimum hours|days|months before a class can be canceled without penalty.</dd> + * <dt>int <var>i_promote</var></dt> + * <dd>The minimum hours|days|months before a class can be promoted from a wait list.</dd> + * <dt>int <var>i_reattempt_count</var></dt> + * <dd>The number of failed auto-payment reattempts.</dd> + * <dt>int <var>id_book_before</var></dt> + * <dd>The hours|days|months from {@link ADurationSid}.</dd> + * <dt>int <var>id_book_future</var></dt> + * <dd>The hours|days|months from {@link ADurationSid}.</dd> + * <dt>int <var>id_cancel</var></dt> + * <dd>The hours|days|months from {@link ADurationSid}.</dd> + * <dt>int <var>id_promote</var></dt> + * <dd>The hours|days|months from {@link ADurationSid}.</dd> + * <dt>bool <var>is_book_inside_active_pay_period</var></dt> + * <dd> + * `true` - clients with Purchase Options are only allowed to book sessions within their current paid period.<br> + * `false` - clients with Purchase Options are only allowed to book sessions during the Purchase Option's duration. + * </dd> + * <dt>int <var>is_disable_promotion</var></dt> + * <dd> + * If `true`, a client's automatic payment fails, their account shouldn't be debited, and their Purchase Option becomes inactive. + * Otherwise, this will be `false` (the default value). + * </dd> + * <dt>bool <var>is_enable_payment_penalty</var></dt> + * <dd>Determines whether to charge a penalty after the final auto-payment attempt.</dd> + * <dt>bool <var>is_enable_payment_reattempt</var></dt> + * <dd>Determines whether to reattempt failed auto-payments.</dd> + * <dt>bool <var>is_enable_staff_ip_restriction</var></dt> + * <dd>Determines whether to restrict which IP addresses staff can login from.</dd> + * <dt>int <var>is_prevent_booking</var></dt> + * <dd>If `true`, booking for a client with negative balance is disabled. Otherwise, this will be `false` (the default value).</dd> + * <dt>bool <var>is_staff_restrict</var></dt> + * <dd>If true, clients can't choose a provider in the appointment wizard. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_wait</var></dt> + * <dd>Determines whether to enable or disable the wait list.</dd> + * <dt>int <var>k_currency</var></dt> + * <dd>The currency.</dd> + * <dt>int <var>k_timezone</var></dt> + * <dd>The time zone.</dd> + * <dt>string <var>m_payment_penalty</var></dt> + * <dd>The penalty amount to charge after the final auto-payment attempt.</dd> + * <dt>string <var>url_custom</var></dt> + * <dd>The custom URL from Business URLs.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_business_policy; + + /** + * Determines whether staff members should select a location at checkout. + * + * If `true`, staff members should select a location at checkout. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_location_select; + + /** + * Determines whether the business has white label setting enabled in the admin settings. + * + * If `true`, admin settings are enabled. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_white_label = false; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/DataModel.php b/WellnessLiving/Wl/Business/DataModel.php index 676983b7..dc89269b 100644 --- a/WellnessLiving/Wl/Business/DataModel.php +++ b/WellnessLiving/Wl/Business/DataModel.php @@ -1,336 +1,336 @@ -<?php - -namespace WellnessLiving\Wl\Business; - -use WellnessLiving\Core\Locale\CurrencySid; -use WellnessLiving\Core\Locale\LocaleSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Service\ServiceSid; -use WellnessLiving\Wl\WlRankTypeSid; -use WellnessLiving\Wl\WlRegionSid; - -/** - * Displays information for a specified business. - */ -class DataModel extends WlModelAbstract -{ - /** - * A list of all business services and their availability data. - * This is presented as an array, where keys are SIDs from {@link ServiceSid} and values are Boolean. - * If `true`, at least one service is enabled in the business. Otherwise, this will be `false`. - * - * @get result - * @var array - */ - public $a_service_list; - - /** - * The list of predefined tips in percentages. - * - * @get result - * @var float[] - */ - public $a_tip_predefine; - - /** - * The maximum height of the business image (in pixels). - * - * @get get - * @var int - */ - public $i_logo_height = 100; - - /** - * The maximum width of the business image (in pixels). - * - * @get get - * @var int - */ - public $i_logo_width = 220; - - /** - * The business category ID of the business. - * - * @get result - * @var int - * @see BusinessCategorySid - */ - public $id_category; - - /** - * The currency ID of the given business (or the system currency ID if the business didn't pass). - * - * @get result - * @var int - * @see CurrencySid - */ - public $id_currency; - - /** - * The Locale ID, used to search geo items. - * - * @get result - * @var int - * @see LocaleSid - */ - public $id_locale; - - /** - * The rank type ID of the business. - * - * One of the {@link WlRankTypeSid} constants. - * - * This will be `null` if the business doesn't have a rank type. - * - * @get result - * @var int|null - */ - public $id_rank_type; - - /** - * The region ID. This indicates the data center where the information about the business is stored. - * One of the {@link WlRegionSid} constants. - * - * Requests made to different regions can lead to known issues such as responses indicating that the - * business (or its elements) doesn't exist. This is because databases on different data centers are - * independent. For example, performing a request to the US cluster for a list of classes for an AU - * cluster business will return an empty list. - * - * @get result - * @var int - */ - public $id_region; - - /** - * Determines whether surcharges to client payments are enabled in the business. - * - * @get result - * @var bool - */ - public $is_apply_surcharge = false; - - /** - * `true` if business is a franchisor or franchisee. - * - * @get result - * @var bool - */ - public $is_franchise = false; - - /** - * Determines whether the business has multiple locations (including inactive locations). - * - * @get result - * @var bool - */ - public $is_location_multiple; - - /** - * `true` - clients of the business can select a custom time zone in their profile. - * - * `false` - the location or business time zone is used. - * - * @get result - * @var bool - */ - public $is_profile_timezone; - - /** - * If `true`, clients can enter the progress log. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_progress_client; - - /** - * If `true`, verification of the progress log by a staff member is required. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_progress_verify; - - /** - * Determines whether quizzes are available in the business. - * - * @get result - * @var bool - */ - public $is_quiz_available = false; - - /** - * If `true`, tips are available in the business. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_tip; - - /** - * If `true`, the business has the "No tip" option displayed. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_tip_deny; - - /** - * If `true`, the client must sign after selecting the tip. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_tip_sign; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The franchisor business key. This will be empty if this business is the franchisor or not in a franchise. - * - * @get result - * @var string - */ - public $k_business_franchisor = ''; - - /** - * The business key obtained by the security token {@link DataModel::$text_token}. - * This can be used on the client side if authorization token should be used instead of the business key - * (the business key isn't available). - * - * @get result - * @var string - */ - public $k_business_token; - - /** - * The currency key of the given business, or the system currency if the business didn't pass. - * - * @get result - * @var string - * @deprecated Use {@link DataModel::$id_currency} instead. - */ - public $k_currency; - - /** - * The reply-to email address. - * - * @get result - * @var string - */ - public $s_reply_mail; - - /** - * The reply-to business name. - * - * @get result - * @var string - */ - public $s_reply_name; - - /** - * The business address. - * - * @get result - * @var string - */ - public $text_office_address; - - /** - * The business title. - * - * @get result - * @var string - */ - public $text_title; - - /** - * The authorization token. - * This may be used instead of {@link DataModel::$k_business} to - * identify a business. - * - * @get get - * @var string - */ - public $text_token = ''; - - /** - * The Facebook page. - * - * @get result - * @var string - */ - public $url_facebook; - - /** - * The Google+ page. - * - * @get result - * @var string - */ - public $url_google; - - /** - * The Instagram page. - * - * @get result - * @var string - */ - public $url_instagram = ''; - - /** - * The `LinkedIn` profile. - * - * @get result - * @var string - */ - public $url_linkedin = ''; - - /** - * The logo URL. - * - * @get result - * @var string - */ - public $url_logo; - - /** - * The image stub (in cases where the business logo isn't loaded). - * - * @get result - * @var string - */ - public $url_logo_empty; - - /** - * The Twitter page. - * - * @get result - * @var string - */ - public $url_twitter; - - /** - * The business website. - * - * @get result - * @var string - */ - public $url_website; - - /** - * The YouTube website. - * - * @get result - * @var string - */ - public $url_youtube = ''; -} - +<?php + +namespace WellnessLiving\Wl\Business; + +use WellnessLiving\Core\Locale\CurrencySid; +use WellnessLiving\Core\Locale\LocaleSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Service\ServiceSid; +use WellnessLiving\Wl\WlRankTypeSid; +use WellnessLiving\Wl\WlRegionSid; + +/** + * Displays information for a specified business. + */ +class DataModel extends WlModelAbstract +{ + /** + * A list of all business services and their availability data. + * This is presented as an array, where keys are SIDs from {@link ServiceSid} and values are Boolean. + * If `true`, at least one service is enabled in the business. Otherwise, this will be `false`. + * + * @get result + * @var array + */ + public $a_service_list; + + /** + * The list of predefined tips in percentages. + * + * @get result + * @var float[] + */ + public $a_tip_predefine; + + /** + * The maximum height of the business image (in pixels). + * + * @get get + * @var int + */ + public $i_logo_height = 100; + + /** + * The maximum width of the business image (in pixels). + * + * @get get + * @var int + */ + public $i_logo_width = 220; + + /** + * The business category ID of the business. + * + * @get result + * @var int + * @see BusinessCategorySid + */ + public $id_category; + + /** + * The currency ID of the given business (or the system currency ID if the business didn't pass). + * + * @get result + * @var int + * @see CurrencySid + */ + public $id_currency; + + /** + * The Locale ID, used to search geo items. + * + * @get result + * @var int + * @see LocaleSid + */ + public $id_locale; + + /** + * The rank type ID of the business. + * + * One of the {@link WlRankTypeSid} constants. + * + * This will be `null` if the business doesn't have a rank type. + * + * @get result + * @var int|null + */ + public $id_rank_type; + + /** + * The region ID. This indicates the data center where the information about the business is stored. + * One of the {@link WlRegionSid} constants. + * + * Requests made to different regions can lead to known issues such as responses indicating that the + * business (or its elements) doesn't exist. This is because databases on different data centers are + * independent. For example, performing a request to the US cluster for a list of classes for an AU + * cluster business will return an empty list. + * + * @get result + * @var int + */ + public $id_region; + + /** + * Determines whether surcharges to client payments are enabled in the business. + * + * @get result + * @var bool + */ + public $is_apply_surcharge = false; + + /** + * `true` if business is a franchisor or franchisee. + * + * @get result + * @var bool + */ + public $is_franchise = false; + + /** + * Determines whether the business has multiple locations (including inactive locations). + * + * @get result + * @var bool + */ + public $is_location_multiple; + + /** + * `true` - clients of the business can select a custom time zone in their profile. + * + * `false` - the location or business time zone is used. + * + * @get result + * @var bool + */ + public $is_profile_timezone; + + /** + * If `true`, clients can enter the progress log. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_progress_client; + + /** + * If `true`, verification of the progress log by a staff member is required. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_progress_verify; + + /** + * Determines whether quizzes are available in the business. + * + * @get result + * @var bool + */ + public $is_quiz_available = false; + + /** + * If `true`, tips are available in the business. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_tip; + + /** + * If `true`, the business has the "No tip" option displayed. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_tip_deny; + + /** + * If `true`, the client must sign after selecting the tip. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_tip_sign; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The franchisor business key. This will be empty if this business is the franchisor or not in a franchise. + * + * @get result + * @var string + */ + public $k_business_franchisor = ''; + + /** + * The business key obtained by the security token {@link DataModel::$text_token}. + * This can be used on the client side if authorization token should be used instead of the business key + * (the business key isn't available). + * + * @get result + * @var string + */ + public $k_business_token; + + /** + * The currency key of the given business, or the system currency if the business didn't pass. + * + * @get result + * @var string + * @deprecated Use {@link DataModel::$id_currency} instead. + */ + public $k_currency; + + /** + * The reply-to email address. + * + * @get result + * @var string + */ + public $s_reply_mail; + + /** + * The reply-to business name. + * + * @get result + * @var string + */ + public $s_reply_name; + + /** + * The business address. + * + * @get result + * @var string + */ + public $text_office_address; + + /** + * The business title. + * + * @get result + * @var string + */ + public $text_title; + + /** + * The authorization token. + * This may be used instead of {@link DataModel::$k_business} to + * identify a business. + * + * @get get + * @var string + */ + public $text_token = ''; + + /** + * The Facebook page. + * + * @get result + * @var string + */ + public $url_facebook; + + /** + * The Google+ page. + * + * @get result + * @var string + */ + public $url_google; + + /** + * The Instagram page. + * + * @get result + * @var string + */ + public $url_instagram = ''; + + /** + * The `LinkedIn` profile. + * + * @get result + * @var string + */ + public $url_linkedin = ''; + + /** + * The logo URL. + * + * @get result + * @var string + */ + public $url_logo; + + /** + * The image stub (in cases where the business logo isn't loaded). + * + * @get result + * @var string + */ + public $url_logo_empty; + + /** + * The Twitter page. + * + * @get result + * @var string + */ + public $url_twitter; + + /** + * The business website. + * + * @get result + * @var string + */ + public $url_website; + + /** + * The YouTube website. + * + * @get result + * @var string + */ + public $url_youtube = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php b/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php index 0424e080..52d0e548 100644 --- a/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php +++ b/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php @@ -1,80 +1,80 @@ -<?php - -namespace WellnessLiving\Wl\Business\Design; - -use WellnessLiving\WlModelAbstract; - -/** - * Provides business design information. - */ -class BusinessDesignModel extends WlModelAbstract -{ - /** - * Design data for a business. - * - * Contains the following keys: - * - * <dl> - * <dt>int <var>id_layout</var></dt> - * <dd>Layout ID. For more details, see {@link RsPageFrontendHeaderLayoutSid}.</dd> - * <dt>int <var>id_logo_position</var></dt> - * <dd>Logo position ID. For more details, see {@link RsBusinessDesignLogoPositionSid}.</dd> - * <dt>int <var>id_logo_style</var></dt> - * <dd>Logo style ID. For more details, see {@link RsBusinessDesignLogoStyleSid}.</dd> - * <dt>bool <var>is_attend_self</var></dt> - * <dd>If <tt>true</tt> clients can check-in using the Client Web App and Achieve Web App.</dd> - * <dt>bool <var>is_class_capacity</var></dt> - * <dd>If <tt>true</tt> the capacity and number of clients signed up will be shown.</dd> - * <dt>bool <var>is_class_quick</var></dt> - * <dd>If <tt>true</tt>, the quick class filter will be shown.</dd> - * <dt>bool <var>is_show_name</var></dt> - * <dd>If <tt>true</tt>, the business name will be shown.</dd> - * <dt>string <var>s_color_background</var></dt> - * <dd>Background color of frontend.</dd> - * <dt>string <var>s_color_header</var></dt> - * <dd>Header color of frontend menu.</dd> - * <dt>string <var>s_color_menu_border</var></dt> - * <dd>Border color of frontend menu.</dd> - * <dt>string <var>s_color_menu_element</var></dt> - * <dd>Menu element color</dd> - * <dt>string <var>s_color_menu_hover</var></dt> - * <dd>Hover colour of front end menu.</dd> - * <dt>string <var>s_color_menu_hover_background</var></dt> - * <dd>Background hover color of front end menu.</dd> - * <dt>string <var>s_color_menu_press</var></dt> - * <dd>Press colour of front end menu.</dd> - * <dt>string <var>s_color_submenu</var></dt> - * <dd>Submenu colour of front end menu.</dd> - * <dt>string <var>s_color_submenu_element</var></dt> - * <dd>Submenu element color of front end menu.</dd> - * <dt>string <var>s_color_submenu_hover</var></dt> - * <dd>Hover color of submenu of front end menu</dd> - * <dt>string <var>s_color_submenu_press</var></dt> - * <dd>Press color of submenu in front end menu.</dd> - * <dt>string <var>s_fb_pixel_id</var></dt> - * <dd>Facebook Pixel ID. Used for Facebook analytics tracking. Empty string if tracking is disabled.</dd> - * <dt>string <var>s_ga_tracking_id</var></dt> - * <dd>Google Analytics Tracking ID. Used for Google Analytics tracking. Empty string if tracking is disabled.</dd> - * <dt>string <var>s_gtm_container_id</var></dt> - * <dd>Google Tag Manager Container ID. Used for Google Analytics tracking. Empty string if tracking is disabled.</dd> - * <dt>string <var>s_url_background</var></dt> - * <dd>Path to the background image.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_data; - - /** - * Business key to get design data. - * - * May be <tt>null</tt>. In this case default business design data is returned. - * - * @get get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Business\Design; + +use WellnessLiving\WlModelAbstract; + +/** + * Provides business design information. + */ +class BusinessDesignModel extends WlModelAbstract +{ + /** + * Design data for a business. + * + * Contains the following keys: + * + * <dl> + * <dt>int <var>id_layout</var></dt> + * <dd>Layout ID. For more details, see {@link RsPageFrontendHeaderLayoutSid}.</dd> + * <dt>int <var>id_logo_position</var></dt> + * <dd>Logo position ID. For more details, see {@link RsBusinessDesignLogoPositionSid}.</dd> + * <dt>int <var>id_logo_style</var></dt> + * <dd>Logo style ID. For more details, see {@link RsBusinessDesignLogoStyleSid}.</dd> + * <dt>bool <var>is_attend_self</var></dt> + * <dd>If <tt>true</tt> clients can check-in using the Client Web App and Achieve Web App.</dd> + * <dt>bool <var>is_class_capacity</var></dt> + * <dd>If <tt>true</tt> the capacity and number of clients signed up will be shown.</dd> + * <dt>bool <var>is_class_quick</var></dt> + * <dd>If <tt>true</tt>, the quick class filter will be shown.</dd> + * <dt>bool <var>is_show_name</var></dt> + * <dd>If <tt>true</tt>, the business name will be shown.</dd> + * <dt>string <var>s_color_background</var></dt> + * <dd>Background color of frontend.</dd> + * <dt>string <var>s_color_header</var></dt> + * <dd>Header color of frontend menu.</dd> + * <dt>string <var>s_color_menu_border</var></dt> + * <dd>Border color of frontend menu.</dd> + * <dt>string <var>s_color_menu_element</var></dt> + * <dd>Menu element color</dd> + * <dt>string <var>s_color_menu_hover</var></dt> + * <dd>Hover colour of front end menu.</dd> + * <dt>string <var>s_color_menu_hover_background</var></dt> + * <dd>Background hover color of front end menu.</dd> + * <dt>string <var>s_color_menu_press</var></dt> + * <dd>Press colour of front end menu.</dd> + * <dt>string <var>s_color_submenu</var></dt> + * <dd>Submenu colour of front end menu.</dd> + * <dt>string <var>s_color_submenu_element</var></dt> + * <dd>Submenu element color of front end menu.</dd> + * <dt>string <var>s_color_submenu_hover</var></dt> + * <dd>Hover color of submenu of front end menu</dd> + * <dt>string <var>s_color_submenu_press</var></dt> + * <dd>Press color of submenu in front end menu.</dd> + * <dt>string <var>s_fb_pixel_id</var></dt> + * <dd>Facebook Pixel ID. Used for Facebook analytics tracking. Empty string if tracking is disabled.</dd> + * <dt>string <var>s_ga_tracking_id</var></dt> + * <dd>Google Analytics Tracking ID. Used for Google Analytics tracking. Empty string if tracking is disabled.</dd> + * <dt>string <var>s_gtm_container_id</var></dt> + * <dd>Google Tag Manager Container ID. Used for Google Analytics tracking. Empty string if tracking is disabled.</dd> + * <dt>string <var>s_url_background</var></dt> + * <dd>Path to the background image.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_data; + + /** + * Business key to get design data. + * + * May be <tt>null</tt>. In this case default business design data is returned. + * + * @get get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoPositionSid.php b/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoPositionSid.php index 6c787ac3..5af0d6e9 100644 --- a/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoPositionSid.php +++ b/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoPositionSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl\Business\Design; - -/** - * A position of logo. - */ -class RsBusinessDesignLogoPositionSid -{ - /** - * Logo located in the center. - */ - const CENTER = 2; - - /** - * Logo located on the left side. - */ - const LEFT = 1; - - /** - * Logo located on the right side. - */ - const RIGHT = 3; -} - +<?php + +namespace WellnessLiving\Wl\Business\Design; + +/** + * A position of logo. + */ +class RsBusinessDesignLogoPositionSid +{ + /** + * Logo located in the center. + */ + const CENTER = 2; + + /** + * Logo located on the left side. + */ + const LEFT = 1; + + /** + * Logo located on the right side. + */ + const RIGHT = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoStyleSid.php b/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoStyleSid.php index 487a9e68..97b006f1 100644 --- a/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoStyleSid.php +++ b/WellnessLiving/Wl/Business/Design/RsBusinessDesignLogoStyleSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Business\Design; - -/** - * A style of logo. - */ -class RsBusinessDesignLogoStyleSid -{ - /** - * Logo is invisible. - */ - const HIDE = 1; - - /** - * Logo is a rectangle. - */ - const RECTANGLE = 4; - - /** - * Logo is a round. - */ - const ROUND = 3; - - /** - * Logo is a square. - */ - const SQUARE = 2; -} - +<?php + +namespace WellnessLiving\Wl\Business\Design; + +/** + * A style of logo. + */ +class RsBusinessDesignLogoStyleSid +{ + /** + * Logo is invisible. + */ + const HIDE = 1; + + /** + * Logo is a rectangle. + */ + const RECTANGLE = 4; + + /** + * Logo is a round. + */ + const ROUND = 3; + + /** + * Logo is a square. + */ + const SQUARE = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Design/RsPageFrontendHeaderLayoutSid.php b/WellnessLiving/Wl/Business/Design/RsPageFrontendHeaderLayoutSid.php index a91accca..a14def56 100644 --- a/WellnessLiving/Wl/Business/Design/RsPageFrontendHeaderLayoutSid.php +++ b/WellnessLiving/Wl/Business/Design/RsPageFrontendHeaderLayoutSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Business\Design; - -/** - * List of layouts for client's header. - */ -class RsPageFrontendHeaderLayoutSid -{ - /** - * Logo is under the main menu. - */ - const BOTTOM = 4; - - /** - * Logo is in the left corner. - */ - const LEFT = 1; - - /** - * Logo is in the right corner. - */ - const RIGHT = 2; - - /** - * Logo is above the main menu. - */ - const TOP = 3; -} - +<?php + +namespace WellnessLiving\Wl\Business\Design; + +/** + * List of layouts for client's header. + */ +class RsPageFrontendHeaderLayoutSid +{ + /** + * Logo is under the main menu. + */ + const BOTTOM = 4; + + /** + * Logo is in the left corner. + */ + const LEFT = 1; + + /** + * Logo is in the right corner. + */ + const RIGHT = 2; + + /** + * Logo is above the main menu. + */ + const TOP = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php index ec1b1ef7..c862482b 100644 --- a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php +++ b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php @@ -1,41 +1,41 @@ -<?php - -namespace WellnessLiving\Wl\Business\Franchise\Location; - -/** - * A list tab. - * - * Last used ID: 4. - */ -class BusinessFranchiseLocationFormSid -{ - /** - * The tab country. - * - * @title country - */ - const COUNTRY = 1; - - /** - * The tab location. - * - * @title location - */ - const LOCATION = 2; - - /** - * The tab region. - * - * @title region - */ - const REGION = 3; - - /** - * The tab state/province. - * - * @title state/province - */ - const STATE_PROVINCE = 4; -} - +<?php + +namespace WellnessLiving\Wl\Business\Franchise\Location; + +/** + * A list tab. + * + * Last used ID: 4. + */ +class BusinessFranchiseLocationFormSid +{ + /** + * The tab country. + * + * @title country + */ + const COUNTRY = 1; + + /** + * The tab location. + * + * @title location + */ + const LOCATION = 2; + + /** + * The tab region. + * + * @title region + */ + const REGION = 3; + + /** + * The tab state/province. + * + * @title state/province + */ + const STATE_PROVINCE = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php index 9415c35c..632addc3 100644 --- a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php +++ b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php @@ -1,34 +1,34 @@ -<?php - -namespace WellnessLiving\Wl\Business\Franchise\Location; - -/** - * Types of the location. - * - * Used in the {@link BusinessFranchiseLocationModel}. - */ -class BusinessFranchiseLocationSid -{ - /** - * All locations. - * - * @title All - */ - const ALL = 1; - - /** - * Locations without the region. - * - * @title Without region - */ - const REGION_NO = 2; - - /** - * Location with the region. - * - * @title With region - */ - const REGION_YES = 3; -} - +<?php + +namespace WellnessLiving\Wl\Business\Franchise\Location; + +/** + * Types of the location. + * + * Used in the {@link BusinessFranchiseLocationModel}. + */ +class BusinessFranchiseLocationSid +{ + /** + * All locations. + * + * @title All + */ + const ALL = 1; + + /** + * Locations without the region. + * + * @title Without region + */ + const REGION_NO = 2; + + /** + * Location with the region. + * + * @title With region + */ + const REGION_YES = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Lead/BusinessLeadModel.php b/WellnessLiving/Wl/Business/Lead/BusinessLeadModel.php index c92f054e..764ffe09 100644 --- a/WellnessLiving/Wl/Business/Lead/BusinessLeadModel.php +++ b/WellnessLiving/Wl/Business/Lead/BusinessLeadModel.php @@ -1,69 +1,69 @@ -<?php - -namespace WellnessLiving\Wl\Business\Lead; - -use WellnessLiving\WlModelAbstract; - -/** - * Creates a new business lead request within the Partner Program. - */ -class BusinessLeadModel extends WlModelAbstract -{ - /** - * The business's partner key. - * - * @post post - * @var string - */ - public $k_business_partner; - - /** - * The business's name. - * - * @post post - * @var string - */ - public $text_business_name; - - /** - * The client's full name. - * - * @post post - * @var string - */ - public $text_client_name; - - /** - * The client's email. - * - * @post post - * @var string - */ - public $text_email; - - /** - * The client's phone number. - * - * @post post - * @var string - */ - public $text_phone; - - /** - * The business's partner promo code. - * - * @post post - * @var string - */ - public $text_promo_code; - - /** - * The website URL. - * - * @post post - * @var string - */ - public $url_website; -} - +<?php + +namespace WellnessLiving\Wl\Business\Lead; + +use WellnessLiving\WlModelAbstract; + +/** + * Creates a new business lead request within the Partner Program. + */ +class BusinessLeadModel extends WlModelAbstract +{ + /** + * The business's partner key. + * + * @post post + * @var string + */ + public $k_business_partner; + + /** + * The business's name. + * + * @post post + * @var string + */ + public $text_business_name; + + /** + * The client's full name. + * + * @post post + * @var string + */ + public $text_client_name; + + /** + * The client's email. + * + * @post post + * @var string + */ + public $text_email; + + /** + * The client's phone number. + * + * @post post + * @var string + */ + public $text_phone; + + /** + * The business's partner promo code. + * + * @post post + * @var string + */ + public $text_promo_code; + + /** + * The website URL. + * + * @post post + * @var string + */ + public $url_website; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Partner/PartnerSettingsModel.php b/WellnessLiving/Wl/Business/Partner/PartnerSettingsModel.php index 3f69b6c0..ef8ca57a 100644 --- a/WellnessLiving/Wl/Business/Partner/PartnerSettingsModel.php +++ b/WellnessLiving/Wl/Business/Partner/PartnerSettingsModel.php @@ -1,88 +1,88 @@ -<?php - -namespace WellnessLiving\Wl\Business\Partner; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlHomeTourSid; - -/** - * Works with partner settings of the business. - * This information is entered by a staff member when a client enrolls into Partner Program and uses a custom landing page, which - * is available by special business URL. - */ -class PartnerSettingsModel extends WlModelAbstract -{ - /** - * The homepage tour of the business, which depends on the type. - * - * @get result - * @var int - * @see WlHomeTourSid - */ - public $id_business_tour = 0; - - /** - * The business key. - * - * @get result - * @var string - */ - public $k_business = ''; - - /** - * The unique code that a business can provide other businesses to tell them about system. - * - * @get get - * @var string - */ - public $text_code = ''; - - /** - * The first name of the business representative. - * - * @get result - * @var string - * @deprecated This field is not used anymore. - */ - public $text_name_first; - - /** - * The last name of the business representative. - * - * @get result - * @var string - * @deprecated This field is not used anymore. - */ - public $text_name_last; - - /** - * The job title of the business representative. - * - * @get result - * @var string - * @deprecated This field is not used anymore. - */ - public $text_position; - - /** - * The text of the review about the WellnessLiving system. - * - * @get result - * @var string - * @deprecated This field is not used anymore. - */ - public $text_review; - - /** - * A link to the photo of the business representative. - * - * `null` in case when image is not uploaded. - * - * @get result - * @var string|null - * @deprecated This field is not used anymore. - */ - public $url_photo; -} - +<?php + +namespace WellnessLiving\Wl\Business\Partner; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlHomeTourSid; + +/** + * Works with partner settings of the business. + * This information is entered by a staff member when a client enrolls into Partner Program and uses a custom landing page, which + * is available by special business URL. + */ +class PartnerSettingsModel extends WlModelAbstract +{ + /** + * The homepage tour of the business, which depends on the type. + * + * @get result + * @var int + * @see WlHomeTourSid + */ + public $id_business_tour = 0; + + /** + * The business key. + * + * @get result + * @var string + */ + public $k_business = ''; + + /** + * The unique code that a business can provide other businesses to tell them about system. + * + * @get get + * @var string + */ + public $text_code = ''; + + /** + * The first name of the business representative. + * + * @get result + * @var string + * @deprecated This field is not used anymore. + */ + public $text_name_first; + + /** + * The last name of the business representative. + * + * @get result + * @var string + * @deprecated This field is not used anymore. + */ + public $text_name_last; + + /** + * The job title of the business representative. + * + * @get result + * @var string + * @deprecated This field is not used anymore. + */ + public $text_position; + + /** + * The text of the review about the WellnessLiving system. + * + * @get result + * @var string + * @deprecated This field is not used anymore. + */ + public $text_review; + + /** + * A link to the photo of the business representative. + * + * `null` in case when image is not uploaded. + * + * @get result + * @var string|null + * @deprecated This field is not used anymore. + */ + public $url_photo; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Select/BusinessSelectModel.php b/WellnessLiving/Wl/Business/Select/BusinessSelectModel.php index 490092f5..1628be3e 100644 --- a/WellnessLiving/Wl/Business/Select/BusinessSelectModel.php +++ b/WellnessLiving/Wl/Business/Select/BusinessSelectModel.php @@ -1,74 +1,74 @@ -<?php - -namespace WellnessLiving\Wl\Business\Select; - -use WellnessLiving\WlModelAbstract; - -/** - * Provides the list of business that a staff member may access. - */ -class BusinessSelectModel extends WlModelAbstract -{ - /** - * Configuration data used to determine the list of businesses returned. This array has the following keys: - * <dl> - * <dt>bool <var>is_role</var></dt> - * <dd>This will be `true` if we are checking for businesses where the user is a staff member. - * This will be `false` if we are checking for businesses where the user is a client.</dd> - * <dt>string <var>[k_business]</var></dt> - * <dd>The business key.</dd> - * </dl> - * - * @get get - * @var array - */ - public $a_config = []; - - /** - * Business list with additional parameters for a business select HTML component. - * This array contains the following keys and values. - * <dl> - * <dt>array <var>a_business</var></dt> - * <dd>List of businesses the user can access. It is an array, each value is an array with the following keys:<dl> - * <dt>string <var>k_business</var></dt> - * <dd>The key of the business.</dd> - * <dt>string <var>s_title</var></dt> - * <dd>The name of the business.</dd> - * <dt>bool <var>selected</var></dt> - * <dd>This will be true for the current business.</dd> - * </dl></dd> - * <dt>string <var>is_select</var></dt> - * <dd>This will be `true` if one of the listed businesses is selected.</dd> - * <dt>string <var>name<var></dt> - * <dd>Information for the widget, the name of the key in the list. This should always be `k_business`.</dd> - * <dt>string <var>onchange</var></dt> - * <dd>Information for the widget, what the widget will do on selection.</dd> - * <dt>string <var>s_id</var></dt> - * <dd>Information for the widget, the widget instance ID.</dd> - * <dt>string <var>s_style</var></dt> - * <dd>Information for the widget, any additional CSS to apply.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_select = []; - - /** - * Business in which a list of business is requested. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * User who is requesting the list of businesses. - * - * @get get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Business\Select; + +use WellnessLiving\WlModelAbstract; + +/** + * Provides the list of business that a staff member may access. + */ +class BusinessSelectModel extends WlModelAbstract +{ + /** + * Configuration data used to determine the list of businesses returned. This array has the following keys: + * <dl> + * <dt>bool <var>is_role</var></dt> + * <dd>This will be `true` if we are checking for businesses where the user is a staff member. + * This will be `false` if we are checking for businesses where the user is a client.</dd> + * <dt>string <var>[k_business]</var></dt> + * <dd>The business key.</dd> + * </dl> + * + * @get get + * @var array + */ + public $a_config = []; + + /** + * Business list with additional parameters for a business select HTML component. + * This array contains the following keys and values. + * <dl> + * <dt>array <var>a_business</var></dt> + * <dd>List of businesses the user can access. It is an array, each value is an array with the following keys:<dl> + * <dt>string <var>k_business</var></dt> + * <dd>The key of the business.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The name of the business.</dd> + * <dt>bool <var>selected</var></dt> + * <dd>This will be true for the current business.</dd> + * </dl></dd> + * <dt>string <var>is_select</var></dt> + * <dd>This will be `true` if one of the listed businesses is selected.</dd> + * <dt>string <var>name<var></dt> + * <dd>Information for the widget, the name of the key in the list. This should always be `k_business`.</dd> + * <dt>string <var>onchange</var></dt> + * <dd>Information for the widget, what the widget will do on selection.</dd> + * <dt>string <var>s_id</var></dt> + * <dd>Information for the widget, the widget instance ID.</dd> + * <dt>string <var>s_style</var></dt> + * <dd>Information for the widget, any additional CSS to apply.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_select = []; + + /** + * Business in which a list of business is requested. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * User who is requesting the list of businesses. + * + * @get get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Type/BusinessTypeListModel.php b/WellnessLiving/Wl/Business/Type/BusinessTypeListModel.php index 907fedaf..c96895ec 100644 --- a/WellnessLiving/Wl/Business/Type/BusinessTypeListModel.php +++ b/WellnessLiving/Wl/Business/Type/BusinessTypeListModel.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl\Business\Type; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves a list of business types. - */ -class BusinessTypeListModel extends WlModelAbstract -{ - /** - * A list of business types. Each element has the next structure: <dl> - * <dt>string <var>k_business_type</var></dt> - * <dd>The key of business type.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The title of business type.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_business_type = []; -} - +<?php + +namespace WellnessLiving\Wl\Business\Type; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves a list of business types. + */ +class BusinessTypeListModel extends WlModelAbstract +{ + /** + * A list of business types. Each element has the next structure: <dl> + * <dt>string <var>k_business_type</var></dt> + * <dd>The key of business type.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The title of business type.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_business_type = []; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/User/Subscribe/SubscribeModel.php b/WellnessLiving/Wl/Business/User/Subscribe/SubscribeModel.php index d67c7768..a944d1d7 100644 --- a/WellnessLiving/Wl/Business/User/Subscribe/SubscribeModel.php +++ b/WellnessLiving/Wl/Business/User/Subscribe/SubscribeModel.php @@ -1,61 +1,61 @@ -<?php - -namespace WellnessLiving\Wl\Business\User\Subscribe; - -use WellnessLiving\WlModelAbstract; - -/** - * Manages a user`s subscription in a business. - */ -class SubscribeModel extends WlModelAbstract -{ - /** - * Information about the user`s subscription. - * - * When getting information, `true` indicates the user has an email subscription in the business (`false` otherwise). - * - * When changing a subscription, `true` subscribes the user in the business. `false` unsubscribes the user in the business. - * - * This will be `null` if not set yet. - * - * @get result - * @put get - * @var bool|null - */ - public $is_subscribe = null; - - /** - * Information about the user`s subscription. - * - * When getting information, `true` indicates the user has an SMS subscription in the business (`false` otherwise). - * - * When changing a subscription, `true` subscribes the user in the business. `false1 unsubscribes the user in the business. - * - * This will be `null` if not set yet. - * - * @get result - * @put get - * @var bool|null - */ - public $is_subscribe_sms = null; - - /** - * The business key used for users to subscribe, unsubscribe, and receive information about the status of the subscription. - * - * @get get - * @put get - * @var string - */ - public $k_business; - - /** - * The key of the user whose subscription status needs to be checked or switched to subscribed/unsubscribed. - * - * @get get - * @put get - * @var string - */ - public $uid; -} - +<?php + +namespace WellnessLiving\Wl\Business\User\Subscribe; + +use WellnessLiving\WlModelAbstract; + +/** + * Manages a user`s subscription in a business. + */ +class SubscribeModel extends WlModelAbstract +{ + /** + * Information about the user`s subscription. + * + * When getting information, `true` indicates the user has an email subscription in the business (`false` otherwise). + * + * When changing a subscription, `true` subscribes the user in the business. `false` unsubscribes the user in the business. + * + * This will be `null` if not set yet. + * + * @get result + * @put get + * @var bool|null + */ + public $is_subscribe = null; + + /** + * Information about the user`s subscription. + * + * When getting information, `true` indicates the user has an SMS subscription in the business (`false` otherwise). + * + * When changing a subscription, `true` subscribes the user in the business. `false1 unsubscribes the user in the business. + * + * This will be `null` if not set yet. + * + * @get result + * @put get + * @var bool|null + */ + public $is_subscribe_sms = null; + + /** + * The business key used for users to subscribe, unsubscribe, and receive information about the status of the subscription. + * + * @get get + * @put get + * @var string + */ + public $k_business; + + /** + * The key of the user whose subscription status needs to be checked or switched to subscribed/unsubscribed. + * + * @get get + * @put get + * @var string + */ + public $uid; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/Cart/CartModel.php b/WellnessLiving/Wl/Catalog/Cart/CartModel.php index 7f3bd3b9..49874770 100644 --- a/WellnessLiving/Wl/Catalog/Cart/CartModel.php +++ b/WellnessLiving/Wl/Catalog/Cart/CartModel.php @@ -1,207 +1,207 @@ -<?php - -namespace WellnessLiving\Wl\Catalog\Cart; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Displays information about the cart in the catalog. - */ -class CartModel extends WlModelAbstract -{ - /** - * The list of discounts for each item. - * - * Keys refer to unique item keys, and values refer to discount amounts for the item. - * - * @get result - * @var string[] - */ - public $a_discount_item = []; - - /** - * The list of items in the cart. - * <dl> - * <dt>int <var>i_quantity</var></dt> - * <dd>The quantity of sale items.</dd> - * <dt>int <var>id_sale</var></dt> - * <dd>The sale item type, one of the {@link WlSaleSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The sale item key.</dd> - * <dt>?string [<var>k_login_prize</var>]</dt> - * - * <dt>string <var>k_shop_product_option</var></dt> - * <dd>The shop product option. If empty string, the sale item has no options.</dd> - * </dl> - * - * @get get - * @var array[] - */ - public $a_item = []; - - /** - * List of prizes that can be redeemed and applied to items in the cart. - * <dl> - * <dt>string <var>k_reward_prize</var></dt> - * - * <dt>string <var>text_title</var></dt> - * <dd>Reward prize title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_prize_propose = []; - - /** - * List of cart items to which the selected prize can be applied - * <dl> - * <dt>int <var>i_quantity</var></dt> - * <dd>The quantity of sale items.</dd> - * <dt>int <var>id_sale</var></dt> - * <dd>The sale item type, one of the {@link WlSaleSid} constants.</dd> - * <dt>bool <var>is_login_prize_used</var></dt> - * <dd>Whether selected login prize discount applied to item.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The sale item key.</dd> - * <dt>string <var>k_shop_product_option</var></dt> - * <dd>The shop product option. If <tt>null</tt>, the sale item has no options.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_reward_item = []; - - /** - * List of login prizes that can be applied to items in the cart. - * <dl> - * <dt>string <var>k_login_prize</var></dt> - * - * <dt>string <var>text_discount</var></dt> - * <dd>Login prize discount title, for example 'Apply 10% off'.</dd> - * <dt>string <var>text_discount_applied</var></dt> - * <dd>Applied login prize discount title, for example '10% discount'.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>Login prize title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_reward_propose = []; - - /** - * Values derived for individual tax rates. - * - * Keys refer to tax keys. - * And values refer to the amount of tax in the cart. - * - * @get result - * @var array - */ - public $a_tax_list = []; - - /** - * Amount of client's reward points. - * - * @get result - * @var int|null - */ - public $i_score; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location = '0'; - - /** - * The login prize key. - * - * @get get - * @var string - */ - public $k_login_prize = '0'; - - /** - * The full discount of the cart. - * - * If `null`, the discount isn't calculated yet. - * - * @get result - * @var string|null - */ - public $m_discount; - - /** - * The total discount amount. - * - * @get result - * @var string - */ - public $m_discount_total; - - /** - * The total amount in the catalog cart without tax. - * - * If `null`, the total amount isn't set yet. - * - * @get result - * @var string|null - */ - public $m_subtotal; - - /** - * The tax amount. - * - * If `null`, the tax amount isn't set yet. - * - * @get result - * @var string|null - */ - public $m_tax; - - /** - * The amount of appointment tips. - * - * @get result - * @var string|null - */ - public $m_tip_purchase; - - /** - * The total amount in the catalog cart. - * - * If `null`, the total amount isn't set yet. - * - * @get result - * @var string|null - */ - public $m_total; - - /** - * The discount code. - * - * If `null`, the discount code has been reset. - * - * @get get - * @var string|null - */ - public $text_discount_code = ''; - - /** - * The user key. - * - * This will be `0` for guests. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Catalog\Cart; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Displays information about the cart in the catalog. + */ +class CartModel extends WlModelAbstract +{ + /** + * The list of discounts for each item. + * + * Keys refer to unique item keys, and values refer to discount amounts for the item. + * + * @get result + * @var string[] + */ + public $a_discount_item = []; + + /** + * The list of items in the cart. + * <dl> + * <dt>int <var>i_quantity</var></dt> + * <dd>The quantity of sale items.</dd> + * <dt>int <var>id_sale</var></dt> + * <dd>The sale item type, one of the {@link WlSaleSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The sale item key.</dd> + * <dt>?string [<var>k_login_prize</var>]</dt> + * + * <dt>string <var>k_shop_product_option</var></dt> + * <dd>The shop product option. If empty string, the sale item has no options.</dd> + * </dl> + * + * @get get + * @var array[] + */ + public $a_item = []; + + /** + * List of prizes that can be redeemed and applied to items in the cart. + * <dl> + * <dt>string <var>k_reward_prize</var></dt> + * + * <dt>string <var>text_title</var></dt> + * <dd>Reward prize title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_prize_propose = []; + + /** + * List of cart items to which the selected prize can be applied + * <dl> + * <dt>int <var>i_quantity</var></dt> + * <dd>The quantity of sale items.</dd> + * <dt>int <var>id_sale</var></dt> + * <dd>The sale item type, one of the {@link WlSaleSid} constants.</dd> + * <dt>bool <var>is_login_prize_used</var></dt> + * <dd>Whether selected login prize discount applied to item.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The sale item key.</dd> + * <dt>string <var>k_shop_product_option</var></dt> + * <dd>The shop product option. If <tt>null</tt>, the sale item has no options.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_reward_item = []; + + /** + * List of login prizes that can be applied to items in the cart. + * <dl> + * <dt>string <var>k_login_prize</var></dt> + * + * <dt>string <var>text_discount</var></dt> + * <dd>Login prize discount title, for example 'Apply 10% off'.</dd> + * <dt>string <var>text_discount_applied</var></dt> + * <dd>Applied login prize discount title, for example '10% discount'.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>Login prize title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_reward_propose = []; + + /** + * Values derived for individual tax rates. + * + * Keys refer to tax keys. + * And values refer to the amount of tax in the cart. + * + * @get result + * @var array + */ + public $a_tax_list = []; + + /** + * Amount of client's reward points. + * + * @get result + * @var int|null + */ + public $i_score; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location = '0'; + + /** + * The login prize key. + * + * @get get + * @var string + */ + public $k_login_prize = '0'; + + /** + * The full discount of the cart. + * + * If `null`, the discount isn't calculated yet. + * + * @get result + * @var string|null + */ + public $m_discount; + + /** + * The total discount amount. + * + * @get result + * @var string + */ + public $m_discount_total; + + /** + * The total amount in the catalog cart without tax. + * + * If `null`, the total amount isn't set yet. + * + * @get result + * @var string|null + */ + public $m_subtotal; + + /** + * The tax amount. + * + * If `null`, the tax amount isn't set yet. + * + * @get result + * @var string|null + */ + public $m_tax; + + /** + * The amount of appointment tips. + * + * @get result + * @var string|null + */ + public $m_tip_purchase; + + /** + * The total amount in the catalog cart. + * + * If `null`, the total amount isn't set yet. + * + * @get result + * @var string|null + */ + public $m_total; + + /** + * The discount code. + * + * If `null`, the discount code has been reset. + * + * @get get + * @var string|null + */ + public $text_discount_code = ''; + + /** + * The user key. + * + * This will be `0` for guests. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/Cart/LimitQuantityModel.php b/WellnessLiving/Wl/Catalog/Cart/LimitQuantityModel.php index 39e3a91b..a644e61f 100644 --- a/WellnessLiving/Wl/Catalog/Cart/LimitQuantityModel.php +++ b/WellnessLiving/Wl/Catalog/Cart/LimitQuantityModel.php @@ -1,99 +1,99 @@ -<?php - -namespace WellnessLiving\Wl\Catalog\Cart; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Displays information about the quantity limit when a promotion (Purchase Option) is added to the cart. - */ -class LimitQuantityModel extends WlModelAbstract -{ - /** - * The cart items list with the next structure: <dl> - * <dt>int <var>i_quantity</var></dt> - * <dd>The quantity of sale items.</dd> - * <dt>int <var>id_sale</var></dt> - * <dd>The sale item type. One of the {@link WlSaleSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The sale item ID.</dd> - * <dt>string <var>k_shop_product_option</var></dt> - * <dd>The shop product option. <tt>null</tt> if the sale item has no options.</dd> - * </dl> - * - * @get get - * @var array[] - */ - public $a_item = []; - - /** - * The quantity if promotions have already been purchased by the current user. - * - * If `true`, the quantity exceeded. Otherwise, this will be `false`. - * - * This will be `null` if not set yet, there's no limit quantity, or the limit quantity isn't exceeded. - * - * @get result - * @var int|null - */ - public $i_purchase_already = null; - - /** - * The current quantity of a promotion with the quantity limit in the cart. - * - * This will be `null` if not set yet, there's no limit quantity, or the limit quantity isn't exceeded. - * - * @get result - * @var int|null - */ - public $i_purchase_current = null; - - /** - * The quantity limit of the promotion. - * - * This will be `null` if not set yet or if there's no limit quantity. - * - * @get result - * @var int|null - */ - public $i_quantity_limit = null; - - /** - * Determines whether the limit quantity has been exceeded. - * - * If `true`, the limit quantity has been exceeded. Otherwise, this will be `false`. - * - * This will be `null` if not set yet. - * - * @get result - * @var bool|null - */ - public $is_limit_exceeded = null; - - /** - * The business in which the purchase will be made. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The promotion key to add to the cart. - * - * @get get - * @var string - */ - public $k_promotion = '0'; - - /** - * The user key. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Catalog\Cart; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Displays information about the quantity limit when a promotion (Purchase Option) is added to the cart. + */ +class LimitQuantityModel extends WlModelAbstract +{ + /** + * The cart items list with the next structure: <dl> + * <dt>int <var>i_quantity</var></dt> + * <dd>The quantity of sale items.</dd> + * <dt>int <var>id_sale</var></dt> + * <dd>The sale item type. One of the {@link WlSaleSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The sale item ID.</dd> + * <dt>string <var>k_shop_product_option</var></dt> + * <dd>The shop product option. <tt>null</tt> if the sale item has no options.</dd> + * </dl> + * + * @get get + * @var array[] + */ + public $a_item = []; + + /** + * The quantity if promotions have already been purchased by the current user. + * + * If `true`, the quantity exceeded. Otherwise, this will be `false`. + * + * This will be `null` if not set yet, there's no limit quantity, or the limit quantity isn't exceeded. + * + * @get result + * @var int|null + */ + public $i_purchase_already = null; + + /** + * The current quantity of a promotion with the quantity limit in the cart. + * + * This will be `null` if not set yet, there's no limit quantity, or the limit quantity isn't exceeded. + * + * @get result + * @var int|null + */ + public $i_purchase_current = null; + + /** + * The quantity limit of the promotion. + * + * This will be `null` if not set yet or if there's no limit quantity. + * + * @get result + * @var int|null + */ + public $i_quantity_limit = null; + + /** + * Determines whether the limit quantity has been exceeded. + * + * If `true`, the limit quantity has been exceeded. Otherwise, this will be `false`. + * + * This will be `null` if not set yet. + * + * @get result + * @var bool|null + */ + public $is_limit_exceeded = null; + + /** + * The business in which the purchase will be made. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The promotion key to add to the cart. + * + * @get get + * @var string + */ + public $k_promotion = '0'; + + /** + * The user key. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php b/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php index 3b881ee0..eaaada7e 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php @@ -1,597 +1,597 @@ -<?php - -namespace WellnessLiving\Wl\Catalog\CatalogList; - -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Catalog\PurchaseOptionViewSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Displays information about a certain item in the store. - * - * When using this endpoint, note that the terms "promotion" and "Purchase Option" refer to the same thing. - */ -class ElementModel extends WlModelAbstract -{ - /** - * The age restriction configuration. - * - * Age restrictions for an item apply when they're configured for a specific item and the API is requested from the backend - * or when age restriction are public. - * - * <dl> - * <dt>int|null <var>i_age_from</var></dt> - * <dd>The minimum age permitted for the event. This will be `null` if a minimum age isn't set or available.</dd> - * <dt>int|null <var>i_age_to</var></dt> - * <dd>The maximum age permitted for the event. This will be `null` if a maximum age isn't set or available.</dd> - * <dt>bool <var>is_age_public</var></dt> - * <dd>If `true`, age restrictions are public and available. Otherwise, this will be `false` if they're hidden. - * When restrictions are hidden and the current user isn't a staff member, the age range will be empty.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_age_restriction; - - /** - * Additional information specific for the item. - * - * The structure may be different depending on the item category. - * <dl> - * <dt> - * bool <var>is_renew_public</var> - * </dt> - * <dd> - * This applies only for promotions. - * <tt>true</tt> - clients can set promotion auto-renew.<br> - * <tt>false</tt> - clients can't set promotion auto-renew. - * </dd> - * </dl> - * - * Consider the following examples: - * * For a product, this contains inventory information. - * * For a gift card, this contains possible amounts. - * * For a session pass/membership/package, this contains information about start and stop dates. - * - * @get result - * @var array - */ - public $a_data; - - /** - * Information about the discount code: - * <dl> - * <dt>string <var>f_amount</var></dt> - * <dd>The fixed amount of the discount.</dd> - * <dt>float <var>f_percent</var></dt> - * <dd>The percentage amount of the discount.</dd> - * <dt>int <var>i_limit</var></dt> - * <dt>string <var>k_discount_code</var></dt> - * <dd>The discount code key.</dd> - * <dt>string <var>s_discount_code</var></dt> - * <dd>The discount code value.</dd> - * </dl> - * - * @get get - * @var array - */ - public $a_discount_code = []; - - /** - * Image information: - * <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * The height in pixels. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * The width in pixels. - * </dd> - * <dt> - * bool <var>is_empty</var> - * </dt> - * <dd> - * <tt>true</tt> - the item has no image (in this case, ignore the other keys of this array).<br> - * <tt>false</tt> - the item has an image. - * </dd> - * <dt> - * string <var>s_url</var> - * </dt> - * <dd> - * The image URL. - * </dd> - * </dl> - * - * @get result - * @var array - * @deprecated This property is deprecated as it does not support multiple images. - * Use {@link ElementModel::$a_image_list} instead. - */ - public $a_image; - - /** - * List of images. - * Keys are index and value is below information: <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * The height in pixels. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * The width in pixels. - * </dd> - * <dt> - * bool <var>is_empty</var> - * </dt> - * <dd> - * `true` - item has no image (in this case ignore other keys of this array). - * `false` - item has an image. - * </dd> - * <dt> - * string <var>s_url</var> - * </dt> - * <dd> - * The image URL. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_image_list = []; - - /** - * A list of installment plans. Each element has the following next keys: - * <dl> - * <dt> - * int <var>i_count</var> - * </dt> - * <dd> - * The number of payments. - * </dd> - * <dt> - * int <var>id_duration</var> - * </dt> - * <dd> - * The duration of a single period. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The number of periods specified by <var>id_period</var> between individual payments. - * </dd> - * <dt> - * string <var>k_currency</var> - * </dt> - * <dd> - * The payment currency Key. - * </dd> - * <dt> - * string <var>k_pay_installment_template</var> - * </dt> - * <dd> - * The key of the installment plan template. - * </dd> - * <dt> - * string <var>m_amount</var> - * </dt> - * <dd> - * The amount of the installment plan. - * </dd> - * <dt> - * string <var>s_duration</var> - * </dt> - * <dd> - * The title of the installment plan. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_installment_template; - - /** - * The list of information pertaining to the specified item. - * <dl> - * <dt>array <var>a_data</var></dt> - * <dd>Contains additional data for the sale item.</dd> - * - * <dt>array <var>a_image</var></dt> - * <dd>Contains information about one image connected to a sale item.</dd> - * - * <dt>array <var>a_tax</var></dt> - * <dd>Contains information about taxes.</dd> - * - * <dt>string <var>id_purchase_option_view</var></dt> - * <dd>The Purchase Option view type. One of the {@link PurchaseOptionViewSid} constants.</dd> - * - * <dt>string <var>m_discount_code</var></dt> - * <dd>The discount code amount.</dd> - * - * <dt>string <var>m_discount_login</var></dt> - * <dd>The discount amount for the client type.</dd> - * - * <dt>string <var>s_comment</var></dt> - * <dd>Additional information about the sale item. For example, information about 'introductory offer'.</dd> - * - * <dt>string <var>s_price</var></dt> - * <dd>The price of the sale item in a human-readable format.</dd> - * - * <dt>string <var>s_sale</var></dt> - * <dd>The category title of the sale item.</dd> - * - * <dt>string <var>s_title</var></dt> - * <dd>The title of the sale item.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_item; - - /** - * The list of items grouped by sale categories on the store page. - * Keys refer to sale IDs from {@link WlSaleSid}, and values refer to data to identify an item:<dl> - * <dt>int <var>id_sale</var></dt> - * <dd>The item category ID. One of the {@link WlSaleSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The primary key of item.</dd> - * <dt>string <var>k_shop_product_option</var></dt> - * <dd>The product option or <tt>0</tt> for any other cases.</dd> - * </dl> - * - * @get get - * @var array[] - */ - public $a_sale_id_group = []; - - /** - * A list of the item's taxes. - * Keys refer tax keys, and values refer to the amount of tax. - * - * @get result - * @var array - */ - public $a_tax; - - /** - * The client prorate date. - * - * This will be `null` in cases where the client prorate date hasn't passed. - * - * @get get - * @var string|null - */ - public $dl_client_prorate = null; - - /** - * The price of the sale item. - * - * @get result - * @var string|null - */ - public $f_price; - - /** - * The price of the sale item, including tax. - * - * @get result - * @var string|null - */ - public $f_price_include; - - /** - * The retail price of the product. This will be empty if this isn't a product. - * - * @get result - * @var string - */ - public $f_price_retail_product = ''; - - /** - * Full price of event. This will be empty if this isn't an event. - * - * @get result - * @var string - */ - public $f_price_total_enrollment = ''; - - /** - * The tax amount. - * - * @get result - * @var string|null - */ - public $f_tax; - - /** - * The sale item description. - * - * @get result - * @var string|null - */ - public $html_description; - - /** - * Special instructions for the sale item. - * - * @get result - * @var string|null - */ - public $html_special; - - /** - * The image height in pixels. Specify this value if you need the image to be returned in a specific size. - * The returned image will have default thumbnail size if this value isn't specified. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * The image width in pixels. Specify this value if you need the image to be returned in a specific size. - * The returned image will have default thumbnail size if this value isn't specified. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The promotion image height in pixels. Specify this value if you need the image to be returned in a specific size. - * The returned image will have default thumbnail size if this value isn't specified. - * - * @get get - * @var int - */ - public $i_promotion_image_height = 0; - - /** - * The promotion image width in pixels. Specify this value if you need the image to be returned in a specific size. - * The returned image will have default thumbnail size if this value isn't specified. - * - * @get get - * @var int - */ - public $i_promotion_image_width = 0; - - /** - * The purchase item category ID. - * One of the {@link WlPurchaseItemSid} constants. - * - * @get result - * @var int - */ - public $id_purchase_item; - - /** - * The ID of the item view category. One of the {@link PurchaseOptionViewSid} constants. - * - * @get result - * @var int - */ - public $id_purchase_option_view; - - /** - * The ID of item category. - * One of the {@link WlSaleSid} constants. - * - * @get get,result - * @var int - */ - public $id_sale = 0; - - /** - * Determines whether the API is called in the backend mode. - * - * @get get - * @var bool - */ - public $is_backend = false; - - /** - * If `true`, the item requires a contract. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_contract; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The item key. - * - * @get get,result - * @var string - */ - public $k_id = 0; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location = '0'; - - /** - * The product option key. - * - * This will be `null` if not set yet. - * - * @get get,result - * @var string|null - */ - public $k_shop_product_option = ''; - - /** - * The discount amount for a discount code. - * - * @get result - * @var string - */ - public $m_discount_code; - - /** - * The discount amount for a user's type. - * - * @get result - * @var string - */ - public $m_discount_login; - - /** - * The price on the price tag. - * - * @get result - * @var string - */ - public $m_price; - - /** - * The price, including taxes. - * - * @get result - * @var string - */ - public $m_price_include; - - /** - * The tax amount. - * - * @get result - * @var string - */ - public $m_tax; - - /** - * Additional comment(s). - * For example, information about 'introductory offer'. - * - * @get result - * @var string - */ - public $s_comment; - - /** - * The price of the sale item in a human-readable format. - * - * @get result - * @var string|null - */ - public $s_price; - - /** - * The category title of the sale item. - * - * @get result - * @var string|null - */ - public $s_sale; - - /** - * The sale item title. - * - * @get result - * @var string|null - */ - public $s_title; - - /** - * A list of goods to get information for. Every element must contain the next keys: - * <dl> - * <dt>int <var>id_sale</var></dt> - * <dd>The ID of the item category. One of the {@link WlSaleSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The item key.</dd> - * <dt>string <var>k_shop_product_option</var></dt> - * <dd>The product option key. This will be <tt>0</tt> if the item isn't a product.</dd> - * </dl> - * Note that this must be serialized via JSON. - * - * If this field is specified, don't specify any of the following fields: - * * {@link ElementModel::$id_sale} - * * {@link ElementModel::$k_id} - * * {@link ElementModel::$k_shop_product_option} - * - * This will be `null` to get information for only one item. - * - * @get get - * @var string|null - */ - public $text_item = null; - - /** - * The price on the price tag, with the currency sign. - * - * @get result - * @var string - */ - public $text_price; - - /** - * The title of the item category. - * - * @get result - * @var string - */ - public $text_sale; - - /** - * The item title. - * - * @get result - * @var string - */ - public $text_title; - - /** - * The UID of a customer (user) for whom the purchase is made. This is used in the backend to calculate discounts. - * - * @get get - * @var string - */ - public $uid_customer = ''; - - /** - * A detailed description. - * - * @get result - * @var string|null - * @deprecated Use `html_description`. - */ - public $xml_description; - - /** - * Special instructions. - * - * @get result - * @var string|null - * @deprecated Use `html_special`. - */ - public $xml_special; -} - +<?php + +namespace WellnessLiving\Wl\Catalog\CatalogList; + +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Catalog\PurchaseOptionViewSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Displays information about a certain item in the store. + * + * When using this endpoint, note that the terms "promotion" and "Purchase Option" refer to the same thing. + */ +class ElementModel extends WlModelAbstract +{ + /** + * The age restriction configuration. + * + * Age restrictions for an item apply when they're configured for a specific item and the API is requested from the backend + * or when age restriction are public. + * + * <dl> + * <dt>int|null <var>i_age_from</var></dt> + * <dd>The minimum age permitted for the event. This will be `null` if a minimum age isn't set or available.</dd> + * <dt>int|null <var>i_age_to</var></dt> + * <dd>The maximum age permitted for the event. This will be `null` if a maximum age isn't set or available.</dd> + * <dt>bool <var>is_age_public</var></dt> + * <dd>If `true`, age restrictions are public and available. Otherwise, this will be `false` if they're hidden. + * When restrictions are hidden and the current user isn't a staff member, the age range will be empty.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_age_restriction; + + /** + * Additional information specific for the item. + * + * The structure may be different depending on the item category. + * <dl> + * <dt> + * bool <var>is_renew_public</var> + * </dt> + * <dd> + * This applies only for promotions. + * <tt>true</tt> - clients can set promotion auto-renew.<br> + * <tt>false</tt> - clients can't set promotion auto-renew. + * </dd> + * </dl> + * + * Consider the following examples: + * * For a product, this contains inventory information. + * * For a gift card, this contains possible amounts. + * * For a session pass/membership/package, this contains information about start and stop dates. + * + * @get result + * @var array + */ + public $a_data; + + /** + * Information about the discount code: + * <dl> + * <dt>string <var>f_amount</var></dt> + * <dd>The fixed amount of the discount.</dd> + * <dt>float <var>f_percent</var></dt> + * <dd>The percentage amount of the discount.</dd> + * <dt>int <var>i_limit</var></dt> + * <dt>string <var>k_discount_code</var></dt> + * <dd>The discount code key.</dd> + * <dt>string <var>s_discount_code</var></dt> + * <dd>The discount code value.</dd> + * </dl> + * + * @get get + * @var array + */ + public $a_discount_code = []; + + /** + * Image information: + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * The height in pixels. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * The width in pixels. + * </dd> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * <tt>true</tt> - the item has no image (in this case, ignore the other keys of this array).<br> + * <tt>false</tt> - the item has an image. + * </dd> + * <dt> + * string <var>s_url</var> + * </dt> + * <dd> + * The image URL. + * </dd> + * </dl> + * + * @get result + * @var array + * @deprecated This property is deprecated as it does not support multiple images. + * Use {@link ElementModel::$a_image_list} instead. + */ + public $a_image; + + /** + * List of images. + * Keys are index and value is below information: <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * The height in pixels. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * The width in pixels. + * </dd> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * `true` - item has no image (in this case ignore other keys of this array). + * `false` - item has an image. + * </dd> + * <dt> + * string <var>s_url</var> + * </dt> + * <dd> + * The image URL. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_image_list = []; + + /** + * A list of installment plans. Each element has the following next keys: + * <dl> + * <dt> + * int <var>i_count</var> + * </dt> + * <dd> + * The number of payments. + * </dd> + * <dt> + * int <var>id_duration</var> + * </dt> + * <dd> + * The duration of a single period. One of the {@link ADurationSid} constants. + * </dd> + * <dt> + * int <var>i_period</var> + * </dt> + * <dd> + * The number of periods specified by <var>id_period</var> between individual payments. + * </dd> + * <dt> + * string <var>k_currency</var> + * </dt> + * <dd> + * The payment currency Key. + * </dd> + * <dt> + * string <var>k_pay_installment_template</var> + * </dt> + * <dd> + * The key of the installment plan template. + * </dd> + * <dt> + * string <var>m_amount</var> + * </dt> + * <dd> + * The amount of the installment plan. + * </dd> + * <dt> + * string <var>s_duration</var> + * </dt> + * <dd> + * The title of the installment plan. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_installment_template; + + /** + * The list of information pertaining to the specified item. + * <dl> + * <dt>array <var>a_data</var></dt> + * <dd>Contains additional data for the sale item.</dd> + * + * <dt>array <var>a_image</var></dt> + * <dd>Contains information about one image connected to a sale item.</dd> + * + * <dt>array <var>a_tax</var></dt> + * <dd>Contains information about taxes.</dd> + * + * <dt>string <var>id_purchase_option_view</var></dt> + * <dd>The Purchase Option view type. One of the {@link PurchaseOptionViewSid} constants.</dd> + * + * <dt>string <var>m_discount_code</var></dt> + * <dd>The discount code amount.</dd> + * + * <dt>string <var>m_discount_login</var></dt> + * <dd>The discount amount for the client type.</dd> + * + * <dt>string <var>s_comment</var></dt> + * <dd>Additional information about the sale item. For example, information about 'introductory offer'.</dd> + * + * <dt>string <var>s_price</var></dt> + * <dd>The price of the sale item in a human-readable format.</dd> + * + * <dt>string <var>s_sale</var></dt> + * <dd>The category title of the sale item.</dd> + * + * <dt>string <var>s_title</var></dt> + * <dd>The title of the sale item.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_item; + + /** + * The list of items grouped by sale categories on the store page. + * Keys refer to sale IDs from {@link WlSaleSid}, and values refer to data to identify an item:<dl> + * <dt>int <var>id_sale</var></dt> + * <dd>The item category ID. One of the {@link WlSaleSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The primary key of item.</dd> + * <dt>string <var>k_shop_product_option</var></dt> + * <dd>The product option or <tt>0</tt> for any other cases.</dd> + * </dl> + * + * @get get + * @var array[] + */ + public $a_sale_id_group = []; + + /** + * A list of the item's taxes. + * Keys refer tax keys, and values refer to the amount of tax. + * + * @get result + * @var array + */ + public $a_tax; + + /** + * The client prorate date. + * + * This will be `null` in cases where the client prorate date hasn't passed. + * + * @get get + * @var string|null + */ + public $dl_client_prorate = null; + + /** + * The price of the sale item. + * + * @get result + * @var string|null + */ + public $f_price; + + /** + * The price of the sale item, including tax. + * + * @get result + * @var string|null + */ + public $f_price_include; + + /** + * The retail price of the product. This will be empty if this isn't a product. + * + * @get result + * @var string + */ + public $f_price_retail_product = ''; + + /** + * Full price of event. This will be empty if this isn't an event. + * + * @get result + * @var string + */ + public $f_price_total_enrollment = ''; + + /** + * The tax amount. + * + * @get result + * @var string|null + */ + public $f_tax; + + /** + * The sale item description. + * + * @get result + * @var string|null + */ + public $html_description; + + /** + * Special instructions for the sale item. + * + * @get result + * @var string|null + */ + public $html_special; + + /** + * The image height in pixels. Specify this value if you need the image to be returned in a specific size. + * The returned image will have default thumbnail size if this value isn't specified. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * The image width in pixels. Specify this value if you need the image to be returned in a specific size. + * The returned image will have default thumbnail size if this value isn't specified. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The promotion image height in pixels. Specify this value if you need the image to be returned in a specific size. + * The returned image will have default thumbnail size if this value isn't specified. + * + * @get get + * @var int + */ + public $i_promotion_image_height = 0; + + /** + * The promotion image width in pixels. Specify this value if you need the image to be returned in a specific size. + * The returned image will have default thumbnail size if this value isn't specified. + * + * @get get + * @var int + */ + public $i_promotion_image_width = 0; + + /** + * The purchase item category ID. + * One of the {@link WlPurchaseItemSid} constants. + * + * @get result + * @var int + */ + public $id_purchase_item; + + /** + * The ID of the item view category. One of the {@link PurchaseOptionViewSid} constants. + * + * @get result + * @var int + */ + public $id_purchase_option_view; + + /** + * The ID of item category. + * One of the {@link WlSaleSid} constants. + * + * @get get,result + * @var int + */ + public $id_sale = 0; + + /** + * Determines whether the API is called in the backend mode. + * + * @get get + * @var bool + */ + public $is_backend = false; + + /** + * If `true`, the item requires a contract. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_contract; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The item key. + * + * @get get,result + * @var string + */ + public $k_id = 0; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location = '0'; + + /** + * The product option key. + * + * This will be `null` if not set yet. + * + * @get get,result + * @var string|null + */ + public $k_shop_product_option = ''; + + /** + * The discount amount for a discount code. + * + * @get result + * @var string + */ + public $m_discount_code; + + /** + * The discount amount for a user's type. + * + * @get result + * @var string + */ + public $m_discount_login; + + /** + * The price on the price tag. + * + * @get result + * @var string + */ + public $m_price; + + /** + * The price, including taxes. + * + * @get result + * @var string + */ + public $m_price_include; + + /** + * The tax amount. + * + * @get result + * @var string + */ + public $m_tax; + + /** + * Additional comment(s). + * For example, information about 'introductory offer'. + * + * @get result + * @var string + */ + public $s_comment; + + /** + * The price of the sale item in a human-readable format. + * + * @get result + * @var string|null + */ + public $s_price; + + /** + * The category title of the sale item. + * + * @get result + * @var string|null + */ + public $s_sale; + + /** + * The sale item title. + * + * @get result + * @var string|null + */ + public $s_title; + + /** + * A list of goods to get information for. Every element must contain the next keys: + * <dl> + * <dt>int <var>id_sale</var></dt> + * <dd>The ID of the item category. One of the {@link WlSaleSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The item key.</dd> + * <dt>string <var>k_shop_product_option</var></dt> + * <dd>The product option key. This will be <tt>0</tt> if the item isn't a product.</dd> + * </dl> + * Note that this must be serialized via JSON. + * + * If this field is specified, don't specify any of the following fields: + * * {@link ElementModel::$id_sale} + * * {@link ElementModel::$k_id} + * * {@link ElementModel::$k_shop_product_option} + * + * This will be `null` to get information for only one item. + * + * @get get + * @var string|null + */ + public $text_item = null; + + /** + * The price on the price tag, with the currency sign. + * + * @get result + * @var string + */ + public $text_price; + + /** + * The title of the item category. + * + * @get result + * @var string + */ + public $text_sale; + + /** + * The item title. + * + * @get result + * @var string + */ + public $text_title; + + /** + * The UID of a customer (user) for whom the purchase is made. This is used in the backend to calculate discounts. + * + * @get get + * @var string + */ + public $uid_customer = ''; + + /** + * A detailed description. + * + * @get result + * @var string|null + * @deprecated Use `html_description`. + */ + public $xml_description; + + /** + * Special instructions. + * + * @get result + * @var string|null + * @deprecated Use `html_special`. + */ + public $xml_special; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php b/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php index b64dae27..59b6bcc8 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php @@ -1,56 +1,56 @@ -<?php - -namespace WellnessLiving\Wl\Catalog\CatalogList; - -use WellnessLiving\WlModelAbstract; - -/** - * Displays information about store items. - */ -class ListModel extends WlModelAbstract -{ - /** - * The list of all sale items. - * - * @get result - * @var array - */ - public $a_product; - - /** - * The list of products to show with duplicates. - * - * Products have their own order within every shop category, and they can be related to several categories. - * As a design decision, products are sorted in the backend using duplicates for every category. - * - * @get result - * @var array - */ - public $a_product_duplicate; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The key of a location. - * - * @get get - * @var string - */ - public $k_location = '0'; - - /** - * The key of user. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Catalog\CatalogList; + +use WellnessLiving\WlModelAbstract; + +/** + * Displays information about store items. + */ +class ListModel extends WlModelAbstract +{ + /** + * The list of all sale items. + * + * @get result + * @var array + */ + public $a_product; + + /** + * The list of products to show with duplicates. + * + * Products have their own order within every shop category, and they can be related to several categories. + * As a design decision, products are sorted in the backend using duplicates for every category. + * + * @get result + * @var array + */ + public $a_product_duplicate; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The key of a location. + * + * @get get + * @var string + */ + public $k_location = '0'; + + /** + * The key of user. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php index ab60964e..d297ee29 100644 --- a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php @@ -1,536 +1,536 @@ -<?php - -namespace WellnessLiving\Wl\Catalog\Payment; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Insurance\Catalog\ProgramListModel; -use WellnessLiving\Wl\Insurance\Enrollment\Field\EnrollmentFieldListModel; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Purchases an item and performs the payment in the store. - * - * This endpoint uses a CAPTCHA check. To pass the CAPTCHA, consult the CAPTCHA API documentation. - * The documentation specifies that a captcha must be sent for a specific action. - * - * For this API an action is {@link BusinessPaymentCaptcha::CID}. - */ -class PaymentModel extends WlModelAbstract -{ - /** - * The staff commission earned for this purchase. If this isn't empty, it has the next fields: <dl> - * <dt>string <var>k_staff</var></dt> - * <dd>The staff key.</dd> - * <dt>string <var>k_staff_pay</var></dt> - * <dd>The payment schema key.</dd> - * </dl> - * - * @post get - * @var array - */ - public $a_commission = []; - - /** - * The list of items in the cart. - * - * This parameter is required. - * - * Every element must have the following keys: - * <dl> - * <dt> - * array [<var>a_config</var>] - * </dt> - * <dd> - * Additional configuration information. This may contain the next keys: - * <dl> - * <dt> - * array [<var>a_quick_gift</var>] - * </dt> - * <dd> - * A list of components to be added to the client. For quick gift cards only: <dl> - * <dt>int <var>i_count</var></dt> - * <dd>The quantity of elements.</dd> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The purchase type of the element. One of the {@link WlPurchaseItemSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The primary key of the element, depending on the element type.</dd></dl> - * </dd> - * <dt> - * array [<var>a_uid_share</var>] - * </dt> - * <dd> - * An array of UIDs representing the client's relatives that share the Purchase Option. - * </dd> - * <dt> - * array [<var>a_wellness_program</var>] - * </dt> - * <dd> - * "Wellness Program" fields. - * - * <var>k_wellness_program</var> must be passed along with this array. See the description below. - * - * <dl> - * <dt>array <var>a_account</var></dt> - * <dd>See {@link EnrollmentFieldListModel::$a_account} for a full description.</dd> - * <dt>array <var>a_field</var></dt> - * <dd>See {@link EnrollmentFieldListModel::$a_field} for a full description.</dd> - * </dl> - * - * It's recommended to validate the fields using the POST method of the {@link EnrollmentFieldListModel} model. - * </dd> - * <dt> - * string [<var>dt_prorate</var>] - * </dt> - * <dd> - * The prorate date, used only for memberships. - * </dd> - * <dt> - * string [<var>dt_send_local</var>] - * </dt> - * <dd> - * The date when the gift card will be sent. This is only used for gift cards. - * </dd> - * <dt> - * string [<var>dt_start</var>] - * </dt> - * <dd> - * The start date, used only for memberships. - * </dd> - * <dt> - * bool [<var>is_pay_when_start</var>] - * </dt> - * <dd> - * If `true`, the client won't be charged for this item until its start date. Otherwise, this will be `false`. - * The Purchase Option must have a specified start date. - * </dd> - * <dt> - * bool [<var>is_prorate</var>] - * </dt> - * <dd> - * If this is set to `1`, this purchase will use the prorate rule. Otherwise, set this to `0`. This is only used for memberships. - * </dd> - * <dt> - * bool [<var>is_prorate_fix</var>] - * </dt> - * <dd> - * If this is set to `1`, the custom prorate amount will be used. Otherwise, set this to `0`. This is only used for memberships. - * </dd> - * <dt> - * bool [<var>is_prorate_only</var>] - * </dt> - * <dd> - * If this is set to `1`, this purchase is prorate only. Otherwise, set this to `0`. This is only used for memberships. - * </dd> - * <dt> - * bool [<var>is_renew</var>] - * </dt> - * <dd> - * If this is set to `1`, auto-renew will be enabled for the item. Otherwise, set this to `0`. This is only used for memberships. - * </dd> - * <dt> - * string [<var>k_appointment</var>] - * </dt> - * <dd> - * The appointment key, used only for appointment add-ons. - * </dd> - * <dt> - * string [<var>k_coupon_amount</var>] - * </dt> - * <dd> - * The key of the gift card amount, used only for gift cards. - * </dd> - * <dt> - * string [<var>k_staff</var>] - * </dt> - * <dt> - * string [<var>k_wellness_program</var>] - * </dt> - * <dd> - * The "Wellness Program" key. Set this for the insurance membership promotion. - * - * <var>a_wellness_program</var> array must be passed along with the key. See the array description above. - * - * <p>Use the following models to work with this type of promotion:</p> - * <ul> - * <li>{@link ProgramListModel} to obtain list of active programs.</li> - * <li>{@link EnrollmentFieldListModel} to get and validate fields for a given program.</li> - * </ul> - * </dd> - * <dd> - * The staff member key, used only for appointment tips. - * </dd> - * <dt> - * string [<var>m_prorate_custom</var>] - * </dt> - * <dd> - * The custom prorate price, used only memberships only. This is only used if <var>is_prorate_fix</var> is <tt>true</tt>. - * </dd> - * <dt> - * string [<var>s_code</var>] - * </dt> - * <dd> - * The gift card code. This is required for gift cards. - * </dd> - * <dt> - * string [<var>s_image</var>] - * </dt> - * <dd> - * The key of the image for the gift card. If empty, the business's first gift card image will be used. Specify this only for gift cards. - * </dd> - * <dt> - * string [<var>s_mail</var>] - * </dt> - * <dd> - * The gift card receiver email. This is required for gift cards. - * </dd> - * <dt> - * string [<var>s_recipient</var>] - * </dt> - * <dd> - * The gift card receiver name. This is required for gift cards. - * </dd> - * <dt> - * string [<var>s_sender</var>] - * </dt> - * <dd> - * The gift card sender name. This is required for gift cards. - * </dd> - * <dt> - * string <var>[uid_to]</var> - * </dt> - * <dd> - * Specifies the recipient of a transfer Purchase Option. - * </dd> - * </dl> - * </dd> - * <dt> - * array[] [<var>a_tax_custom</var>] - * </dt> - * <dd> - * Customer taxes (optional). Every element must contain the following keys: - * <dl><dt>string <var>f_tax</var></dt><dd>The tax amount.</dd> - * <dt>string <var>k_tax</var></dt><dd>The tax key.</dd></dl> - * </dd> - * <dt> - * string [<var>html_contract</var>] - * </dt> - * <dd> - * The contract text. This is only required for items that require contract signing. - * </dd> - * <dt> - * int <var>i_quantity</var> - * </dt> - * <dd> - * The item quantity. - * </dd> - * <dt> - * int <var>id_sale</var> - * </dt> - * <dd> - * The item type ID. One of the {@link WlSaleSid} constants. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The item key. - * </dd> - * <dt> - * string [<var>k_shop_product_option</var>] - * </dt> - * <dd> - * The product option key, required only for products. - * </dd> - * <dt> - * string [<var>m_price_custom</var>] - * </dt> - * <dd> - * The custom price (optional). - * </dd> - * <dt> - * string <var>[s_signature]</var> - * </dt> - * <dd> - * The client signature, used for items that require a signed contract. - * </dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_item = []; - - /** - * A list of payment sources to pay with. - * - * Each element has next keys: - * <dl> - * <dt> - * array [<var>a_pay_card</var>] - * </dt> - * <dd> - * The payment card information: - * <dl> - * <dt> - * array <var>a_pay_address</var> - * </dt> - * <dd> - * The payment address: - * <dl> - * <dt>boolean <var>is_new</var></dt> - * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> - * <dt>string [<var>k_geo_country</var>]</dt> - * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_geo_region</var>]</dt> - * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>k_pay_address</var>]</dt> - * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> - * <dt>string [<var>s_city</var>]</dt> - * <dd>The city used for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_name</var>]</dt> - * <dd>The card name. Specify this to add a new address.</dd> - * <dt>string [<var>s_phone</var>]</dt> - * <dd>The payment phone. Specify this to add a new address.</dd> - * <dt>string [<var>s_postal</var>]</dt> - * <dd>The postal code for the payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street1</var>]</dt> - * <dd>The payment address. Specify this to add a new address.</dd> - * <dt>string [<var>s_street2</var>]</dt> - * <dd>The optional payment address. Specify this to add a new address.</dd> - * </dl> - * </dd> - * <dt> - * int [<var>i_csc</var>] - * </dt> - * <dd> - * The credit card CSC. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_month</var>] - * </dt> - * <dd> - * The credit card expiration month. Specify this to add a new card. - * </dd> - * <dt> - * int [<var>i_year</var>] - * </dt> - * <dd> - * The credit card expiration year. Specify this to add a new card. - * </dd> - * <dt> - * boolean <var>is_new</var> - * </dt> - * <dd> - * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. - * </dd> - * <dt> - * string [<var>k_pay_bank</var>] - * </dt> - * <dd> - * The key of the credit card. Specify this to use saved card. - * </dd> - * <dt> - * string [<var>s_comment</var>] - * </dt> - * <dd> - * Optional comment(s). Specify this to add a new card. - * </dd> - * <dt> - * string [<var>s_number</var>] - * </dt> - * <dd> - * The card number. Specify this to add a new card. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_amount</var> - * </dt> - * <dd> - * The amount of money to withdraw with this payment source. - * </dd> - * <dt> - * boolean [<var>is_hide</var>] - * </dt> - * <dd> - * Determines whether this payment method is hidden. - * </dd> - * <dt> - * boolean [<var>is_success</var>=<tt>false</tt>] - * </dt> - * <dd> - * Identifies whether this source was successfully charged. - * </dd> - * <dt> - * string [<var>m_surcharge</var>] - * </dt> - * <dd> - * The client-side calculated surcharge. - * </dd> - * <dt> - * string [<var>s_index</var>] - * </dt> - * <dd> - * The index of this form (optional). - * </dd> - * <dt> - * string <var>sid_pay_method</var> - * </dt> - * <dd> - * The payment method ID. - * </dd> - * </dl> - * - * @post post - * @var array[] - */ - public $a_pay_form = []; - - /** - * The list of quiz response keys. - * Keys refer to quiz keys. - * And values refer to responses. - * - * @post post - * @var array - */ - public $a_quiz_response = []; - - /** - * The percentage discount (optional). - * - * @post post - * @var float - */ - public $f_discount_percent = 0; - - /** - * The WellnessLiving mode type (required). One of the {@link ModeSid} constants. - * - * @post get - * @var int - */ - public $id_mode = 0; - - /** - * Determines if the payment owner is an anonymous user (optional). - * - * @post get - * @var bool - */ - public $is_guest = false; - - /** - * Specify this if operations are performed by the staff member (optional). - * - * @post get - * @var bool - */ - public $is_staff = false; - - /** - * The business key (required). - * - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The location key (required). - * - * @post get - * @var string - */ - public $k_location = '0'; - - /** - * The key of login activity. - * - * This will be `null` if not set yet. - * - * @post result - * @var string|null - */ - public $k_login_activity = null; - - /** - * The installment template key (optional). - * This will be `null` if the installment plan doesn't exist or isn't set for the purchased item. - * - * @post post - * @var string - */ - public $k_pay_installment_template; - - /** - * The purchase key created during payment. - * - * @post result - * @var string - */ - public $k_purchase; - - /** - * The visit key to be paid (optional). - * - * @post post - * @var string - */ - public $k_visit = '0'; - - /** - * The amount to discount (optional). - * - * @post post - * @var string - */ - public $m_discount_flat = '0'; - - /** - * The manual surcharge amount. - * - * An empty string represents an automatic surcharge amount. - * - * @post post - * @var string - */ - public $m_surcharge; - - /** - * The tip amount (optional). - * - * @post post - * @var string - */ - public $m_tip = '0'; - - /** - * The discount code (optional). - * - * @post post - * @var string - */ - public $text_discount_code = ''; - - /** - * The custom receipt note. - * - * @post post - * @var string - */ - public $text_receipt_note = ''; - - /** - * The user's key (required). - * - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Catalog\Payment; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Insurance\Catalog\ProgramListModel; +use WellnessLiving\Wl\Insurance\Enrollment\Field\EnrollmentFieldListModel; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Purchases an item and performs the payment in the store. + * + * This endpoint uses a CAPTCHA check. To pass the CAPTCHA, consult the CAPTCHA API documentation. + * The documentation specifies that a captcha must be sent for a specific action. + * + * For this API an action is {@link BusinessPaymentCaptcha::CID}. + */ +class PaymentModel extends WlModelAbstract +{ + /** + * The staff commission earned for this purchase. If this isn't empty, it has the next fields: <dl> + * <dt>string <var>k_staff</var></dt> + * <dd>The staff key.</dd> + * <dt>string <var>k_staff_pay</var></dt> + * <dd>The payment schema key.</dd> + * </dl> + * + * @post get + * @var array + */ + public $a_commission = []; + + /** + * The list of items in the cart. + * + * This parameter is required. + * + * Every element must have the following keys: + * <dl> + * <dt> + * array [<var>a_config</var>] + * </dt> + * <dd> + * Additional configuration information. This may contain the next keys: + * <dl> + * <dt> + * array [<var>a_quick_gift</var>] + * </dt> + * <dd> + * A list of components to be added to the client. For quick gift cards only: <dl> + * <dt>int <var>i_count</var></dt> + * <dd>The quantity of elements.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The purchase type of the element. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The primary key of the element, depending on the element type.</dd></dl> + * </dd> + * <dt> + * array [<var>a_uid_share</var>] + * </dt> + * <dd> + * An array of UIDs representing the client's relatives that share the Purchase Option. + * </dd> + * <dt> + * array [<var>a_wellness_program</var>] + * </dt> + * <dd> + * "Wellness Program" fields. + * + * <var>k_wellness_program</var> must be passed along with this array. See the description below. + * + * <dl> + * <dt>array <var>a_account</var></dt> + * <dd>See {@link EnrollmentFieldListModel::$a_account} for a full description.</dd> + * <dt>array <var>a_field</var></dt> + * <dd>See {@link EnrollmentFieldListModel::$a_field} for a full description.</dd> + * </dl> + * + * It's recommended to validate the fields using the POST method of the {@link EnrollmentFieldListModel} model. + * </dd> + * <dt> + * string [<var>dt_prorate</var>] + * </dt> + * <dd> + * The prorate date, used only for memberships. + * </dd> + * <dt> + * string [<var>dt_send_local</var>] + * </dt> + * <dd> + * The date when the gift card will be sent. This is only used for gift cards. + * </dd> + * <dt> + * string [<var>dt_start</var>] + * </dt> + * <dd> + * The start date, used only for memberships. + * </dd> + * <dt> + * bool [<var>is_pay_when_start</var>] + * </dt> + * <dd> + * If `true`, the client won't be charged for this item until its start date. Otherwise, this will be `false`. + * The Purchase Option must have a specified start date. + * </dd> + * <dt> + * bool [<var>is_prorate</var>] + * </dt> + * <dd> + * If this is set to `1`, this purchase will use the prorate rule. Otherwise, set this to `0`. This is only used for memberships. + * </dd> + * <dt> + * bool [<var>is_prorate_fix</var>] + * </dt> + * <dd> + * If this is set to `1`, the custom prorate amount will be used. Otherwise, set this to `0`. This is only used for memberships. + * </dd> + * <dt> + * bool [<var>is_prorate_only</var>] + * </dt> + * <dd> + * If this is set to `1`, this purchase is prorate only. Otherwise, set this to `0`. This is only used for memberships. + * </dd> + * <dt> + * bool [<var>is_renew</var>] + * </dt> + * <dd> + * If this is set to `1`, auto-renew will be enabled for the item. Otherwise, set this to `0`. This is only used for memberships. + * </dd> + * <dt> + * string [<var>k_appointment</var>] + * </dt> + * <dd> + * The appointment key, used only for appointment add-ons. + * </dd> + * <dt> + * string [<var>k_coupon_amount</var>] + * </dt> + * <dd> + * The key of the gift card amount, used only for gift cards. + * </dd> + * <dt> + * string [<var>k_staff</var>] + * </dt> + * <dt> + * string [<var>k_wellness_program</var>] + * </dt> + * <dd> + * The "Wellness Program" key. Set this for the insurance membership promotion. + * + * <var>a_wellness_program</var> array must be passed along with the key. See the array description above. + * + * <p>Use the following models to work with this type of promotion:</p> + * <ul> + * <li>{@link ProgramListModel} to obtain list of active programs.</li> + * <li>{@link EnrollmentFieldListModel} to get and validate fields for a given program.</li> + * </ul> + * </dd> + * <dd> + * The staff member key, used only for appointment tips. + * </dd> + * <dt> + * string [<var>m_prorate_custom</var>] + * </dt> + * <dd> + * The custom prorate price, used only memberships only. This is only used if <var>is_prorate_fix</var> is <tt>true</tt>. + * </dd> + * <dt> + * string [<var>s_code</var>] + * </dt> + * <dd> + * The gift card code. This is required for gift cards. + * </dd> + * <dt> + * string [<var>s_image</var>] + * </dt> + * <dd> + * The key of the image for the gift card. If empty, the business's first gift card image will be used. Specify this only for gift cards. + * </dd> + * <dt> + * string [<var>s_mail</var>] + * </dt> + * <dd> + * The gift card receiver email. This is required for gift cards. + * </dd> + * <dt> + * string [<var>s_recipient</var>] + * </dt> + * <dd> + * The gift card receiver name. This is required for gift cards. + * </dd> + * <dt> + * string [<var>s_sender</var>] + * </dt> + * <dd> + * The gift card sender name. This is required for gift cards. + * </dd> + * <dt> + * string <var>[uid_to]</var> + * </dt> + * <dd> + * Specifies the recipient of a transfer Purchase Option. + * </dd> + * </dl> + * </dd> + * <dt> + * array[] [<var>a_tax_custom</var>] + * </dt> + * <dd> + * Customer taxes (optional). Every element must contain the following keys: + * <dl><dt>string <var>f_tax</var></dt><dd>The tax amount.</dd> + * <dt>string <var>k_tax</var></dt><dd>The tax key.</dd></dl> + * </dd> + * <dt> + * string [<var>html_contract</var>] + * </dt> + * <dd> + * The contract text. This is only required for items that require contract signing. + * </dd> + * <dt> + * int <var>i_quantity</var> + * </dt> + * <dd> + * The item quantity. + * </dd> + * <dt> + * int <var>id_sale</var> + * </dt> + * <dd> + * The item type ID. One of the {@link WlSaleSid} constants. + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The item key. + * </dd> + * <dt> + * string [<var>k_shop_product_option</var>] + * </dt> + * <dd> + * The product option key, required only for products. + * </dd> + * <dt> + * string [<var>m_price_custom</var>] + * </dt> + * <dd> + * The custom price (optional). + * </dd> + * <dt> + * string <var>[s_signature]</var> + * </dt> + * <dd> + * The client signature, used for items that require a signed contract. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_item = []; + + /** + * A list of payment sources to pay with. + * + * Each element has next keys: + * <dl> + * <dt> + * array [<var>a_pay_card</var>] + * </dt> + * <dd> + * The payment card information: + * <dl> + * <dt> + * array <var>a_pay_address</var> + * </dt> + * <dd> + * The payment address: + * <dl> + * <dt>boolean <var>is_new</var></dt> + * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> + * <dt>string [<var>k_geo_country</var>]</dt> + * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_geo_region</var>]</dt> + * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_pay_address</var>]</dt> + * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> + * <dt>string [<var>s_city</var>]</dt> + * <dd>The city used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_name</var>]</dt> + * <dd>The card name. Specify this to add a new address.</dd> + * <dt>string [<var>s_phone</var>]</dt> + * <dd>The payment phone. Specify this to add a new address.</dd> + * <dt>string [<var>s_postal</var>]</dt> + * <dd>The postal code for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street1</var>]</dt> + * <dd>The payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street2</var>]</dt> + * <dd>The optional payment address. Specify this to add a new address.</dd> + * </dl> + * </dd> + * <dt> + * int [<var>i_csc</var>] + * </dt> + * <dd> + * The credit card CSC. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_month</var>] + * </dt> + * <dd> + * The credit card expiration month. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_year</var>] + * </dt> + * <dd> + * The credit card expiration year. Specify this to add a new card. + * </dd> + * <dt> + * boolean <var>is_new</var> + * </dt> + * <dd> + * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. + * </dd> + * <dt> + * string [<var>k_pay_bank</var>] + * </dt> + * <dd> + * The key of the credit card. Specify this to use saved card. + * </dd> + * <dt> + * string [<var>s_comment</var>] + * </dt> + * <dd> + * Optional comment(s). Specify this to add a new card. + * </dd> + * <dt> + * string [<var>s_number</var>] + * </dt> + * <dd> + * The card number. Specify this to add a new card. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>f_amount</var> + * </dt> + * <dd> + * The amount of money to withdraw with this payment source. + * </dd> + * <dt> + * boolean [<var>is_hide</var>] + * </dt> + * <dd> + * Determines whether this payment method is hidden. + * </dd> + * <dt> + * boolean [<var>is_success</var>=<tt>false</tt>] + * </dt> + * <dd> + * Identifies whether this source was successfully charged. + * </dd> + * <dt> + * string [<var>m_surcharge</var>] + * </dt> + * <dd> + * The client-side calculated surcharge. + * </dd> + * <dt> + * string [<var>s_index</var>] + * </dt> + * <dd> + * The index of this form (optional). + * </dd> + * <dt> + * string <var>sid_pay_method</var> + * </dt> + * <dd> + * The payment method ID. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * The list of quiz response keys. + * Keys refer to quiz keys. + * And values refer to responses. + * + * @post post + * @var array + */ + public $a_quiz_response = []; + + /** + * The percentage discount (optional). + * + * @post post + * @var float + */ + public $f_discount_percent = 0; + + /** + * The WellnessLiving mode type (required). One of the {@link ModeSid} constants. + * + * @post get + * @var int + */ + public $id_mode = 0; + + /** + * Determines if the payment owner is an anonymous user (optional). + * + * @post get + * @var bool + */ + public $is_guest = false; + + /** + * Specify this if operations are performed by the staff member (optional). + * + * @post get + * @var bool + */ + public $is_staff = false; + + /** + * The business key (required). + * + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The location key (required). + * + * @post get + * @var string + */ + public $k_location = '0'; + + /** + * The key of login activity. + * + * This will be `null` if not set yet. + * + * @post result + * @var string|null + */ + public $k_login_activity = null; + + /** + * The installment template key (optional). + * This will be `null` if the installment plan doesn't exist or isn't set for the purchased item. + * + * @post post + * @var string + */ + public $k_pay_installment_template; + + /** + * The purchase key created during payment. + * + * @post result + * @var string + */ + public $k_purchase; + + /** + * The visit key to be paid (optional). + * + * @post post + * @var string + */ + public $k_visit = '0'; + + /** + * The amount to discount (optional). + * + * @post post + * @var string + */ + public $m_discount_flat = '0'; + + /** + * The manual surcharge amount. + * + * An empty string represents an automatic surcharge amount. + * + * @post post + * @var string + */ + public $m_surcharge; + + /** + * The tip amount (optional). + * + * @post post + * @var string + */ + public $m_tip = '0'; + + /** + * The discount code (optional). + * + * @post post + * @var string + */ + public $text_discount_code = ''; + + /** + * The custom receipt note. + * + * @post post + * @var string + */ + public $text_receipt_note = ''; + + /** + * The user's key (required). + * + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php b/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php index a9c1322a..cfa4b579 100644 --- a/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php +++ b/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php @@ -1,65 +1,65 @@ -<?php - -namespace WellnessLiving\Wl\Catalog; - -use WellnessLiving\Wl\WlProgramSid; - -/** - * A list of Purchase Option view types. - * - * Last ID: 9. - */ -class PurchaseOptionViewSid -{ - /** - * A single appointment reservation. - */ - const APPOINTMENT = 1; - - /** - * A single class reservation. - */ - const CLASS_PERIOD = 2; - - /** - * A gift card. - */ - const COUPON = 3; - - /** - * Enrollments. Classes where flag event is <tt>true</tt>. - */ - const ENROLLMENT = 4; - - /** - * Promotions with programs: - * * {@link WlProgramSid::ACCOUNT_MEMBERSHIP}; - * * {@link WlProgramSid::CLASS_MEMBERSHIP}; - * * {@link WlProgramSid::RESOURCE_MEMBERSHIP}; - * * {@link WlProgramSid::SERVICE_MEMBERSHIP}; - * * {@link WlProgramSid::VISIT_MEMBERSHIP}. - */ - const MEMBERSHIP = 8; - - /** - * Promotions with program {@link WlProgramSid::PACKAGE}. - */ - const PACKAGE = 5; - - /** - * Products (such as water, t-shirts, etc.). - */ - const PRODUCT = 6; - - /** - * Session passes. - */ - const PROMOTION = 7; - - /** - * Products available for quick buy. - */ - const QUICK_BUY = 9; -} - +<?php + +namespace WellnessLiving\Wl\Catalog; + +use WellnessLiving\Wl\WlProgramSid; + +/** + * A list of Purchase Option view types. + * + * Last ID: 9. + */ +class PurchaseOptionViewSid +{ + /** + * A single appointment reservation. + */ + const APPOINTMENT = 1; + + /** + * A single class reservation. + */ + const CLASS_PERIOD = 2; + + /** + * A gift card. + */ + const COUPON = 3; + + /** + * Enrollments. Classes where flag event is <tt>true</tt>. + */ + const ENROLLMENT = 4; + + /** + * Promotions with programs: + * * {@link WlProgramSid::ACCOUNT_MEMBERSHIP}; + * * {@link WlProgramSid::CLASS_MEMBERSHIP}; + * * {@link WlProgramSid::RESOURCE_MEMBERSHIP}; + * * {@link WlProgramSid::SERVICE_MEMBERSHIP}; + * * {@link WlProgramSid::VISIT_MEMBERSHIP}. + */ + const MEMBERSHIP = 8; + + /** + * Promotions with program {@link WlProgramSid::PACKAGE}. + */ + const PACKAGE = 5; + + /** + * Products (such as water, t-shirts, etc.). + */ + const PRODUCT = 6; + + /** + * Session passes. + */ + const PROMOTION = 7; + + /** + * Products available for quick buy. + */ + const QUICK_BUY = 9; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/StaffApp/CatalogCart/CatalogCartModel.php b/WellnessLiving/Wl/Catalog/StaffApp/CatalogCart/CatalogCartModel.php index cb42bd20..f76fdb75 100644 --- a/WellnessLiving/Wl/Catalog/StaffApp/CatalogCart/CatalogCartModel.php +++ b/WellnessLiving/Wl/Catalog/StaffApp/CatalogCart/CatalogCartModel.php @@ -1,276 +1,276 @@ -<?php - -namespace WellnessLiving\Wl\Catalog\StaffApp\CatalogCart; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Calculates price data for a sale item. - * - * Note that the terms "promotion" and "Purchase Option" refer to the same thing. - */ -class CatalogCartModel extends WlModelAbstract -{ - /** - * A list of available discount codes with the next structure: - * <dl> - * <dt>bool <var>is_select</var></dt> - * <dd>`true` if this code is selected currently, `false` otherwise.</dd> - * <dt>string <var>k_discount_code</var></dt> - * <dd>Discount code key.</dd> - * <dt>string <var>text_discount_code</var></dt> - * <dd>Value of the code that can be used to get discount.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>Name of the code.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_discount_code = []; - - /** - * The list of cart items with the next structure: - * <dl> - * <dt>array [<var>a_config</var>]</dt> - * <dd> - * The list of purchase item additional options: - * <dl> - * <dt>string [<var>f_price</var>]</dt> - * <dd>The custom price.</dd> - * <dt>string [<var>dt_prorate</var>]</dt> - * <dd>The prorate date. This should be passed when <var>is_prorate</var>=<tt>true</tt>.</dd> - * <dt>string [<var>dt_start</var>]</dt> - * <dd>The promotion start date.</dd> - * <dt>bool [<var>is_prorate</var>]</dt> - * <dd>Determines whether to prorate the first payment.</dd> - * <dt>bool [<var>is_prorate_fix</var>]</dt> - * <dd>Determines if the client should pay for the first period now.</dd> - * <dt>bool [<var>is_prorate_only</var>]</dt> - * <dd>Determines whether the selected option 'pay prorate amount only' should only include the prorate amount.</dd> - * <dt>string [<var>m_custom</var>]</dt> - * <dd>The custom price of the gift card.</dd> - * <dt>string [<var>dt_send_local</var>]</dt> - * <dd>The date when the gift card email must be sent.</dd> - * <dt>bool <var>is_mail</var></dt> - * <dd>If <tt>true</tt>, the gift card will be sent via email. Otherwise, <tt>false</tt> if the gift card will be printed.</dd> - * <dt>string [<var>s_mail</var>]</dt> - * <dd>The recipient's email.</dd> - * <dt>string [<var>s_message</var>]</dt> - * <dd>The message.</dd> - * <dt>string <var>s_recipient</var></dt> - * <dd>The recipient's name.</dd> - * <dt>string <var>s_sender</var></dt> - * <dd>The sender's name.</dd> - * <dt>string <var>m_prorate_custom</var></dt> - * <dd>The amount of money for the prorate period. This should only be passed in the case of manual entry.</dd> - * <dt>string <var>k_coupon</var></dt> - * <dd>The coupon key.</dd> - * <dt>string <var>k_coupon_amount</var></dt> - * <dd>The coupon amount key.</dd> - * </dl> - * </dd> - * <dt>array [<var>a_tax_custom</var>]</dt> - * <dd> - * Information about taxes. If not passed, no custom taxes have been applied to the sale item. - * If a record is present, the tax is custom using the next structure: - * <dl> - * <dt>string <var>f_tax</var></dt> - * <dd>The tax amount.</dd> - * <dt>string <var>k_tax</var></dt> - * <dd>The tax keys.</dd> - * </dl> - * </dd> - * <dt>int [<var>f_discount_percent</var>]</dt> - * <dd>The discount percentage, applied to the current item.</dd> - * <dt>int <var>i_quantity</var></dt> - * <dd>The quantity of sale items.</dd> - * <dt>int <var>id_sale</var></dt> - * <dd>The sale item type. One of the {@link WlSaleSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The sale item key.</dd> - * <dt>string <var>k_shop_product_option</var></dt> - * <dd> - * The store product option key. This will be <tt>null</tt> if the sale item has no options. - * - * </dd> - * <dt>string [<var>m_discount_fix</var>]</dt> - * <dd>The fixed price discount, applied to the current item.</dd> - * <dt>string [<var>m_price_custom</var>]</dt> - * <dd>The custom price of the sale item. If not passed, no custom price has been applied to the sale item.</dd> - * </dl> - * - * @get get - * @var array[] - */ - public $a_item = []; - - /** - * The discount as a percentage. - * - * @get get - * @var float - */ - public $f_discount_percent = 0; - - /** - * If `true`, every item is checked at the cart. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $is_check_cart_item = false; - - /** - * Determines whether the business applied a commission at checkout. - * - * @get result - * @var bool - */ - public $is_commission = false; - - /** - * Determines, how staff sees discount codes in Store. - * `true` as select field, `false` as input field. - * - * @get result - * @var bool - */ - public $is_discount_code_mode_select = false; - - /** - * Determines whether to display custom receipt notes at checkout. - * - * @get result - * @var bool - */ - public $is_receipt_note = false; - - /** - * The business key. - * - * This field isn't used directly, but described for correct JavaScript auto-generation. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The business location key. - * - * @get get - * @var string - */ - public $k_location = ''; - - /** - * The discount amount in dollars, excluding tax. - * - * @get result - * @var string - */ - public $m_discount; - - /** - * The manual discount amount in dollars, excluding tax. - * Staff members can set this amount when making a sale. - * - * @get get - * @var string - */ - public $m_discount_flat = ''; - - /** - * The discount amount applied to the cart's total amount, including taxes. - * - * @get result - * @var string - */ - public $m_discount_total; - - /** - * The subtotal amount. - * - * @get result - * @var string - */ - public $m_subtotal; - - /** - * The amount of tax. - * - * @get result - * @var string - */ - public $m_tax; - - /** - * The amount of tips. - * - * @get get - * @var string - */ - public $m_tip = ''; - - /** - * The amount of appointment tips. - * - * @get result - * @var string - */ - public $m_tip_purchase; - - /** - * The cart's total amount. - * - * @get result - * @var string - */ - public $m_total; - - /** - * The discount code. - * - * This will be `null` if not set yet. - * - * @get get - * @var string|null - */ - public $text_discount_code = null; - - /** - * The discount code's error message. - * - * @get result - * @var string - */ - public $text_error_code; - - /** - * The custom receipt note's text. - * - * @get result - * @var string - */ - public $text_receipt_note = ''; - - /** - * The key of the current user. - * - * @get get - * @var string - */ - public $uid_current; - - /** - * The key of the user who performed the purchase. - * - * @get get - * @var string - */ - public $uid_customer = ''; -} - +<?php + +namespace WellnessLiving\Wl\Catalog\StaffApp\CatalogCart; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Calculates price data for a sale item. + * + * Note that the terms "promotion" and "Purchase Option" refer to the same thing. + */ +class CatalogCartModel extends WlModelAbstract +{ + /** + * A list of available discount codes with the next structure: + * <dl> + * <dt>bool <var>is_select</var></dt> + * <dd>`true` if this code is selected currently, `false` otherwise.</dd> + * <dt>string <var>k_discount_code</var></dt> + * <dd>Discount code key.</dd> + * <dt>string <var>text_discount_code</var></dt> + * <dd>Value of the code that can be used to get discount.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>Name of the code.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_discount_code = []; + + /** + * The list of cart items with the next structure: + * <dl> + * <dt>array [<var>a_config</var>]</dt> + * <dd> + * The list of purchase item additional options: + * <dl> + * <dt>string [<var>f_price</var>]</dt> + * <dd>The custom price.</dd> + * <dt>string [<var>dt_prorate</var>]</dt> + * <dd>The prorate date. This should be passed when <var>is_prorate</var>=<tt>true</tt>.</dd> + * <dt>string [<var>dt_start</var>]</dt> + * <dd>The promotion start date.</dd> + * <dt>bool [<var>is_prorate</var>]</dt> + * <dd>Determines whether to prorate the first payment.</dd> + * <dt>bool [<var>is_prorate_fix</var>]</dt> + * <dd>Determines if the client should pay for the first period now.</dd> + * <dt>bool [<var>is_prorate_only</var>]</dt> + * <dd>Determines whether the selected option 'pay prorate amount only' should only include the prorate amount.</dd> + * <dt>string [<var>m_custom</var>]</dt> + * <dd>The custom price of the gift card.</dd> + * <dt>string [<var>dt_send_local</var>]</dt> + * <dd>The date when the gift card email must be sent.</dd> + * <dt>bool <var>is_mail</var></dt> + * <dd>If <tt>true</tt>, the gift card will be sent via email. Otherwise, <tt>false</tt> if the gift card will be printed.</dd> + * <dt>string [<var>s_mail</var>]</dt> + * <dd>The recipient's email.</dd> + * <dt>string [<var>s_message</var>]</dt> + * <dd>The message.</dd> + * <dt>string <var>s_recipient</var></dt> + * <dd>The recipient's name.</dd> + * <dt>string <var>s_sender</var></dt> + * <dd>The sender's name.</dd> + * <dt>string <var>m_prorate_custom</var></dt> + * <dd>The amount of money for the prorate period. This should only be passed in the case of manual entry.</dd> + * <dt>string <var>k_coupon</var></dt> + * <dd>The coupon key.</dd> + * <dt>string <var>k_coupon_amount</var></dt> + * <dd>The coupon amount key.</dd> + * </dl> + * </dd> + * <dt>array [<var>a_tax_custom</var>]</dt> + * <dd> + * Information about taxes. If not passed, no custom taxes have been applied to the sale item. + * If a record is present, the tax is custom using the next structure: + * <dl> + * <dt>string <var>f_tax</var></dt> + * <dd>The tax amount.</dd> + * <dt>string <var>k_tax</var></dt> + * <dd>The tax keys.</dd> + * </dl> + * </dd> + * <dt>int [<var>f_discount_percent</var>]</dt> + * <dd>The discount percentage, applied to the current item.</dd> + * <dt>int <var>i_quantity</var></dt> + * <dd>The quantity of sale items.</dd> + * <dt>int <var>id_sale</var></dt> + * <dd>The sale item type. One of the {@link WlSaleSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The sale item key.</dd> + * <dt>string <var>k_shop_product_option</var></dt> + * <dd> + * The store product option key. This will be <tt>null</tt> if the sale item has no options. + * + * </dd> + * <dt>string [<var>m_discount_fix</var>]</dt> + * <dd>The fixed price discount, applied to the current item.</dd> + * <dt>string [<var>m_price_custom</var>]</dt> + * <dd>The custom price of the sale item. If not passed, no custom price has been applied to the sale item.</dd> + * </dl> + * + * @get get + * @var array[] + */ + public $a_item = []; + + /** + * The discount as a percentage. + * + * @get get + * @var float + */ + public $f_discount_percent = 0; + + /** + * If `true`, every item is checked at the cart. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_check_cart_item = false; + + /** + * Determines whether the business applied a commission at checkout. + * + * @get result + * @var bool + */ + public $is_commission = false; + + /** + * Determines, how staff sees discount codes in Store. + * `true` as select field, `false` as input field. + * + * @get result + * @var bool + */ + public $is_discount_code_mode_select = false; + + /** + * Determines whether to display custom receipt notes at checkout. + * + * @get result + * @var bool + */ + public $is_receipt_note = false; + + /** + * The business key. + * + * This field isn't used directly, but described for correct JavaScript auto-generation. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The business location key. + * + * @get get + * @var string + */ + public $k_location = ''; + + /** + * The discount amount in dollars, excluding tax. + * + * @get result + * @var string + */ + public $m_discount; + + /** + * The manual discount amount in dollars, excluding tax. + * Staff members can set this amount when making a sale. + * + * @get get + * @var string + */ + public $m_discount_flat = ''; + + /** + * The discount amount applied to the cart's total amount, including taxes. + * + * @get result + * @var string + */ + public $m_discount_total; + + /** + * The subtotal amount. + * + * @get result + * @var string + */ + public $m_subtotal; + + /** + * The amount of tax. + * + * @get result + * @var string + */ + public $m_tax; + + /** + * The amount of tips. + * + * @get get + * @var string + */ + public $m_tip = ''; + + /** + * The amount of appointment tips. + * + * @get result + * @var string + */ + public $m_tip_purchase; + + /** + * The cart's total amount. + * + * @get result + * @var string + */ + public $m_total; + + /** + * The discount code. + * + * This will be `null` if not set yet. + * + * @get get + * @var string|null + */ + public $text_discount_code = null; + + /** + * The discount code's error message. + * + * @get result + * @var string + */ + public $text_error_code; + + /** + * The custom receipt note's text. + * + * @get result + * @var string + */ + public $text_receipt_note = ''; + + /** + * The key of the current user. + * + * @get get + * @var string + */ + public $uid_current; + + /** + * The key of the user who performed the purchase. + * + * @get get + * @var string + */ + public $uid_customer = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/ClassList/BookListModel.php b/WellnessLiving/Wl/Classes/ClassList/BookListModel.php index 1a38e67a..2728ba8c 100644 --- a/WellnessLiving/Wl/Classes/ClassList/BookListModel.php +++ b/WellnessLiving/Wl/Classes/ClassList/BookListModel.php @@ -1,75 +1,75 @@ -<?php - -namespace WellnessLiving\Wl\Classes\ClassList; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint to get all the classes for a location. - */ -class BookListModel extends WlModelAbstract -{ - /** - * The class list. Every element has the following structure: - * <dl> - * <dt>array <var>a_class_tab</var></dt> - * <dd>The list of tab keys for the class.</dd> - * - * <dt>string <var>dtu_book_date</var></dt> - * <dd>The book date of an event in UTC date/time format. Can be empty string if user cannot book the event.</dd> - * - * <dt>bool <var>is_active</var></dt> - * <dd>This will be <tt>true</tt> if the class is active. Otherwise, this will be <tt>false</tt>.</dd> - * - * <dt>bool <var>is_event</var></dt> - * <dd>This will be <tt>true</tt> for events. Otherwise, this will be <tt>false</tt> for classes.</dd> - * - * <dt>sting <var>k_class</var></dt> - * <dd>The class key.</dd> - * - * <dt>sting <var>k_enrollment_block</var></dt> - * <dd>The enrollment block key.</dd> - * - * <dt>string <var>m_price_total</var></dt> - * <dd>The total price for an event.</dd> - * - * <dt>sting <var>text_description</var></dt> - * <dd>The class description.</dd> - * - * <dt>sting <var>text_title</var></dt> - * <dd>The class name.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_class; - - /** - * The image height in pixels. Specify this value if you need the image to be returned in a specific size. - * If this value isn't specified, the returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * The image width in pixels. Specify this value if you need the image to be returned in a specific size. - * If this value isn't specified, the returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Classes\ClassList; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint to get all the classes for a location. + */ +class BookListModel extends WlModelAbstract +{ + /** + * The class list. Every element has the following structure: + * <dl> + * <dt>array <var>a_class_tab</var></dt> + * <dd>The list of tab keys for the class.</dd> + * + * <dt>string <var>dtu_book_date</var></dt> + * <dd>The book date of an event in UTC date/time format. Can be empty string if user cannot book the event.</dd> + * + * <dt>bool <var>is_active</var></dt> + * <dd>This will be <tt>true</tt> if the class is active. Otherwise, this will be <tt>false</tt>.</dd> + * + * <dt>bool <var>is_event</var></dt> + * <dd>This will be <tt>true</tt> for events. Otherwise, this will be <tt>false</tt> for classes.</dd> + * + * <dt>sting <var>k_class</var></dt> + * <dd>The class key.</dd> + * + * <dt>sting <var>k_enrollment_block</var></dt> + * <dd>The enrollment block key.</dd> + * + * <dt>string <var>m_price_total</var></dt> + * <dd>The total price for an event.</dd> + * + * <dt>sting <var>text_description</var></dt> + * <dd>The class description.</dd> + * + * <dt>sting <var>text_title</var></dt> + * <dd>The class name.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_class; + + /** + * The image height in pixels. Specify this value if you need the image to be returned in a specific size. + * If this value isn't specified, the returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * The image width in pixels. Specify this value if you need the image to be returned in a specific size. + * If this value isn't specified, the returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/ClassView/ElementModel.php b/WellnessLiving/Wl/Classes/ClassView/ElementModel.php index e89b5ecc..d69cd369 100644 --- a/WellnessLiving/Wl/Classes/ClassView/ElementModel.php +++ b/WellnessLiving/Wl/Classes/ClassView/ElementModel.php @@ -1,169 +1,169 @@ -<?php - -namespace WellnessLiving\Wl\Classes\ClassView; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves information about a class element. - */ -class ElementModel extends WlModelAbstract -{ - /** - * Displays information about the class schedule(s). Each element has the next structure: - * <dl> - * <dt>array <var>a_schedule</var></dt> - * <dd>A list of class schedules. Each element has the next structure: - * <dl> - * <dt>array <var>a_repeat</var></dt> - * <dd>Schedule repeat options: - * <dl> - * <dt>int <var>i_repeat</var></dt> - * <dd>A count of the periods specified in <var>id_repeat</var>.</dd> - * <dt>int <var>id_repeat</var></dt> - * <dd>The measuring unit of <var>i_repeat</var>.</dd> - * </dl> - * </dd> - * <dt>string[] <var>a_staff_key</var></dt> - * <dd>A list of staff member keys that provide sessions for this schedule.</dd> - * <dt>string <var>dl_end</var></dt> - * <dd> - * The end date of the schedule in the location's time zone. - * This will be empty or zero if the schedule is ongoing. - * </dd> - * <dt>string <var>dl_start</var></dt> - * <dd>The start date of the schedule in location's time zone.</dd> - * <dt>int <var>i_day</var></dt> - * <dd>The day of the week, where the class schedule exists, starting with 1 for Monday and ending with 7 for Sunday.</dd> - * <dt>int <var>i_duration</var></dt> - * <dd>The duration of the schedule sessions in minutes.</dd> - * <dt>int <var>is_cancel</var></dt> - * <dd>Defines whether the schedule canceled or not.</dd> - * <dt>string <var>k_location</var></dt> - * <dd>The location key of the schedule.</dd> - * <dt>string <var>m_price</var></dt> - * <dd>The price of a single session of the schedule.</dd> - * <dt>string <var>text_time</var></dt> - * <dd>The time of the session in the following format: `[start_time] - [end_time]` in the locale's time zone.</dd> - * </dl> - * </dd> - * <dt>array <var>a_config</var></dt> - * <dd>Class-specific business policies. This will be <tt>null</tt> in cases when the business policy is used.</dd> - * <dt>array <var>a_search_tag</var></dt> - * <dd>Tags for quick search.</dd> - * <dt>array <var>a_visits_required</var></dt> - * <dd>Information about visits that should be reviewed prior to visiting this class/event.</dd> - * <dt>bool|null <var>has_own_image</var></dt> - * <dd> - * This field will be `true` if the image used for the class is an image uploaded in the class setup. - * If an image isn't uploaded in the class setup, but there's at least one image in Setup->Locations image slider, - * this field will be `false`. - * This field will be `null` if the class image isn't uploaded, and there are no images in location slider. - * In such cases, an empty image is used. - * </dd> - * <dt>string <var>html_description</var></dt> - * <dd>The browser-safe description.</dd> - * <dt>string <var>html_special_instruction</var></dt> - * <dd>Special instructions safe to be inserted to a browser.</dd> - * <dt>int <var>i_age_from</var></dt> - * <dd>The minimum age restriction.</dd> - * <dt>int <var>i_age_to</var></dt> - * <dd>The maximum age restriction.</dd> - * <dt>bool <var>is_age_public</var></dt> - * <dd>Determines whether age restriction exist and should be taken into account prior to booking this class/event.</dd> - * <dt>bool <var>is_bookable</var></dt> - * <dd>Determines whether clients can book the class or event online.</dd>w - * <dt>bool <var>is_online_private</var></dt> - * <dd> - * `true` - show classes only for clients who can book online. - * `false` - show classes for all clients. - * </dd> - * <dt>bool <var>is_promotion_client</var></dt> - * <dd>Determines whether clients of the business can see a list of applicable Purchase Options.</dd> - * <dt>bool <var>is_promotion_only</var></dt> - * <dd>Determines whether the item can be booked only using promotions.</dd> - * <dt>bool <var>is_promotion_staff</var></dt> - * <dd>Determines whether staff members of the business can see a list of applicable Purchase Options.</dd> - * <dt>bool <var>is_single_buy</var></dt> - * <dd> - * Determines whether the item can be paid with Drop In or not. - * If it can be paid with Drop In, then `m_price` shows the price for one visit. - * If this is `0`, it means the class is free. - * </dd> - * <dt>bool <var>is_virtual</var></dt> - * <dd>Determines whether the item is virtual.</dd> - * <dt>bool <var>is_event</var></dt> - * <dd> - * Determines whether the item is an event or class instance. If `true`, the item is an event instance. - * Otherwise, this will be `false`. - * </dd> - * <dt>string <var>k_class</var></dt> - * <dd>The class key.</dd> - * <dt>string <var>m_price</var></dt> - * <dd>Drop In price, if the class allows payment for one visit.</dd> - * <dt>bool <var>show_special_instructions</var></dt> - * <dd> - * This will be `true` if special instructions can be public. - * Otherwise, this will be `false` if they should only be shown to the clients who booked the class. - * </dd> - * <dt>string <var>xml_description</var></dt> - * <dd>The item description.</dd> - * <dt>string <var>xml_special_instruction</var></dt> - * <dd>The item's special instructions.</dd> - * <dt>string <var>url_image</var></dt> - * <dd>The URL link to the item image.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_class_list = []; - - /** - * The image height in pixels. Specify this value if you need the image to be returned in a specific size. - * If this value isn't specified, the returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * The image width in pixels. Specify this value if you need the image to be returned in a specific size. - * If this value isn't specified, the returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The class key used to get information for a specific class. - * - * An empty value returns information for all classes of the business. - * - * @get get - * @var string - */ - public $k_class = ''; - - /** - * Defines if canceled schedules should be included in the result. - * - * If `true`, canceled schedules will be shown. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $show_cancelled = false; -} - +<?php + +namespace WellnessLiving\Wl\Classes\ClassView; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves information about a class element. + */ +class ElementModel extends WlModelAbstract +{ + /** + * Displays information about the class schedule(s). Each element has the next structure: + * <dl> + * <dt>array <var>a_schedule</var></dt> + * <dd>A list of class schedules. Each element has the next structure: + * <dl> + * <dt>array <var>a_repeat</var></dt> + * <dd>Schedule repeat options: + * <dl> + * <dt>int <var>i_repeat</var></dt> + * <dd>A count of the periods specified in <var>id_repeat</var>.</dd> + * <dt>int <var>id_repeat</var></dt> + * <dd>The measuring unit of <var>i_repeat</var>.</dd> + * </dl> + * </dd> + * <dt>string[] <var>a_staff_key</var></dt> + * <dd>A list of staff member keys that provide sessions for this schedule.</dd> + * <dt>string <var>dl_end</var></dt> + * <dd> + * The end date of the schedule in the location's time zone. + * This will be empty or zero if the schedule is ongoing. + * </dd> + * <dt>string <var>dl_start</var></dt> + * <dd>The start date of the schedule in location's time zone.</dd> + * <dt>int <var>i_day</var></dt> + * <dd>The day of the week, where the class schedule exists, starting with 1 for Monday and ending with 7 for Sunday.</dd> + * <dt>int <var>i_duration</var></dt> + * <dd>The duration of the schedule sessions in minutes.</dd> + * <dt>int <var>is_cancel</var></dt> + * <dd>Defines whether the schedule canceled or not.</dd> + * <dt>string <var>k_location</var></dt> + * <dd>The location key of the schedule.</dd> + * <dt>string <var>m_price</var></dt> + * <dd>The price of a single session of the schedule.</dd> + * <dt>string <var>text_time</var></dt> + * <dd>The time of the session in the following format: `[start_time] - [end_time]` in the locale's time zone.</dd> + * </dl> + * </dd> + * <dt>array <var>a_config</var></dt> + * <dd>Class-specific business policies. This will be <tt>null</tt> in cases when the business policy is used.</dd> + * <dt>array <var>a_search_tag</var></dt> + * <dd>Tags for quick search.</dd> + * <dt>array <var>a_visits_required</var></dt> + * <dd>Information about visits that should be reviewed prior to visiting this class/event.</dd> + * <dt>bool|null <var>has_own_image</var></dt> + * <dd> + * This field will be `true` if the image used for the class is an image uploaded in the class setup. + * If an image isn't uploaded in the class setup, but there's at least one image in Setup->Locations image slider, + * this field will be `false`. + * This field will be `null` if the class image isn't uploaded, and there are no images in location slider. + * In such cases, an empty image is used. + * </dd> + * <dt>string <var>html_description</var></dt> + * <dd>The browser-safe description.</dd> + * <dt>string <var>html_special_instruction</var></dt> + * <dd>Special instructions safe to be inserted to a browser.</dd> + * <dt>int <var>i_age_from</var></dt> + * <dd>The minimum age restriction.</dd> + * <dt>int <var>i_age_to</var></dt> + * <dd>The maximum age restriction.</dd> + * <dt>bool <var>is_age_public</var></dt> + * <dd>Determines whether age restriction exist and should be taken into account prior to booking this class/event.</dd> + * <dt>bool <var>is_bookable</var></dt> + * <dd>Determines whether clients can book the class or event online.</dd>w + * <dt>bool <var>is_online_private</var></dt> + * <dd> + * `true` - show classes only for clients who can book online. + * `false` - show classes for all clients. + * </dd> + * <dt>bool <var>is_promotion_client</var></dt> + * <dd>Determines whether clients of the business can see a list of applicable Purchase Options.</dd> + * <dt>bool <var>is_promotion_only</var></dt> + * <dd>Determines whether the item can be booked only using promotions.</dd> + * <dt>bool <var>is_promotion_staff</var></dt> + * <dd>Determines whether staff members of the business can see a list of applicable Purchase Options.</dd> + * <dt>bool <var>is_single_buy</var></dt> + * <dd> + * Determines whether the item can be paid with Drop In or not. + * If it can be paid with Drop In, then `m_price` shows the price for one visit. + * If this is `0`, it means the class is free. + * </dd> + * <dt>bool <var>is_virtual</var></dt> + * <dd>Determines whether the item is virtual.</dd> + * <dt>bool <var>is_event</var></dt> + * <dd> + * Determines whether the item is an event or class instance. If `true`, the item is an event instance. + * Otherwise, this will be `false`. + * </dd> + * <dt>string <var>k_class</var></dt> + * <dd>The class key.</dd> + * <dt>string <var>m_price</var></dt> + * <dd>Drop In price, if the class allows payment for one visit.</dd> + * <dt>bool <var>show_special_instructions</var></dt> + * <dd> + * This will be `true` if special instructions can be public. + * Otherwise, this will be `false` if they should only be shown to the clients who booked the class. + * </dd> + * <dt>string <var>xml_description</var></dt> + * <dd>The item description.</dd> + * <dt>string <var>xml_special_instruction</var></dt> + * <dd>The item's special instructions.</dd> + * <dt>string <var>url_image</var></dt> + * <dd>The URL link to the item image.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_class_list = []; + + /** + * The image height in pixels. Specify this value if you need the image to be returned in a specific size. + * If this value isn't specified, the returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * The image width in pixels. Specify this value if you need the image to be returned in a specific size. + * If this value isn't specified, the returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The class key used to get information for a specific class. + * + * An empty value returns information for all classes of the business. + * + * @get get + * @var string + */ + public $k_class = ''; + + /** + * Defines if canceled schedules should be included in the result. + * + * If `true`, canceled schedules will be shown. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $show_cancelled = false; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/Period/Modify/ModifyModel.php b/WellnessLiving/Wl/Classes/Period/Modify/ModifyModel.php index e85333d9..b0d79027 100644 --- a/WellnessLiving/Wl/Classes/Period/Modify/ModifyModel.php +++ b/WellnessLiving/Wl/Classes/Period/Modify/ModifyModel.php @@ -1,129 +1,129 @@ -<?php - -namespace WellnessLiving\Wl\Classes\Period\Modify; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlClassModifyActionSid; -use WellnessLiving\Wl\WlClassModifyModeSid; - -/** - * Modifies the master model. - */ -class ModifyModel extends WlModelAbstract -{ - /** - * Step information, depending on the steps. - * - * @get result - * @var array - */ - public $a_get; - - /** - * The list of data to save. - * - * @post post - * @var array - */ - public $a_set = []; - - /** - * The end date, returned in MySQL format and the local time. - * - * @get get - * @post get - * @var string - */ - public $dt_end = ''; - - /** - * The start date, returned in MySQL format and the local time. - * - * @get get - * @post get - * @var string - */ - public $dt_start = ''; - - /** - * The class modify step type. One of the {@link WlClassModifyActionSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_class_modify_action = 0; - - /** - * The modify mode type. One of the {@link WlClassModifyModeSid} constants. - * - * @get get - * @post get - * @var int - */ - public $id_class_modify_mode = 0; - - /** - * The class modify action type. One of the {@link WlClassModifyModeSid} constants. - * - * @get get - * @post get,result - * @var int - */ - public $id_step = 0; - - /** - * The step direction. - * - * `true` - step forward. - * - * `false` - step back. - * - * After each step, this variable sets to the default position. - * By default, the step direction is forward. - * - * @get get - * @post get,result - * @var bool|null - */ - public $is_back = false; - - /** - * The business key. - * - * @get get - * @post get - * @var string - */ - public $k_business = ''; - - /** - * The class ID. - * - * @post result - * @var string|null - */ - public $k_class; - - /** - * The class period key. - * - * This will be empty if not set yet. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = ''; - - /** - * The unique hash string. - * - * @get get - * @post get,result - * @var string - */ - public $s_id = ''; -} - +<?php + +namespace WellnessLiving\Wl\Classes\Period\Modify; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlClassModifyActionSid; +use WellnessLiving\Wl\WlClassModifyModeSid; + +/** + * Modifies the master model. + */ +class ModifyModel extends WlModelAbstract +{ + /** + * Step information, depending on the steps. + * + * @get result + * @var array + */ + public $a_get; + + /** + * The list of data to save. + * + * @post post + * @var array + */ + public $a_set = []; + + /** + * The end date, returned in MySQL format and the local time. + * + * @get get + * @post get + * @var string + */ + public $dt_end = ''; + + /** + * The start date, returned in MySQL format and the local time. + * + * @get get + * @post get + * @var string + */ + public $dt_start = ''; + + /** + * The class modify step type. One of the {@link WlClassModifyActionSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_class_modify_action = 0; + + /** + * The modify mode type. One of the {@link WlClassModifyModeSid} constants. + * + * @get get + * @post get + * @var int + */ + public $id_class_modify_mode = 0; + + /** + * The class modify action type. One of the {@link WlClassModifyModeSid} constants. + * + * @get get + * @post get,result + * @var int + */ + public $id_step = 0; + + /** + * The step direction. + * + * `true` - step forward. + * + * `false` - step back. + * + * After each step, this variable sets to the default position. + * By default, the step direction is forward. + * + * @get get + * @post get,result + * @var bool|null + */ + public $is_back = false; + + /** + * The business key. + * + * @get get + * @post get + * @var string + */ + public $k_business = ''; + + /** + * The class ID. + * + * @post result + * @var string|null + */ + public $k_class; + + /** + * The class period key. + * + * This will be empty if not set yet. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = ''; + + /** + * The unique hash string. + * + * @get get + * @post get,result + * @var string + */ + public $s_id = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/Promotion/ClassPromotionModel.php b/WellnessLiving/Wl/Classes/Promotion/ClassPromotionModel.php index 09681c13..c75f1dfa 100644 --- a/WellnessLiving/Wl/Classes/Promotion/ClassPromotionModel.php +++ b/WellnessLiving/Wl/Classes/Promotion/ClassPromotionModel.php @@ -1,89 +1,89 @@ -<?php - -namespace WellnessLiving\Wl\Classes\Promotion; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlProgramSid; - -/** - * Returns a list of promotions that can pay for a business's classes or events. - */ -class ClassPromotionModel extends WlModelAbstract -{ - /** - * Promotion data with the following structure:<dl> - * <dt>string <var>k_promotion</var></dt> - * <dd>The promotion key.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The title of the promotion.</dd> - * <dt>int <var>id_program</var></dt> - * <dd>One of the {@link WlProgramSid} constants.</dd> - * <dt>bool <var>is_select</var></dt> - * <dd><tt>true</tt> if the promotion is related to the class or event, <tt>false</tt> otherwise.</dd> - * </dl>. - * - * @get result - * @var array[] - */ - public $a_promotion = []; - - /** - * Determines whether the class is an event or not. - * - * @get get - * @var bool - */ - public $is_event = false; - - /** - * `true` - the login type or group restrictions are ignored and all pricing options will be returned. This will - * require staff or admin access level. - * - * `false` - the API should return only pricing options, which are available for the current user. - * - * @get get - * @var bool - */ - public $is_login_type_ignore = false; - - /** - * `true` - promotions should only be returned if they're related to the given class or event. - * - * `false` - all promotions should be returned, even if they aren't related to the given class or event. - * - * @get get - * @var bool - */ - public $is_related_only = false; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The class key. - * - * This refers to the class or event with which you want to connect the promotions. This will be `null` or `0` if you - * need to return a list of promotions for an uncreated class or event. - * - * @get get - * @var string|null - */ - public $k_class = null; - - /** - * The default promotion key. - * - * This will be `null` if `k_class` wasn't provided, or if the class has no default promotion. - * - * @get result - * @var string|null - */ - public $k_promotion_default = null; -} - +<?php + +namespace WellnessLiving\Wl\Classes\Promotion; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlProgramSid; + +/** + * Returns a list of promotions that can pay for a business's classes or events. + */ +class ClassPromotionModel extends WlModelAbstract +{ + /** + * Promotion data with the following structure:<dl> + * <dt>string <var>k_promotion</var></dt> + * <dd>The promotion key.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The title of the promotion.</dd> + * <dt>int <var>id_program</var></dt> + * <dd>One of the {@link WlProgramSid} constants.</dd> + * <dt>bool <var>is_select</var></dt> + * <dd><tt>true</tt> if the promotion is related to the class or event, <tt>false</tt> otherwise.</dd> + * </dl>. + * + * @get result + * @var array[] + */ + public $a_promotion = []; + + /** + * Determines whether the class is an event or not. + * + * @get get + * @var bool + */ + public $is_event = false; + + /** + * `true` - the login type or group restrictions are ignored and all pricing options will be returned. This will + * require staff or admin access level. + * + * `false` - the API should return only pricing options, which are available for the current user. + * + * @get get + * @var bool + */ + public $is_login_type_ignore = false; + + /** + * `true` - promotions should only be returned if they're related to the given class or event. + * + * `false` - all promotions should be returned, even if they aren't related to the given class or event. + * + * @get get + * @var bool + */ + public $is_related_only = false; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The class key. + * + * This refers to the class or event with which you want to connect the promotions. This will be `null` or `0` if you + * need to return a list of promotions for an uncreated class or event. + * + * @get get + * @var string|null + */ + public $k_class = null; + + /** + * The default promotion key. + * + * This will be `null` if `k_class` wasn't provided, or if the class has no default promotion. + * + * @get result + * @var string|null + */ + public $k_promotion_default = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/Tab/TabSid.php b/WellnessLiving/Wl/Classes/Tab/TabSid.php index c1089d63..910613d4 100644 --- a/WellnessLiving/Wl/Classes/Tab/TabSid.php +++ b/WellnessLiving/Wl/Classes/Tab/TabSid.php @@ -1,33 +1,33 @@ -<?php - -namespace WellnessLiving\Wl\Classes\Tab; - -/** - * List of class tab objects. - * - * Last ID: 6. - */ -abstract class TabSid -{ - /** - * Enrolments. - */ - const ENROLLMENT = 2; - - /** - * Bookable Assets. - */ - const RESOURCE = 4; - - /** - * Appointments. - */ - const SERVICE = 3; - - /** - * Classes. - */ - const TRAINING = 1; -} - +<?php + +namespace WellnessLiving\Wl\Classes\Tab; + +/** + * List of class tab objects. + * + * Last ID: 6. + */ +abstract class TabSid +{ + /** + * Enrolments. + */ + const ENROLLMENT = 2; + + /** + * Bookable Assets. + */ + const RESOURCE = 4; + + /** + * Appointments. + */ + const SERVICE = 3; + + /** + * Classes. + */ + const TRAINING = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Collector/DebtListModel.php b/WellnessLiving/Wl/Collector/DebtListModel.php index bfcf0b20..97bc1c88 100644 --- a/WellnessLiving/Wl/Collector/DebtListModel.php +++ b/WellnessLiving/Wl/Collector/DebtListModel.php @@ -1,124 +1,124 @@ -<?php - -namespace WellnessLiving\Wl\Collector; - -use WellnessLiving\Core\Locale\CurrencySid; -use WellnessLiving\WlModelAbstract; - -/** - * Returns list of debts added within the previous month. - */ -class DebtListModel extends WlModelAbstract -{ - /** - * A list of debts for the given business added within the previous month. - * - * Each value is an array with the next structure: - * <dl> - * <dt>string <var>dl_client_birth</var></dt> - * <dd>The birth date of the debtor client.</dd> - * <dt>string <var>dtu_client_since</var></dt> - * <dd>The date and time in UTC from which the debtor client is a member of the business.</dd> - * <dt>string <var>dtu_due</var></dt> - * <dd>The date and time in UTC of the last payment on the debtor client's account.</dd> - * <dt>string <var>dtu_add</var></dt> - * <dd>The date and time in UTC when the client was added to the list of debtors.</dd> - * <dt>string <var>dtu_cease</var></dt> - * <dd>The date and time in UTC when the debt was fully ceased.</dd> - * <dt>int <var>id_currency</var></dt> - * <dd>The debt currency ID. One of {@link CurrencySid} constants.</dd> - * <dt>string <var>k_business</var></dt> - * <dd>The business key where the debt occurred.</dd> - * <dt>string <var>k_collector_debt</var></dt> - * <dd>The debt key, which should be used for debt payment.</dd> - * <dt>string <var>k_pay_transaction_debt</var></dt> - * <dd>The transaction key after which the debt occurred.</dd> - * <dt>string <var>k_pay_transaction_last</var></dt> - * <dd>The last transaction key on account after the debt occurred.</dd> - * <dt>string <var>m_amount_debt</var></dt> - * <dd>The initial amount of the debt.</dd> - * <dt>string <var>m_amount_paid</var></dt> - * <dd>The amount paid for debt.</dd> - * <dt>string <var>text_business_title</var></dt> - * <dd>The title of the business.</dd> - * <dt>string <var>text_client_name</var></dt> - * <dd>The full name of the debtor client.</dd> - * <dt>string <var>text_client_address</var></dt> - * <dd>The address of the debtor client.</dd> - * <dt>string <var>text_client_mail</var></dt> - * <dd>The email address of the debtor client.</dd> - * <dt>string <var>text_client_phone</var></dt> - * <dd>The phone number of the debtor client.</dd> - * <dt>string <var>text_client_zip</var></dt> - * <dd>The ZIP code of the debtor client.</dd> - * <dt>string <var>text_skip</var></dt> - * <dd>The notification message sent when the debt payment is missed.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The user key of the debt owner.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_debt = []; - - /** - * Date before which debts should be returned. - * - * If set, this is the end of the date window. Only debts added before or on this date will be shown. - * - * If left `null` and {@link DebtListModel::$dl_start} has been specified, only debts added after the start date will be returned. - * If left `null` and {@link DebtListModel::$dl_start} is also `null`, this will return debts from the previous month. - * +<?php + +namespace WellnessLiving\Wl\Collector; + +use WellnessLiving\Core\Locale\CurrencySid; +use WellnessLiving\WlModelAbstract; + +/** + * Returns list of debts added within the previous month. + */ +class DebtListModel extends WlModelAbstract +{ + /** + * A list of debts for the given business added within the previous month. + * + * Each value is an array with the next structure: + * <dl> + * <dt>string <var>dl_client_birth</var></dt> + * <dd>The birth date of the debtor client.</dd> + * <dt>string <var>dtu_client_since</var></dt> + * <dd>The date and time in UTC from which the debtor client is a member of the business.</dd> + * <dt>string <var>dtu_due</var></dt> + * <dd>The date and time in UTC of the last payment on the debtor client's account.</dd> + * <dt>string <var>dtu_add</var></dt> + * <dd>The date and time in UTC when the client was added to the list of debtors.</dd> + * <dt>string <var>dtu_cease</var></dt> + * <dd>The date and time in UTC when the debt was fully ceased.</dd> + * <dt>int <var>id_currency</var></dt> + * <dd>The debt currency ID. One of {@link CurrencySid} constants.</dd> + * <dt>string <var>k_business</var></dt> + * <dd>The business key where the debt occurred.</dd> + * <dt>string <var>k_collector_debt</var></dt> + * <dd>The debt key, which should be used for debt payment.</dd> + * <dt>string <var>k_pay_transaction_debt</var></dt> + * <dd>The transaction key after which the debt occurred.</dd> + * <dt>string <var>k_pay_transaction_last</var></dt> + * <dd>The last transaction key on account after the debt occurred.</dd> + * <dt>string <var>m_amount_debt</var></dt> + * <dd>The initial amount of the debt.</dd> + * <dt>string <var>m_amount_paid</var></dt> + * <dd>The amount paid for debt.</dd> + * <dt>string <var>text_business_title</var></dt> + * <dd>The title of the business.</dd> + * <dt>string <var>text_client_name</var></dt> + * <dd>The full name of the debtor client.</dd> + * <dt>string <var>text_client_address</var></dt> + * <dd>The address of the debtor client.</dd> + * <dt>string <var>text_client_mail</var></dt> + * <dd>The email address of the debtor client.</dd> + * <dt>string <var>text_client_phone</var></dt> + * <dd>The phone number of the debtor client.</dd> + * <dt>string <var>text_client_zip</var></dt> + * <dd>The ZIP code of the debtor client.</dd> + * <dt>string <var>text_skip</var></dt> + * <dd>The notification message sent when the debt payment is missed.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The user key of the debt owner.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_debt = []; + + /** + * Date before which debts should be returned. + * + * If set, this is the end of the date window. Only debts added before or on this date will be shown. + * + * If left `null` and {@link DebtListModel::$dl_start} has been specified, only debts added after the start date will be returned. + * If left `null` and {@link DebtListModel::$dl_start} is also `null`, this will return debts from the previous month. + * * @get get * @var string|null - */ - public $dl_end = null; - - /** - * Date since which debts should be returned. - * - * If set, this is the start of the date window. Only debts added on or after this date will be shown. - * - * If left `null` and {@link DebtListModel::$dl_end} has been specified will return debts added since the beginning of time. - * If left `null` and {@link DebtListModel::$dl_end} is also `null`, this will return debts from the previous month. - * + */ + public $dl_end = null; + + /** + * Date since which debts should be returned. + * + * If set, this is the start of the date window. Only debts added on or after this date will be shown. + * + * If left `null` and {@link DebtListModel::$dl_end} has been specified will return debts added since the beginning of time. + * If left `null` and {@link DebtListModel::$dl_end} is also `null`, this will return debts from the previous month. + * * @get get * @var string|null - */ - public $dl_start = null; - - /** - * Defines whether new debts should be returned or only previously sent debts. - * - * If `true` then return new debts only. - * If `false` then return previously sent debts only. - * - * @get get - * @var bool - */ - public $is_request_debt = false; - - /** - * Defines whether debts for test or real business should be returned. - * - * If `true`, debts from test businesses will be returned. Otherwise, this will be `false` if only - * debts from real businesses will be returned. - * - * @get get - * @var bool - */ - public $is_test = false; - - /** - * The business key for which debts should be returned. - * - * Use `null` if debt payments from all businesses should be returned. - * - * @get get - * @var string|null - */ - public $k_business = ''; -} - + */ + public $dl_start = null; + + /** + * Defines whether new debts should be returned or only previously sent debts. + * + * If `true` then return new debts only. + * If `false` then return previously sent debts only. + * + * @get get + * @var bool + */ + public $is_request_debt = false; + + /** + * Defines whether debts for test or real business should be returned. + * + * If `true`, debts from test businesses will be returned. Otherwise, this will be `false` if only + * debts from real businesses will be returned. + * + * @get get + * @var bool + */ + public $is_test = false; + + /** + * The business key for which debts should be returned. + * + * Use `null` if debt payments from all businesses should be returned. + * + * @get get + * @var string|null + */ + public $k_business = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Collector/DebtPayModel.php b/WellnessLiving/Wl/Collector/DebtPayModel.php index 910787e9..3865460a 100644 --- a/WellnessLiving/Wl/Collector/DebtPayModel.php +++ b/WellnessLiving/Wl/Collector/DebtPayModel.php @@ -1,77 +1,77 @@ -<?php - -namespace WellnessLiving\Wl\Collector; - -use WellnessLiving\Core\Locale\CurrencySid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlPayMethodSid; - -/** - * Registers a debt payment that was performed beyond Wellnessliving, with a specified credit amount applied to a client's account balance. - */ -class DebtPayModel extends WlModelAbstract -{ - /** - * The currency of the payment. - * One of {@link CurrencySid} constants. - * - * Important! The currency must coincide with currency of the debt that was sent to collections. - * - * @post get - * @var int - */ - public $id_currency = 0; - - /** - * The payment method ID. - * One of {@link WlPayMethodSid} constants. - * - * `null` if the payment method is unknown. In such cases, {@link WlPayMethodSid::CASH} would be used. - * - * @post post - * @var int|null - */ - public $id_pay_method = null; - - /** - * The key of the business from which the debt originates. - * - * @post get - * @var string - */ - public $k_business = ''; - - /** - * The debt key towards which the payment was performed. - * - * @post post - * @var string - */ - public $k_collector_debt = ''; - - /** - * The transaction key generated to register the payment. - * - * @post result - * @var string - */ - public $k_pay_transaction = ''; - - /** - * The amount of money that's been paid towards the debt. - * - * @post post - * @var string - */ - public $m_amount = ''; - - /** - * The key of the user with the debt. - * - * @post get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Collector; + +use WellnessLiving\Core\Locale\CurrencySid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlPayMethodSid; + +/** + * Registers a debt payment that was performed beyond Wellnessliving, with a specified credit amount applied to a client's account balance. + */ +class DebtPayModel extends WlModelAbstract +{ + /** + * The currency of the payment. + * One of {@link CurrencySid} constants. + * + * Important! The currency must coincide with currency of the debt that was sent to collections. + * + * @post get + * @var int + */ + public $id_currency = 0; + + /** + * The payment method ID. + * One of {@link WlPayMethodSid} constants. + * + * `null` if the payment method is unknown. In such cases, {@link WlPayMethodSid::CASH} would be used. + * + * @post post + * @var int|null + */ + public $id_pay_method = null; + + /** + * The key of the business from which the debt originates. + * + * @post get + * @var string + */ + public $k_business = ''; + + /** + * The debt key towards which the payment was performed. + * + * @post post + * @var string + */ + public $k_collector_debt = ''; + + /** + * The transaction key generated to register the payment. + * + * @post result + * @var string + */ + public $k_pay_transaction = ''; + + /** + * The amount of money that's been paid towards the debt. + * + * @post post + * @var string + */ + public $m_amount = ''; + + /** + * The key of the user with the debt. + * + * @post get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Collector/DebtTransactionModel.php b/WellnessLiving/Wl/Collector/DebtTransactionModel.php index d533eb11..28ce7a28 100644 --- a/WellnessLiving/Wl/Collector/DebtTransactionModel.php +++ b/WellnessLiving/Wl/Collector/DebtTransactionModel.php @@ -1,89 +1,89 @@ -<?php - -namespace WellnessLiving\Wl\Collector; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlPayMethodSid; - -/** - * Returns a list of payments for debts added within the previous day. - */ -class DebtTransactionModel extends WlModelAbstract -{ - /** - * A list of debt payments for a given business added within the previous day. - * - * Each value is an array with next structure: - * <dl> - * <dt>string <var>dtu_pay</var></dt> - * <dd>The date and time in UTC of the payment transaction.</dd> - * <dt>string <var>m_pay_amount</var></dt> - * <dd>The amount of the payment's transaction.</dd> - * <dt>int <var>id_pay_method</var></dt> - * <dd>The payment method ID that was used for the payment. One of {@link WlPayMethodSid} constants.</dd> - * <dt>bool <var>is_pay_collections</var></dt> - * <dd>Defines whether the payment was performed via a third party service. - * `true` if the payment was performed via a third party service and this transaction is - * responsible for an account credit transaction for that payment. See {@link DebtPayModel}. - * `false` if the payment was performed within the Wellnessliving system. - * </dd> - * <dt>bool <var>is_debt_paid</var></dt> - * <dd> - * Defines whether the initial debt to which this related transaction is fully paid. - * `true` if the debt is fully paid. - * `false` if the debt is partially paid. - * </dd> - * <dt>string <var>text_client_name</var></dt> - * <dd>The full name of the debtor client for whom the payment transaction was performed.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The UID of the debtor client for whom the payment transaction was performed.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_transaction = []; - - /** - * If set, this is the end of the date window. Only debt payments added before or on this date will be shown. - * - * If left `null` and {@link DebtTransactionModel::$dl_start} has been specified only debt payments added after the start date will be returned. - * If left `null` and {@link DebtTransactionModel::$dl_start} is also `null`, this will return debt payments from the previous month. - * +<?php + +namespace WellnessLiving\Wl\Collector; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlPayMethodSid; + +/** + * Returns a list of payments for debts added within the previous day. + */ +class DebtTransactionModel extends WlModelAbstract +{ + /** + * A list of debt payments for a given business added within the previous day. + * + * Each value is an array with next structure: + * <dl> + * <dt>string <var>dtu_pay</var></dt> + * <dd>The date and time in UTC of the payment transaction.</dd> + * <dt>string <var>m_pay_amount</var></dt> + * <dd>The amount of the payment's transaction.</dd> + * <dt>int <var>id_pay_method</var></dt> + * <dd>The payment method ID that was used for the payment. One of {@link WlPayMethodSid} constants.</dd> + * <dt>bool <var>is_pay_collections</var></dt> + * <dd>Defines whether the payment was performed via a third party service. + * `true` if the payment was performed via a third party service and this transaction is + * responsible for an account credit transaction for that payment. See {@link DebtPayModel}. + * `false` if the payment was performed within the Wellnessliving system. + * </dd> + * <dt>bool <var>is_debt_paid</var></dt> + * <dd> + * Defines whether the initial debt to which this related transaction is fully paid. + * `true` if the debt is fully paid. + * `false` if the debt is partially paid. + * </dd> + * <dt>string <var>text_client_name</var></dt> + * <dd>The full name of the debtor client for whom the payment transaction was performed.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The UID of the debtor client for whom the payment transaction was performed.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_transaction = []; + + /** + * If set, this is the end of the date window. Only debt payments added before or on this date will be shown. + * + * If left `null` and {@link DebtTransactionModel::$dl_start} has been specified only debt payments added after the start date will be returned. + * If left `null` and {@link DebtTransactionModel::$dl_start} is also `null`, this will return debt payments from the previous month. + * * @get get * @var string|null - */ - public $dl_end = null; - - /** - * If set, this is the start of the date window. Only debt payments added on or after this date will be shown. - * - * If left `null` and {@link DebtTransactionModel::$dl_end} has been specified, this will return debt payments since the beginning of time. - * If left `null` and {@link DebtTransactionModel::$dl_end} is also `null`, this will return debt payments from the previous month. - * + */ + public $dl_end = null; + + /** + * If set, this is the start of the date window. Only debt payments added on or after this date will be shown. + * + * If left `null` and {@link DebtTransactionModel::$dl_end} has been specified, this will return debt payments since the beginning of time. + * If left `null` and {@link DebtTransactionModel::$dl_end} is also `null`, this will return debt payments from the previous month. + * * @get get * @var string|null - */ - public $dl_start = null; - - /** - * If `true`, debt payments from test businesses will be returned. Otherwise, this will be `false` if only - * debt payments from real businesses will be returned. - * - * @get get - * @var bool - */ - public $is_test = false; - - /** - * The business key for which debt payments should be returned. - * - * Use `null` if debt payments from all businesses should be returned. - * - * @get get - * @var string|null - */ - public $k_business = ''; -} - + */ + public $dl_start = null; + + /** + * If `true`, debt payments from test businesses will be returned. Otherwise, this will be `false` if only + * debt payments from real businesses will be returned. + * + * @get get + * @var bool + */ + public $is_test = false; + + /** + * The business key for which debt payments should be returned. + * + * Use `null` if debt payments from all businesses should be returned. + * + * @get get + * @var string|null + */ + public $k_business = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Coupon/CouponList/ListModel.php b/WellnessLiving/Wl/Coupon/CouponList/ListModel.php index 4db08532..11dc7ba8 100644 --- a/WellnessLiving/Wl/Coupon/CouponList/ListModel.php +++ b/WellnessLiving/Wl/Coupon/CouponList/ListModel.php @@ -1,83 +1,83 @@ -<?php - -namespace WellnessLiving\Wl\Coupon\CouponList; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Coupon\WlTypeSid; - -/** - * Retrieves a list of gift cards. - */ -class ListModel extends WlModelAbstract -{ - /** - * A list of gift cards. Every element has the following keys: - * <dl> - * <dt> - * int <var>id_type</var> - * </dt> - * <dd> - * The type of coupon. One of {@link WlTypeSid} constants. - * </dd> - * <dt> - * string <var>k_coupon</var> - * </dt> - * <dd> - * The gift card key. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title of the gift card. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_coupon; - - /** - * Class table ID. - * - * @get result - * @var int - */ - public $id_table; - - /** - * Whether to return franchisee-created coupons (if business is franchisor). - * <tt>true</tt> to include franchisee-created coupons. - * - * @get get - * @var bool - */ - public $is_franchise = false; - - /** - * `true` to get only gift cards available for current user; `false` to get all gift cards. - * - * @get get - * @var bool - */ - public $is_frontend = false; - - /** - * A flag to include disabled items in the query result - * - * @get get - * @var bool - */ - public $is_inactive_include = false; - - /** - * The business key to retrieve a list of all the gift cards in a business. - * - * @get get - * @var string - */ - public $k_business = ''; -} - +<?php + +namespace WellnessLiving\Wl\Coupon\CouponList; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Coupon\WlTypeSid; + +/** + * Retrieves a list of gift cards. + */ +class ListModel extends WlModelAbstract +{ + /** + * A list of gift cards. Every element has the following keys: + * <dl> + * <dt> + * int <var>id_type</var> + * </dt> + * <dd> + * The type of coupon. One of {@link WlTypeSid} constants. + * </dd> + * <dt> + * string <var>k_coupon</var> + * </dt> + * <dd> + * The gift card key. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title of the gift card. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_coupon; + + /** + * Class table ID. + * + * @get result + * @var int + */ + public $id_table; + + /** + * Whether to return franchisee-created coupons (if business is franchisor). + * <tt>true</tt> to include franchisee-created coupons. + * + * @get get + * @var bool + */ + public $is_franchise = false; + + /** + * `true` to get only gift cards available for current user; `false` to get all gift cards. + * + * @get get + * @var bool + */ + public $is_frontend = false; + + /** + * A flag to include disabled items in the query result + * + * @get get + * @var bool + */ + public $is_inactive_include = false; + + /** + * The business key to retrieve a list of all the gift cards in a business. + * + * @get get + * @var string + */ + public $k_business = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php b/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php index fd6a7ede..e641bdfe 100644 --- a/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php +++ b/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php @@ -1,28 +1,28 @@ -<?php - -namespace WellnessLiving\Wl\Coupon; - -/** - * Purchase restrictions. - * - * Last used ID: 3. - */ -class PurchaseRestrictionSid -{ - /** - * Purchase option available for all clients. - */ - const ALL = 1; - - /** - * Purchase option introductory offer, available for new clients only. - */ - const INTRODUCTORY = 2; - - /** - * Purchase option available for clients with special login type or member group. - */ - const TYPE = 3; -} - +<?php + +namespace WellnessLiving\Wl\Coupon; + +/** + * Purchase restrictions. + * + * Last used ID: 3. + */ +class PurchaseRestrictionSid +{ + /** + * Purchase option available for all clients. + */ + const ALL = 1; + + /** + * Purchase option introductory offer, available for new clients only. + */ + const INTRODUCTORY = 2; + + /** + * Purchase option available for clients with special login type or member group. + */ + const TYPE = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Coupon/WlTypeSid.php b/WellnessLiving/Wl/Coupon/WlTypeSid.php index fe3dc366..2629340d 100644 --- a/WellnessLiving/Wl/Coupon/WlTypeSid.php +++ b/WellnessLiving/Wl/Coupon/WlTypeSid.php @@ -1,30 +1,30 @@ -<?php - -namespace WellnessLiving\Wl\Coupon; - -/** - * List of possible types of Gift Cards. - */ -class WlTypeSid -{ - /** - * Amount Gift Card. - * Only one card of this type can be created in one business. - */ - const AMOUNT = 2; - - /** - * Product Gift Card. - * Many cards of this type can be created in one business. - * Each card contains list of products. - */ - const COMPONENT = 1; - - /** - * Quick Gift Card. - * Only one card of this type can be created in one business. - */ - const QUICK = 3; -} - +<?php + +namespace WellnessLiving\Wl\Coupon; + +/** + * List of possible types of Gift Cards. + */ +class WlTypeSid +{ + /** + * Amount Gift Card. + * Only one card of this type can be created in one business. + */ + const AMOUNT = 2; + + /** + * Product Gift Card. + * Many cards of this type can be created in one business. + * Each card contains list of products. + */ + const COMPONENT = 1; + + /** + * Quick Gift Card. + * Only one card of this type can be created in one business. + */ + const QUICK = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php index fb147f14..118db739 100644 --- a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php +++ b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php @@ -1,602 +1,602 @@ -<?php - -namespace WellnessLiving\Wl\Event\Book\EventView; - -use WellnessLiving\Core\a\AGenderSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Business\Config\BusinessConfigModel; -use WellnessLiving\Wl\Virtual\VirtualProviderSid; - -/** - * Retrieves information about an event element. - */ -class ElementModel extends WlModelAbstract -{ - /** - * Displays information about age restrictions for this event. - * - * An empty array if there are no age restrictions. - * - * <dl> - * <dt>int|null <var>i_age_from</var></dt> - * <dd>The minimum age for participation in the event. `null` if there's no minimum age set or information isn't available.</dd> - * <dt>int|null <var>i_age_to</var></dt> - * <dd>The age limit for participation in the event. `null` if there's no age limit set or information isn't available.</dd> - * <dt>bool <var>is_age_public</var></dt> - * <dd>`true` if age restrictions are public and available, `false` if they're hidden. - * When restrictions are hidden and the current user isn't a staff member, the age range will be empty.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_age_restrictions = []; - - /** - * Retrieves information about an event item. - * - * Received only if {@link ElementModel::$k_event} has been specified. In this case other fields aren't receivers. - * - * <dl> - * <dt>string <var>dt_date</var></dt> - * <dd>Date/time when session starts. In UTC.</dd> - * <dt>string <var>k_class_period</var></dt> - * <dd>Class session primary keys.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_book_available; - - /** - * Displays all business policies connected to clients and bookings. - * - * Contains the same structure as the {@link BusinessConfigModel::$a_business_policy} property. - * - * If policies are overwritten for a certain event, the impacted event's policies will be in this result. - * Otherwise, the result will display the business policies. - * - * @get result - * @var array - */ - public $a_business_policy; - - /** - * The logo of event. - * <dl> - * <dt>int [<var>i_height</var>]</dt> - * <dd>Is returned only if staff has photo. Image height.</dd> - * <dt>int [<var>i_width</var>]</dt> - * <dd>Is returned only if staff has photo. Image width.</dd> - * <dt>int [<var>id_gender</var>] </dt> - * <dd>Is returned only if staff does not have photo. ID of staff gender. One of {@link AGenderSid} constants.</dd> - * <dt>string [<var>url_logo</var>]</dt> - * <dd>Is returned only if staff has photo. URL to image.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_class_logo; - - /** - * The list of keys from class tab.+ - * - * @get result - * @var string[] - */ - public $a_class_tab; - - /** - * Displays information for a bulk of events. - * - * Received only if {@link ElementModel::$s_event} has been specified. In this case, other fields aren't receivers. - * - * The event keys of this array. - * Values of this array and sub arrays with keys that correspond to all fields in this table that may be received. - * - * @get result - * @var array - */ - public $a_event; - - /** - * A list of event sessions. Every element has the following next keys: - * <dl> - * <dt> - * array <var>a_day</var> - * </dt> - * <dd> - * A list of days of the week when the session has occurred. - * Keys - a number corresponding to a day of the week (0 - Sunday, 6 - Saturday). The value is always <tt>true</tt>. - * </dd> - * <dt>array <var>a_repeat</var></dt> - * <dd> - * Repeat periodicity instructions. - * <dl> - * <dt>int <var>i_repeat</var></dt> - * <dd>Count of the periods which specified in <var>id_repeat</var>.</dd> - * <dt>int <var>id_repeat</var></dt> - * <dd>Measuring unit of <var>i_repeat</var> (week, month, year).</dd> - * </dl> - * </dd> - * <dt> - * array[] <var>a_staff</var> - * </dt> - * <dd> - * A list of staff members who conduct the session. Every element has the following next keys: - * <dl> - * <dt>string <var>k_staff</var></dt> - * <dd>The staff member key.</dd> - * <dt>string <var>s_name</var></dt> - * <dd>The staff member name.</dd> - * <dt>string <var>s_surname</var></dt> - * <dd>The first letter of staff member's surname.</dd> - * </dl> - * </dd> - * <dt> - * string[] <var>a_virtual_location</var> - * </dt> - * <dd> - * List of virtual locations. - * </dd> - * <dt> - * string <var>dt_end</var> - * </dt> - * <dd> - * The end date of the session. - * The local date without time. - * </dd> - * <dt> - * string <var>dt_start</var> - * </dt> - * <dd> - * The start date of the session. - * The local date without time. - * </dd> - * <dt> - * bool <var>hide_location</var> - * </dt> - * <dd> - * `true` if the location should be hidden in the event details. Hide if the event is virtual or if the business - * only has one location. `false` otherwise. - * </dd> - * <dt> - * int <var>i_capacity</var> - * </dt> - * <dd> - * The class capacity. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The duration of the class in seconds. - * </dd> - * <dt> - * bool <var>is_virtual</var> - * </dt> - * <dd> - * This will be `true` if the session is not held in person but offered remotely. If will be `false` otherwise. - * </dd> - * <dt> - * string <var>f_price</var> - * </dt> - * <dd> - * The price of the session, if it can be purchased separately. - * </dd> - * <dt> - * string <var>k_class_period</var> - * </dt> - * <dd> - * The key of the class period. - * </dd> - * <dt> - * string <var>k_location</var> - * </dt> - * <dd> - * The key of the location where the session is held. - * </dd> - * <dt> - * string <var>s_location</var> - * </dt> - * <dd> - * The location title. - * </dd> - * <dt> - * string <var>s_time</var> - * </dt> - * <dd> - * The time when session occurred. - * A textual representation of the start and end time of a session. Example: <tt>10:00 am - 11:00 am</tt> - * </dd> - * <dt> - * string <var>s_timezone</var> - * </dt> - * <dd> - * The name of the timezone in which the session is held. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_schedule; - - /** - * Photos of staff members. Keys are the keys of staff members. The values are the following: - * <dl> - * <dt>int <var>i_height</var></dt> - * <dd>Image height.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>Image width.</dd> - * <dt>string <var>uid</var></dt> - * <dd>Key of the user.</dd> - * <dt>string <var>url_logo</var></dt> - * <dd>URL to image.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_staff_logo; - - /** - * A list of classes and events that clients should attend before this one. - * - * <dl> - * <dt>int <var>i_count</var></dt> - * <dd>The number of visits.</dd> - * <dt>bool <var>is_event</var></dt> - * <dd>`true` if this is an event, `false` if this is a class.</dd> - * <dt>string <var>k_class</var></dt> - * <dd>The key of the class or event.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The name of the class or event.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_visits_required; - - /** - * The last available date for booking. - * If this is set and {@link ElementModel::$dl_book_available_start} is a set list of - * sessions available for booking, {@link ElementModel::$a_book_available} - * should match given date range. - * - * @get get - * @var string|null - */ - public $dl_book_available_end = null; - - /** - * The first available date for booking. - * If this is set and {@link ElementModel::$dl_book_available_end} is a set list of - * sessions available for booking {@link ElementModel::$a_book_available} - * should match given date range. - * - * @get get - * @var string|null - */ - public $dl_book_available_start = null; - - /** - * That date that should be used to go to the booking wizard. - * - * @get result - * @var string|null - */ - public $dt_book_date; - - /** - * The early registration date of the event. - * - * @get result - * @var string|null - */ - public $dt_early; - - /** - * The end date of the event. - * - * @get result - * @var string - */ - public $dt_end; - - /** - * The start date of the event. - * - * @get result - * @var string - */ - public $dt_start; - - /** - * Whether event will be hidden in the White Label mobile application. - * <tt>true</tt> means that event will not be displayed, <tt>false</tt> otherwise. - * - * @get result - * @var bool - */ - public $hide_application; - - /** - * The description of the event. - * - * @get result - * @var string|null - */ - public $html_description; - - /** - * Special instruction for the event. - * - * @get result - * @var string - */ - public $html_special; - - /** - * Image height in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * Image width in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The session count. - * - * @get result - * @var int - */ - public $i_session; - - /** - * Staff image height in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_staff_image_height = 0; - - /** - * Staff image width in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default thumbnail size. - * - * @get get - * @var int - */ - public $i_staff_image_width = 0; - - /** - * The virtual provider ID. One of the {@link VirtualProviderSid} constants. - * - * `null` if an in-person event. - * - * @get result - * @var int|null - */ - public $id_virtual_provider; - - /** - * Whether the event is age restricted. - * `true` if the event is age restricted, `false` if the event is not. - * - * @get result - * @var bool - */ - public $is_age_restrict = false; - - /** - * `true` if the event availability was checked; `false` if the event has too many sessions and calculating - * the availability of each one takes a lot of time. - * - * @get result - * @var bool - */ - public $is_availability_checked; - - /** - * <tt>true</tt> if the event is already booked; <tt>false</tt> if the event isn't booked. - * - * @get result - * @var bool - */ - public $is_book; - - /** - * `true` If the event is bookable; `false` if the event isn't bookable. - * - * @get result - * @var bool - */ - public $is_bookable; - - /** - * `true` if there are no free spots in the event; booking is available only into the wait list. - * `false` otherwise. - * - * @get result - * @var bool - */ - public $is_full; - - /** - * `true` if the event can be paid with a Purchase Option only. - * `false` if full event purchases or single session purchases are permitted. - * - * @get result - * @var bool - */ - public $is_promotion_only; - - /** - * `true` if clients, when they book event, which has been started, can pay only for the sessions in the future. - * `false` if clients, when they book event, has to pay for the entire event and number of left in the future sessions - * does not matter. - * - * @get result - * @var bool - */ - public $is_prorate; - - /** - * `true` if schedule should be grouped by location time and staff, - * `false` if all schedule elements should be independent. - * - * @get get - * @var bool - */ - public $is_schedule_group = false; - - /** - * Determines whether this event allows paying for a single session. - * - * @get result - * @var bool - */ - public $is_single_session_buy; - - /** - * <tt>true</tt> -if event is virtual; <tt>false</tt> - otherwise. - * - * @get result - * @var bool - */ - public $is_virtual; - - /** - * The ID of the session which should be used to go to the booking wizard. - * - * @get result - * @var string - */ - public $k_book_class_period; - - /** - * Key of a business. - * - * @get get - * @var string|null - */ - public $k_business = null; - - /** - * The event key. - * You can specify {@link ElementModel::$s_event} instead to get information for a bulk of events. - * - * @get get - * @var string - */ - public $k_event = '0'; - - /** - * The price of a single session of the event. - * - * @get result - * @var string - */ - public $m_price; - - /** - * The price of the all sessions of the event. - * - * @get result - * @var string - */ - public $m_price_total; - - /** - * Price of the full event, should be used as full price while {@link ElementModel::$dt_early} is actual. - * - * @get result - * @var string|null - */ - public $m_price_total_early; - - /** - * The reason why the event can't be booked. - * Empty if {@link ElementModel::$k_book_class_period} isn't empty. - * - * @get result - * @var string - */ - public $s_deny_reason; - - /** - * A list of event keys serialized with JSON. - * Specify instead of {@link ElementModel::$k_event} to get information for a bulk of events. - * - * @get get - * @var string - */ - public $s_event = ''; - - /** - * The title of the event. - * - * @get result - * @var string|null - */ - public $s_title; - - /** - * End date of the event in user-friendly format. - * - * @get result - * @var string - */ - public $text_end; - - /** - * Start date of the event in user-friendly format. - * - * @get result - * @var string - */ - public $text_start; - - /** - * The user key. - * - * @get get - * @var string - */ - public $uid = '0'; - - /** - * Link to the start of the booking wizard to book the closed session from this event or the entire event. - * - * Can be `null` if there is no available for booking sessions. - * - * @get result - * @var string|null - */ - public $url_book = null; - - /** - * The description of the event. - * - * @get result - * @var string|null - */ - public $xml_description; -} - +<?php + +namespace WellnessLiving\Wl\Event\Book\EventView; + +use WellnessLiving\Core\a\AGenderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Business\Config\BusinessConfigModel; +use WellnessLiving\Wl\Virtual\VirtualProviderSid; + +/** + * Retrieves information about an event element. + */ +class ElementModel extends WlModelAbstract +{ + /** + * Displays information about age restrictions for this event. + * + * An empty array if there are no age restrictions. + * + * <dl> + * <dt>int|null <var>i_age_from</var></dt> + * <dd>The minimum age for participation in the event. `null` if there's no minimum age set or information isn't available.</dd> + * <dt>int|null <var>i_age_to</var></dt> + * <dd>The age limit for participation in the event. `null` if there's no age limit set or information isn't available.</dd> + * <dt>bool <var>is_age_public</var></dt> + * <dd>`true` if age restrictions are public and available, `false` if they're hidden. + * When restrictions are hidden and the current user isn't a staff member, the age range will be empty.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_age_restrictions = []; + + /** + * Retrieves information about an event item. + * + * Received only if {@link ElementModel::$k_event} has been specified. In this case other fields aren't receivers. + * + * <dl> + * <dt>string <var>dt_date</var></dt> + * <dd>Date/time when session starts. In UTC.</dd> + * <dt>string <var>k_class_period</var></dt> + * <dd>Class session primary keys.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_book_available; + + /** + * Displays all business policies connected to clients and bookings. + * + * Contains the same structure as the {@link BusinessConfigModel::$a_business_policy} property. + * + * If policies are overwritten for a certain event, the impacted event's policies will be in this result. + * Otherwise, the result will display the business policies. + * + * @get result + * @var array + */ + public $a_business_policy; + + /** + * The logo of event. + * <dl> + * <dt>int [<var>i_height</var>]</dt> + * <dd>Is returned only if staff has photo. Image height.</dd> + * <dt>int [<var>i_width</var>]</dt> + * <dd>Is returned only if staff has photo. Image width.</dd> + * <dt>int [<var>id_gender</var>] </dt> + * <dd>Is returned only if staff does not have photo. ID of staff gender. One of {@link AGenderSid} constants.</dd> + * <dt>string [<var>url_logo</var>]</dt> + * <dd>Is returned only if staff has photo. URL to image.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_class_logo; + + /** + * The list of keys from class tab.+ + * + * @get result + * @var string[] + */ + public $a_class_tab; + + /** + * Displays information for a bulk of events. + * + * Received only if {@link ElementModel::$s_event} has been specified. In this case, other fields aren't receivers. + * + * The event keys of this array. + * Values of this array and sub arrays with keys that correspond to all fields in this table that may be received. + * + * @get result + * @var array + */ + public $a_event; + + /** + * A list of event sessions. Every element has the following next keys: + * <dl> + * <dt> + * array <var>a_day</var> + * </dt> + * <dd> + * A list of days of the week when the session has occurred. + * Keys - a number corresponding to a day of the week (0 - Sunday, 6 - Saturday). The value is always <tt>true</tt>. + * </dd> + * <dt>array <var>a_repeat</var></dt> + * <dd> + * Repeat periodicity instructions. + * <dl> + * <dt>int <var>i_repeat</var></dt> + * <dd>Count of the periods which specified in <var>id_repeat</var>.</dd> + * <dt>int <var>id_repeat</var></dt> + * <dd>Measuring unit of <var>i_repeat</var> (week, month, year).</dd> + * </dl> + * </dd> + * <dt> + * array[] <var>a_staff</var> + * </dt> + * <dd> + * A list of staff members who conduct the session. Every element has the following next keys: + * <dl> + * <dt>string <var>k_staff</var></dt> + * <dd>The staff member key.</dd> + * <dt>string <var>s_name</var></dt> + * <dd>The staff member name.</dd> + * <dt>string <var>s_surname</var></dt> + * <dd>The first letter of staff member's surname.</dd> + * </dl> + * </dd> + * <dt> + * string[] <var>a_virtual_location</var> + * </dt> + * <dd> + * List of virtual locations. + * </dd> + * <dt> + * string <var>dt_end</var> + * </dt> + * <dd> + * The end date of the session. + * The local date without time. + * </dd> + * <dt> + * string <var>dt_start</var> + * </dt> + * <dd> + * The start date of the session. + * The local date without time. + * </dd> + * <dt> + * bool <var>hide_location</var> + * </dt> + * <dd> + * `true` if the location should be hidden in the event details. Hide if the event is virtual or if the business + * only has one location. `false` otherwise. + * </dd> + * <dt> + * int <var>i_capacity</var> + * </dt> + * <dd> + * The class capacity. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The duration of the class in seconds. + * </dd> + * <dt> + * bool <var>is_virtual</var> + * </dt> + * <dd> + * This will be `true` if the session is not held in person but offered remotely. If will be `false` otherwise. + * </dd> + * <dt> + * string <var>f_price</var> + * </dt> + * <dd> + * The price of the session, if it can be purchased separately. + * </dd> + * <dt> + * string <var>k_class_period</var> + * </dt> + * <dd> + * The key of the class period. + * </dd> + * <dt> + * string <var>k_location</var> + * </dt> + * <dd> + * The key of the location where the session is held. + * </dd> + * <dt> + * string <var>s_location</var> + * </dt> + * <dd> + * The location title. + * </dd> + * <dt> + * string <var>s_time</var> + * </dt> + * <dd> + * The time when session occurred. + * A textual representation of the start and end time of a session. Example: <tt>10:00 am - 11:00 am</tt> + * </dd> + * <dt> + * string <var>s_timezone</var> + * </dt> + * <dd> + * The name of the timezone in which the session is held. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_schedule; + + /** + * Photos of staff members. Keys are the keys of staff members. The values are the following: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>Image height.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>Image width.</dd> + * <dt>string <var>uid</var></dt> + * <dd>Key of the user.</dd> + * <dt>string <var>url_logo</var></dt> + * <dd>URL to image.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_staff_logo; + + /** + * A list of classes and events that clients should attend before this one. + * + * <dl> + * <dt>int <var>i_count</var></dt> + * <dd>The number of visits.</dd> + * <dt>bool <var>is_event</var></dt> + * <dd>`true` if this is an event, `false` if this is a class.</dd> + * <dt>string <var>k_class</var></dt> + * <dd>The key of the class or event.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The name of the class or event.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_visits_required; + + /** + * The last available date for booking. + * If this is set and {@link ElementModel::$dl_book_available_start} is a set list of + * sessions available for booking, {@link ElementModel::$a_book_available} + * should match given date range. + * + * @get get + * @var string|null + */ + public $dl_book_available_end = null; + + /** + * The first available date for booking. + * If this is set and {@link ElementModel::$dl_book_available_end} is a set list of + * sessions available for booking {@link ElementModel::$a_book_available} + * should match given date range. + * + * @get get + * @var string|null + */ + public $dl_book_available_start = null; + + /** + * That date that should be used to go to the booking wizard. + * + * @get result + * @var string|null + */ + public $dt_book_date; + + /** + * The early registration date of the event. + * + * @get result + * @var string|null + */ + public $dt_early; + + /** + * The end date of the event. + * + * @get result + * @var string + */ + public $dt_end; + + /** + * The start date of the event. + * + * @get result + * @var string + */ + public $dt_start; + + /** + * Whether event will be hidden in the White Label mobile application. + * <tt>true</tt> means that event will not be displayed, <tt>false</tt> otherwise. + * + * @get result + * @var bool + */ + public $hide_application; + + /** + * The description of the event. + * + * @get result + * @var string|null + */ + public $html_description; + + /** + * Special instruction for the event. + * + * @get result + * @var string + */ + public $html_special; + + /** + * Image height in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * Image width in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The session count. + * + * @get result + * @var int + */ + public $i_session; + + /** + * Staff image height in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_staff_image_height = 0; + + /** + * Staff image width in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default thumbnail size. + * + * @get get + * @var int + */ + public $i_staff_image_width = 0; + + /** + * The virtual provider ID. One of the {@link VirtualProviderSid} constants. + * + * `null` if an in-person event. + * + * @get result + * @var int|null + */ + public $id_virtual_provider; + + /** + * Whether the event is age restricted. + * `true` if the event is age restricted, `false` if the event is not. + * + * @get result + * @var bool + */ + public $is_age_restrict = false; + + /** + * `true` if the event availability was checked; `false` if the event has too many sessions and calculating + * the availability of each one takes a lot of time. + * + * @get result + * @var bool + */ + public $is_availability_checked; + + /** + * <tt>true</tt> if the event is already booked; <tt>false</tt> if the event isn't booked. + * + * @get result + * @var bool + */ + public $is_book; + + /** + * `true` If the event is bookable; `false` if the event isn't bookable. + * + * @get result + * @var bool + */ + public $is_bookable; + + /** + * `true` if there are no free spots in the event; booking is available only into the wait list. + * `false` otherwise. + * + * @get result + * @var bool + */ + public $is_full; + + /** + * `true` if the event can be paid with a Purchase Option only. + * `false` if full event purchases or single session purchases are permitted. + * + * @get result + * @var bool + */ + public $is_promotion_only; + + /** + * `true` if clients, when they book event, which has been started, can pay only for the sessions in the future. + * `false` if clients, when they book event, has to pay for the entire event and number of left in the future sessions + * does not matter. + * + * @get result + * @var bool + */ + public $is_prorate; + + /** + * `true` if schedule should be grouped by location time and staff, + * `false` if all schedule elements should be independent. + * + * @get get + * @var bool + */ + public $is_schedule_group = false; + + /** + * Determines whether this event allows paying for a single session. + * + * @get result + * @var bool + */ + public $is_single_session_buy; + + /** + * <tt>true</tt> -if event is virtual; <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_virtual; + + /** + * The ID of the session which should be used to go to the booking wizard. + * + * @get result + * @var string + */ + public $k_book_class_period; + + /** + * Key of a business. + * + * @get get + * @var string|null + */ + public $k_business = null; + + /** + * The event key. + * You can specify {@link ElementModel::$s_event} instead to get information for a bulk of events. + * + * @get get + * @var string + */ + public $k_event = '0'; + + /** + * The price of a single session of the event. + * + * @get result + * @var string + */ + public $m_price; + + /** + * The price of the all sessions of the event. + * + * @get result + * @var string + */ + public $m_price_total; + + /** + * Price of the full event, should be used as full price while {@link ElementModel::$dt_early} is actual. + * + * @get result + * @var string|null + */ + public $m_price_total_early; + + /** + * The reason why the event can't be booked. + * Empty if {@link ElementModel::$k_book_class_period} isn't empty. + * + * @get result + * @var string + */ + public $s_deny_reason; + + /** + * A list of event keys serialized with JSON. + * Specify instead of {@link ElementModel::$k_event} to get information for a bulk of events. + * + * @get get + * @var string + */ + public $s_event = ''; + + /** + * The title of the event. + * + * @get result + * @var string|null + */ + public $s_title; + + /** + * End date of the event in user-friendly format. + * + * @get result + * @var string + */ + public $text_end; + + /** + * Start date of the event in user-friendly format. + * + * @get result + * @var string + */ + public $text_start; + + /** + * The user key. + * + * @get get + * @var string + */ + public $uid = '0'; + + /** + * Link to the start of the booking wizard to book the closed session from this event or the entire event. + * + * Can be `null` if there is no available for booking sessions. + * + * @get result + * @var string|null + */ + public $url_book = null; + + /** + * The description of the event. + * + * @get result + * @var string|null + */ + public $xml_description; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Event/EventCancelWholeModel.php b/WellnessLiving/Wl/Event/EventCancelWholeModel.php index 2772d6b7..fcbd9d44 100644 --- a/WellnessLiving/Wl/Event/EventCancelWholeModel.php +++ b/WellnessLiving/Wl/Event/EventCancelWholeModel.php @@ -1,37 +1,37 @@ -<?php - -namespace WellnessLiving\Wl\Event; - -use WellnessLiving\WlModelAbstract; - -/** - * Cancels a whole event booked by a client. - */ -class EventCancelWholeModel extends WlModelAbstract -{ - /** - * Key of the business in which the class resides. - * - * @post post - * @var string - */ - public $k_business = '0'; - - /** - * An event key. - * - * @post post - * @var string - */ - public $k_class = '0'; - - /** - * A user key. - * - * @post post - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Event; + +use WellnessLiving\WlModelAbstract; + +/** + * Cancels a whole event booked by a client. + */ +class EventCancelWholeModel extends WlModelAbstract +{ + /** + * Key of the business in which the class resides. + * + * @post post + * @var string + */ + public $k_business = '0'; + + /** + * An event key. + * + * @post post + * @var string + */ + public $k_class = '0'; + + /** + * A user key. + * + * @post post + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Event/EventListModel.php b/WellnessLiving/Wl/Event/EventListModel.php index 746d3bb7..d07366db 100644 --- a/WellnessLiving/Wl/Event/EventListModel.php +++ b/WellnessLiving/Wl/Event/EventListModel.php @@ -1,351 +1,363 @@ -<?php - -namespace WellnessLiving\Wl\Event; - -use WellnessLiving\Core\Drive\DriveTypeSid; -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\Core\a\AFlagSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlScheduleTimeSid; - -/** - * Retrieves a list of events that fit the given filter parameters. - */ -class EventListModel extends WlModelAbstract -{ - /** - * List of class keys applied by filter. - * - * @get get - * @var string[]|null - */ - public $a_class_filter = null; - - /** - * List of day the week applied by filter {@link ADateWeekSid}. - * - * @get get - * @var string[]|null - */ - public $a_day = null; - - /** - * List of enrollment blocks keys applied by filter. - * - * @get get - * @var string[]|null - */ - public $a_enrollment_block_filter = null; - - /** - * List of available enrollment blocks correspond to requested parameters. - * - * @get result - * @var array - */ - public $a_enrollment_block_list = []; - - /** - * A list of events corresponding to requested parameters. Each event will have the following keys: <dl> - * <dt>array <var>a_class_tab</var></dt> - * <dd>The list of class tab keys that contain this event.</dd> - * <dt>array <var>a_logo</var></dt> - * <dd>Information about the event's logo. It will contain the following keys: - * <dl> - * <dt>int <var>i_height</var></dt> - * <dd>The image height.</dd> - * <dt>int <var>i_height_src</var></dt> - * <dd>The source image's height.</dd> - * <dt>int <var>i_rotate</var></dt> - * <dd>The angle which image was rotated compared to the original.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>The image width.</dd> - * <dt>int <var>i_width_src</var></dt> - * <dd>The source image's width.</dd> - * <dt>int <var>id_type_src</var></dt> - * <dd>The image type ID. One of the {@link DriveTypeSid} constants.</dd> - * <dt>bool <var>is_resize</var></dt> - * <dd>This will be `true` if the image has been resized. `false` otherwise.</dd> - * <dt>bool <var>is_old</var></dt> - * <dd>This will be `true` if the image is old. `false` otherwise.</dd> - * <dt>string <var>s_url</var></dt> - * <dd>The URL to the image.</dd> - * <dt>string <var>url-view</var></dt> - * <dd>The URL to the image.</dd> - * <dt>string <var>url-thumbnail</var></dt> - * <dd>The URL to the image's thumbnail.</dd> - * </dl> - * </dd> - * <dt>array <var>a_schedule</var></dt> - * <dd>Information about the event's schedule. It is a list of instances, each instance will contain the following keys: - * <dl> - * <dt>array <var>a_day</var></dt> - * <dd>The days when the event is scheduled (0 - Sunday, 6 - Saturday).</dd> - * <dt>array <var>a_staff_member</var></dt> - * <dd>Information about the staff member(s) conducting the event. This is a list of staff, each element is an array - * with the following keys - * <dl> - * <dt>string <var>k_staff_member</var></dt> - * <dd>The staff member key.</dd> - * <dt>string <var>text_business_role</var></dt> - * <dd>The name of the staff member's business role.</dd> - * <dt>string <var>text_mail</var></dt> - * <dd>The staff member's email address.</dd> - * <dt>string <var>text_name_first</var></dt> - * <dd>The staff member's first name.</dd> - * <dt>string <var>text_name_full</var></dt> - * <dd>The staff member's full name.</dd> - * <dt>string <var>text_name_last</var></dt> - * <dd>The staff member's last name.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The staff member's user key.</dd> - * </dl> - * </dd> - * <dt>string <var>dl_end</var></dt> - * <dd>The ending date of the event series.</dd> - * <dt>string <var>dl_start</var></dt> - * <dd>The starting date of the event series.</dd> - * <dt>bool <var>is_day</var></dt> - * <dd>This will be `true` if the event starts and ends on the same day.</dd> - * <dt>string <var>k_class_period</var></dt> - * <dd>The class period key.</dd> - * <dt>string <var>k_location</var></dt> - * <dd>The location key.</dd> - * <dt>string <var>text_location</var></dt> - * <dd>The name of the location.</dd> - * <dt>string <var>text_time</var></dt> - * <dd>The human readable version of the event time.</dd> - * </dl> - * </dd> - * <dt>array <var>a_search_tag</var></dt> - * <dd>The list of search tags for this event.</dd> - * <dt>bool <var>can_cancel</var></dt> - * <dd>Whether the current user can cancel already booked event.</dd> - * <dt>string <var>dl_early</var></dt> - * <dd>The early cancel date</dd> - * <dt>string <var>dl_end</var></dt> - * <dd>The ending date of the event.</dd> - * <dt>string <var>dl_start</var></dt> - * <dd>The starting date of the event.</dd> - * <dt>string <var>dtu_session</var></dt> - * <dd>Date of the closest session of the event.</dd> - * <dt>int <var>i_session_all</var></dt> - * <dd>Number of all sessions in the event.</dd> - * <dt>int <var>i_session_future</var></dt> - * <dd>Number of all sessions in the future.</dd> - * <dt>int <var>i_session_past</var></dt> - * <dd>Number of all sessions in the past.</dd> - * <dt>bool <var>is_age_restrict</var></dt> - * <dd>`true` if the event is age restricted, `false` if the event is not.</dd> - * <dt>bool <var>is_block</var></dt> - * <dd>`true` if the event is a block event, `false` if the event is not.</dd> - * <dt>bool <var>is_bookable</var></dt> - * <dd>`true` if the event is can be booked by the current user, `false` if the event is not.</dd> - * <dt>bool <var>is_booked</var></dt> - * <dd>`true` if the user has booked the event, `false` if the event is not.</dd> - * <dt>bool <var>is_closed</var></dt> - * <dd>`true` if booking the event is closed, `false` if the event is not.</dd> - * <dt>bool <var>is_full</var></dt> - * <dd>`true` if the event is full, `false` if the event is not.</dd> - * <dt>bool <var>is_online</var></dt> - * <dd>`true` if the event is available online, `false` if the event is not.</dd> - * <dt>bool <var>is_online_private</var></dt> - * <dd>`true` if the event is online and private, `false` if the event is not.</dd> - * <dt>bool <var>is_open</var></dt> - * <dd>`true` if the event is open to be booked, `false` if the event is not.</dd> - * <dt>bool <var>is_prorate</var></dt> - * <dd>`true` if the event is prorated, `false` if the event is not.</dd> - * <dt>bool <var>is_virtual</var></dt> - * <dd>`true` if the event is only held virtually, `false` if the event is not.</dd> - * <dt>string <var>k_class</var></dt> - * <dd>The class key.</dd> - * <dt>string <var>k_class_period</var></dt> - * <dd>The class period key.</dd> - * <dt>string <var>k_enrollment_block</var></dt> - * <dd>The enrollment block key.</dd> - * <dt>string <var>k_location</var></dt> - * <dd>The location key.</dd> - * <dt>string <var>m_price_total</var></dt> - * <dd>The total price of booking a session.</dd> - * <dt>string <var>m_price_total_early</var></dt> - * <dd>The total price if booked early.</dd> - * <dt>string <var>text_age_restrict</var></dt> - * <dd>The age description.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The name of the event.</dd> - * <dt>string <var>url_book</var></dt> - * <dd>The direct booking url.</dd> - * <dt>string <var>xml_description</var></dt> - * <dd>The description of the event.</dd> - * </dl> - * +<?php + +namespace WellnessLiving\Wl\Event; + +use WellnessLiving\Core\Drive\DriveTypeSid; +use WellnessLiving\Core\Sid\YesNoSid; +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\Core\a\AFlagSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlScheduleTimeSid; + +/** + * Retrieves a list of events that fit the given filter parameters. + */ +class EventListModel extends WlModelAbstract +{ + /** + * List of class keys applied by filter. + * + * @get get + * @var string[]|null + */ + public $a_class_filter = null; + + /** + * List of day the week applied by filter {@link ADateWeekSid}. + * + * @get get + * @var string[]|null + */ + public $a_day = null; + + /** + * List of enrollment blocks keys applied by filter. + * + * @get get + * @var string[]|null + */ + public $a_enrollment_block_filter = null; + + /** + * List of available enrollment blocks correspond to requested parameters. + * + * @get result + * @var array + */ + public $a_enrollment_block_list = []; + + /** + * A list of events corresponding to requested parameters. Each event will have the following keys: <dl> + * <dt>array <var>a_class_tab</var></dt> + * <dd>The list of class tab keys that contain this event.</dd> + * <dt>array <var>a_logo</var></dt> + * <dd>Information about the event's logo. It will contain the following keys: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>The image height.</dd> + * <dt>int <var>i_height_src</var></dt> + * <dd>The source image's height.</dd> + * <dt>int <var>i_rotate</var></dt> + * <dd>The angle which image was rotated compared to the original.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>The image width.</dd> + * <dt>int <var>i_width_src</var></dt> + * <dd>The source image's width.</dd> + * <dt>int <var>id_type_src</var></dt> + * <dd>The image type ID. One of the {@link DriveTypeSid} constants.</dd> + * <dt>bool <var>is_resize</var></dt> + * <dd>This will be `true` if the image has been resized. `false` otherwise.</dd> + * <dt>bool <var>is_old</var></dt> + * <dd>This will be `true` if the image is old. `false` otherwise.</dd> + * <dt>string <var>s_url</var></dt> + * <dd>The URL to the image.</dd> + * <dt>string <var>url-view</var></dt> + * <dd>The URL to the image.</dd> + * <dt>string <var>url-thumbnail</var></dt> + * <dd>The URL to the image's thumbnail.</dd> + * </dl> + * </dd> + * <dt>array <var>a_schedule</var></dt> + * <dd>Information about the event's schedule. It is a list of instances, each instance will contain the following keys: + * <dl> + * <dt>array <var>a_day</var></dt> + * <dd>The days when the event is scheduled (0 - Sunday, 6 - Saturday).</dd> + * <dt>array <var>a_staff_member</var></dt> + * <dd>Information about the staff member(s) conducting the event. This is a list of staff, each element is an array + * with the following keys + * <dl> + * <dt>string <var>k_staff_member</var></dt> + * <dd>The staff member key.</dd> + * <dt>string <var>text_business_role</var></dt> + * <dd>The name of the staff member's business role.</dd> + * <dt>string <var>text_mail</var></dt> + * <dd>The staff member's email address.</dd> + * <dt>string <var>text_name_first</var></dt> + * <dd>The staff member's first name.</dd> + * <dt>string <var>text_name_full</var></dt> + * <dd>The staff member's full name.</dd> + * <dt>string <var>text_name_last</var></dt> + * <dd>The staff member's last name.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The staff member's user key.</dd> + * </dl> + * </dd> + * <dt>string <var>dl_end</var></dt> + * <dd>The ending date of the event series.</dd> + * <dt>string <var>dl_start</var></dt> + * <dd>The starting date of the event series.</dd> + * <dt>bool <var>is_day</var></dt> + * <dd>This will be `true` if the event starts and ends on the same day.</dd> + * <dt>string <var>k_class_period</var></dt> + * <dd>The class period key.</dd> + * <dt>string <var>k_location</var></dt> + * <dd>The location key.</dd> + * <dt>string <var>text_location</var></dt> + * <dd>The name of the location.</dd> + * <dt>string <var>text_time</var></dt> + * <dd>The human readable version of the event time.</dd> + * </dl> + * </dd> + * <dt>array <var>a_search_tag</var></dt> + * <dd>The list of search tags for this event.</dd> + * <dt>bool <var>can_cancel</var></dt> + * <dd>Whether the current user can cancel already booked event.</dd> + * <dt>string <var>dl_early</var></dt> + * <dd>The early cancel date</dd> + * <dt>string <var>dl_end</var></dt> + * <dd>The ending date of the event.</dd> + * <dt>string <var>dl_start</var></dt> + * <dd>The starting date of the event.</dd> + * <dt>string <var>dtu_session</var></dt> + * <dd>Date of the closest session of the event.</dd> + * <dt>int <var>i_session_all</var></dt> + * <dd>Number of all sessions in the event.</dd> + * <dt>int <var>i_session_future</var></dt> + * <dd>Number of all sessions in the future.</dd> + * <dt>int <var>i_session_past</var></dt> + * <dd>Number of all sessions in the past.</dd> + * <dt>bool <var>is_age_restrict</var></dt> + * <dd>`true` if the event is age restricted, `false` if the event is not.</dd> + * <dt>bool <var>is_block</var></dt> + * <dd>`true` if the event is a block event, `false` if the event is not.</dd> + * <dt>bool <var>is_bookable</var></dt> + * <dd>`true` if the event is can be booked by the current user, `false` if the event is not.</dd> + * <dt>bool <var>is_booked</var></dt> + * <dd>`true` if the user has booked the event, `false` if the event is not.</dd> + * <dt>bool <var>is_closed</var></dt> + * <dd>`true` if booking the event is closed, `false` if the event is not.</dd> + * <dt>bool <var>is_full</var></dt> + * <dd>`true` if the event is full, `false` if the event is not.</dd> + * <dt>bool <var>is_online</var></dt> + * <dd>`true` if the event is available online, `false` if the event is not.</dd> + * <dt>bool <var>is_online_private</var></dt> + * <dd>`true` if the event is online and private, `false` if the event is not.</dd> + * <dt>bool <var>is_open</var></dt> + * <dd>`true` if the event is open to be booked, `false` if the event is not.</dd> + * <dt>bool <var>is_prorate</var></dt> + * <dd>`true` if the event is prorated, `false` if the event is not.</dd> + * <dt>bool <var>is_virtual</var></dt> + * <dd>`true` if the event is only held virtually, `false` if the event is not.</dd> + * <dt>string <var>k_class</var></dt> + * <dd>The class key.</dd> + * <dt>string <var>k_class_period</var></dt> + * <dd>The class period key.</dd> + * <dt>string <var>k_enrollment_block</var></dt> + * <dd>The enrollment block key.</dd> + * <dt>string <var>k_location</var></dt> + * <dd>The location key.</dd> + * <dt>string <var>m_price_total</var></dt> + * <dd>The total price of booking a session.</dd> + * <dt>string <var>m_price_total_early</var></dt> + * <dd>The total price if booked early.</dd> + * <dt>string <var>text_age_restrict</var></dt> + * <dd>The age description.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The name of the event.</dd> + * <dt>string <var>url_book</var></dt> + * <dd>The direct booking url.</dd> + * <dt>string <var>xml_description</var></dt> + * <dd>The description of the event.</dd> + * </dl> + * * @get result * @var array[] - */ - public $a_event_list = []; - - /** - * List of location keys applied by filter. - * - * @get get - * @var string[]|null - */ - public $a_location = null; - - /** - * List of staff keys applied by filter. - * - * @get get - * @var string[]|null - */ - public $a_staff = null; - - /** - * List of time day applied by filter {@link WlScheduleTimeSid}. - * - * @get get - * @var string[]|null - */ - public $a_time = null; - - /** - * The end date of the range from which a list of events should be retrieved. - * - * <tt>null</tt> if the range has no end date. - * - * @get get - * @var string - */ - public $dl_end; - - /** - * The start date of the range from which a list of events should be retrieved. - * - * <tt>null</tt> if the range has no start date. - * - * @get get - * @var string - */ - public $dl_start; - - /** - * Defines how the event availability flag filter should be applied. - * - * One of {@link AFlagSid} constants. - * - * * {@link AFlagSid::ON} to show only available events. - * * {@link AFlagSid::OFF} to show only unavailable events. - * * {@link AFlagSid::ALL} to show all events (available and unavailable). - * - * @get get - * @var int - */ - public $id_flag = 3; - - /** - * Determines whether the endpoint is used for backend mode. - * - * @get get - * @var bool - */ - public $is_backend; - - /** - * Model cache reset flag. - * - * @put post - * @var bool - */ - public $is_cache_reset = false; - - /** - * `true` to show even event restricted by booking policies; `false` to show available events only. - * - * @get get - * @var bool - */ - public $is_ignore_requirement = false; - - /** - * Determines whether you need to retrieve a list of event sessions regardless of the tab specified in {@link EventListModel::$k_class_tab}. - * - * * <tt>true</tt> - retrieves a list regardless of the specified tab. - * * <tt>false</tt> - retrieves a list only for the specific tab. - * - * @get get - * @var bool - */ - public $is_tab_all = false; - - /** - * The event business key to retrieve a list of all event sessions in business. - * - * Required if {@link EventListModel::$k_location} isn't specified. - * - * @get get - * @put get - * @var string - */ - public $k_business; - - /** - * The event class key to retrieve a list of all event sessions of a specific class. - * - * @get get - * @var string - */ - public $k_class; - - /** - * The class tab key to retrieve a list of event sessions from a specific tab only. - * An empty value to retrieve a list of event sessions that don't belong to any tab. - * - * Will be ignored in next cases: - * * {@link EventListModel::$k_skin} specified. - * * {@link EventListModel::$is_tab_all} is <tt>true</tt>. - * - * @get get - * @var string - */ - public $k_class_tab; - - /** - * The event location key to retrieve a list of all event sessions in a specific location. - * - * Required if {@link EventListModel::$k_business} isn't specified. - * - * @get get - * @var string - */ - public $k_location; - - /** - * The skin key if an event list is used for widget mode. - * - * {@link EventListModel::$k_class_tab} will be ignored for widget mode. - * - * @get get - * @var string - */ - public $k_skin; - - /** - * Search string to filter events by name. - * - * @get get - * @var string - */ - public $text_search = ''; - - /** - * The user key. - * Required to apply specific user rules such as age restrictions. - * - * @get get - * @put get - * @var string - */ - public $uid; -} - + */ + public $a_event_list = []; + + /** + * List of location keys applied by filter. + * + * @get get + * @var string[]|null + */ + public $a_location = null; + + /** + * List of staff keys applied by filter. + * + * @get get + * @var string[]|null + */ + public $a_staff = null; + + /** + * List of time day applied by filter {@link WlScheduleTimeSid}. + * + * @get get + * @var string[]|null + */ + public $a_time = null; + + /** + * List of IDs to include/exclude virtual events. + * If the only ID is {@link YesNoSid::YES}, only virtual events are included. + * If the only ID is {@link YesNoSid::NO}, only in-person events are included. + * Otherwise, no filtering is done. + * + * @get get + * @var string[]|null + */ + public $a_virtual = null; + + /** + * The end date of the range from which a list of events should be retrieved. + * + * <tt>null</tt> if the range has no end date. + * + * @get get + * @var string + */ + public $dl_end; + + /** + * The start date of the range from which a list of events should be retrieved. + * + * <tt>null</tt> if the range has no start date. + * + * @get get + * @var string + */ + public $dl_start; + + /** + * Defines how the event availability flag filter should be applied. + * + * One of {@link AFlagSid} constants. + * + * * {@link AFlagSid::ON} to show only available events. + * * {@link AFlagSid::OFF} to show only unavailable events. + * * {@link AFlagSid::ALL} to show all events (available and unavailable). + * + * @get get + * @var int + */ + public $id_flag = 3; + + /** + * Determines whether the endpoint is used for backend mode. + * + * @get get + * @var bool + */ + public $is_backend; + + /** + * Model cache reset flag. + * + * @put post + * @var bool + */ + public $is_cache_reset = false; + + /** + * `true` to show even event restricted by booking policies; `false` to show available events only. + * + * @get get + * @var bool + */ + public $is_ignore_requirement = false; + + /** + * Determines whether you need to retrieve a list of event sessions regardless of the tab specified in {@link EventListModel::$k_class_tab}. + * + * * <tt>true</tt> - retrieves a list regardless of the specified tab. + * * <tt>false</tt> - retrieves a list only for the specific tab. + * + * @get get + * @var bool + */ + public $is_tab_all = false; + + /** + * The event business key to retrieve a list of all event sessions in business. + * + * Required if {@link EventListModel::$k_location} isn't specified. + * + * @get get + * @put get + * @var string + */ + public $k_business; + + /** + * The event class key to retrieve a list of all event sessions of a specific class. + * + * @get get + * @var string + */ + public $k_class; + + /** + * The class tab key to retrieve a list of event sessions from a specific tab only. + * An empty value to retrieve a list of event sessions that don't belong to any tab. + * + * Will be ignored in next cases: + * * {@link EventListModel::$k_skin} specified. + * * {@link EventListModel::$is_tab_all} is <tt>true</tt>. + * + * @get get + * @var string + */ + public $k_class_tab; + + /** + * The event location key to retrieve a list of all event sessions in a specific location. + * + * Required if {@link EventListModel::$k_business} isn't specified. + * + * @get get + * @var string + */ + public $k_location; + + /** + * The skin key if an event list is used for widget mode. + * + * {@link EventListModel::$k_class_tab} will be ignored for widget mode. + * + * @get get + * @var string + */ + public $k_skin; + + /** + * Search string to filter events by name. + * + * @get get + * @var string + */ + public $text_search = ''; + + /** + * The user key. + * Required to apply specific user rules such as age restrictions. + * + * @get get + * @put get + * @var string + */ + public $uid; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Facebook/Login/FacebookLoginModel.php b/WellnessLiving/Wl/Facebook/Login/FacebookLoginModel.php index 5ce13324..19c124dc 100644 --- a/WellnessLiving/Wl/Facebook/Login/FacebookLoginModel.php +++ b/WellnessLiving/Wl/Facebook/Login/FacebookLoginModel.php @@ -1,39 +1,39 @@ -<?php - -namespace WellnessLiving\Wl\Facebook\Login; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint that performs authorization actions with Facebook. - */ -class FacebookLoginModel extends WlModelAbstract -{ - /** - * Business in which authorization is performed. - * - * @post post - * @var string - */ - public $k_business = ''; - - /** - * The application ID. - * - * This will be `null` if the application is being used to make the request. - * - * @post post - * @var string|null - */ - public $s_application = null; - - /** - * The Facebook token. - * - * @post post - * @var string - */ - public $s_token = ''; -} - +<?php + +namespace WellnessLiving\Wl\Facebook\Login; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint that performs authorization actions with Facebook. + */ +class FacebookLoginModel extends WlModelAbstract +{ + /** + * Business in which authorization is performed. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * The application ID. + * + * This will be `null` if the application is being used to make the request. + * + * @post post + * @var string|null + */ + public $s_application = null; + + /** + * The Facebook token. + * + * @post post + * @var string + */ + public $s_token = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Facility/WlFacilitySid.php b/WellnessLiving/Wl/Facility/WlFacilitySid.php index f292c048..b47e78af 100644 --- a/WellnessLiving/Wl/Facility/WlFacilitySid.php +++ b/WellnessLiving/Wl/Facility/WlFacilitySid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving\Wl\Facility; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlFacilitySid} instead. - */ -class WlFacilitySid extends \WellnessLiving\Wl\WlFacilitySid -{ -} - +<?php + +namespace WellnessLiving\Wl\Facility; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlFacilitySid} instead. + */ +class WlFacilitySid extends \WellnessLiving\Wl\WlFacilitySid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Family/Relation/RelationModel.php b/WellnessLiving/Wl/Family/Relation/RelationModel.php index eea7db09..0de2cdbc 100644 --- a/WellnessLiving/Wl/Family/Relation/RelationModel.php +++ b/WellnessLiving/Wl/Family/Relation/RelationModel.php @@ -1,77 +1,77 @@ -<?php - -namespace WellnessLiving\Wl\Family\Relation; - -use WellnessLiving\WlModelAbstract; - -/** - * Returns data about a user's relationships. - */ -class RelationModel extends WlModelAbstract -{ - /** - * The new relationship to be added to user, specified with {@link RelationModel::$uid}: - * <dl> - * <dt>int <var>id_family_relation</var></dt> - * <dd>The relationship type. One of the {@link WlFamilyRelationSid} constants.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The related user's key.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_new = []; - - /** - * Information about the user's relationships. Every element has the following fields: - * <dl> - * <dt>int <var>id_family_relation</var></dt> - * <dd>The relationship type. One of the {@link WlFamilyRelationSid} constants.</dd> - * <dt>int <var>id_family_relation_reverse</var></dt> - * <dd>The type of reciprocated relationship. One of the {@link WlFamilyRelationSid} constants.</dd> - * <dt>string <var>text_name</var></dt> - * <dd>The name of the relation.</dd> - * <dt>string <var>text_name_first</var></dt> - * <dd>The first name of the relation.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The key of the related user.</dd> - * </dl> - * - * @delete result - * @get result - * @post result - * @var array[] - */ - public $a_relation; - - /** - * The business key. - * - * @delete get - * @get get - * @post get - * @var string - */ - public $k_business; - - /** - * The key of the user whose relationships are being assessed. - * - * @delete get - * @get get - * @post get - * @var string - */ - public $uid = '0'; - - /** - * The key of the related user who {@link RelationModel::$uid} must be removed. - * - * @delete get - * @var string - */ - public $uid_delete = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Family\Relation; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns data about a user's relationships. + */ +class RelationModel extends WlModelAbstract +{ + /** + * The new relationship to be added to user, specified with {@link RelationModel::$uid}: + * <dl> + * <dt>int <var>id_family_relation</var></dt> + * <dd>The relationship type. One of the {@link WlFamilyRelationSid} constants.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The related user's key.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_new = []; + + /** + * Information about the user's relationships. Every element has the following fields: + * <dl> + * <dt>int <var>id_family_relation</var></dt> + * <dd>The relationship type. One of the {@link WlFamilyRelationSid} constants.</dd> + * <dt>int <var>id_family_relation_reverse</var></dt> + * <dd>The type of reciprocated relationship. One of the {@link WlFamilyRelationSid} constants.</dd> + * <dt>string <var>text_name</var></dt> + * <dd>The name of the relation.</dd> + * <dt>string <var>text_name_first</var></dt> + * <dd>The first name of the relation.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The key of the related user.</dd> + * </dl> + * + * @delete result + * @get result + * @post result + * @var array[] + */ + public $a_relation; + + /** + * The business key. + * + * @delete get + * @get get + * @post get + * @var string + */ + public $k_business; + + /** + * The key of the user whose relationships are being assessed. + * + * @delete get + * @get get + * @post get + * @var string + */ + public $uid = '0'; + + /** + * The key of the related user who {@link RelationModel::$uid} must be removed. + * + * @delete get + * @var string + */ + public $uid_delete = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php b/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php index c55829b8..1a3a28b1 100644 --- a/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php +++ b/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php @@ -1,48 +1,48 @@ -<?php - -namespace WellnessLiving\Wl\Family\Relation; - -/** - * Relation type between two relatives. - * - * Last used ID: 7. - */ -class WlFamilyRelationSid -{ - /** - * Child of the parent. - */ - const CHILD = 5; - - /** - * Friend. - */ - const FRIEND = 2; - - /** - * Guardian. - */ - const GUARDIAN = 7; - - /** - * Not specified custom relationship. - */ - const OTHER = 6; - - /** - * Parent of the child. - */ - const PARENT = 3; - - /** - * Sibling. A brother or sister. - */ - const SIBLING = 4; - - /** - * Spouse. A husband or wife. - */ - const SPOUSE = 1; -} - +<?php + +namespace WellnessLiving\Wl\Family\Relation; + +/** + * Relation type between two relatives. + * + * Last used ID: 7. + */ +class WlFamilyRelationSid +{ + /** + * Child of the parent. + */ + const CHILD = 5; + + /** + * Friend. + */ + const FRIEND = 2; + + /** + * Guardian. + */ + const GUARDIAN = 7; + + /** + * Not specified custom relationship. + */ + const OTHER = 6; + + /** + * Parent of the child. + */ + const PARENT = 3; + + /** + * Sibling. A brother or sister. + */ + const SIBLING = 4; + + /** + * Spouse. A husband or wife. + */ + const SPOUSE = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Fitbuilder/MessageModel.php b/WellnessLiving/Wl/Fitbuilder/MessageModel.php deleted file mode 100644 index 53f9833e..00000000 --- a/WellnessLiving/Wl/Fitbuilder/MessageModel.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Fitbuilder; - -use WellnessLiving\WlModelAbstract; - -/** - * Point to get messenger information from Fitbuilder. - */ -class MessageModel extends WlModelAbstract -{ - /** - * Messenger information. - * - * @post post - * @var array - */ - public $a_data = []; - - /** - * Messenger channel key. - * - * @post get - * @var string - */ - public $k_channel = ''; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Google/Login/GoogleLoginModel.php b/WellnessLiving/Wl/Google/Login/GoogleLoginModel.php index 0d38e895..099ce7e8 100644 --- a/WellnessLiving/Wl/Google/Login/GoogleLoginModel.php +++ b/WellnessLiving/Wl/Google/Login/GoogleLoginModel.php @@ -1,39 +1,39 @@ -<?php - -namespace WellnessLiving\Wl\Google\Login; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint that performs authorization actions with Google. - */ -class GoogleLoginModel extends WlModelAbstract -{ - /** - * Business in which authorization is performed. - * - * @post post - * @var string - */ - public $k_business = ''; - - /** - * The application ID. - * - * This will be `null` for application use, which makes the request. Use the application credential from - * - * @post post - * @var string|null - */ - public $s_application = null; - - /** - * The Google server authorization code. - * - * @post post - * @var string - */ - public $s_code = ''; -} - +<?php + +namespace WellnessLiving\Wl\Google\Login; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint that performs authorization actions with Google. + */ +class GoogleLoginModel extends WlModelAbstract +{ + /** + * Business in which authorization is performed. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * The application ID. + * + * This will be `null` for application use, which makes the request. Use the application credential from + * + * @post post + * @var string|null + */ + public $s_application = null; + + /** + * The Google server authorization code. + * + * @post post + * @var string + */ + public $s_code = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Gym/Visit/VisitAddModel.php b/WellnessLiving/Wl/Gym/Visit/VisitAddModel.php index 3ef79de3..d4632c41 100644 --- a/WellnessLiving/Wl/Gym/Visit/VisitAddModel.php +++ b/WellnessLiving/Wl/Gym/Visit/VisitAddModel.php @@ -1,80 +1,80 @@ -<?php - -namespace WellnessLiving\Wl\Gym\Visit; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint for adding a gym visit. - */ -class VisitAddModel extends WlModelAbstract -{ - /** - * The time of the visit, in the location's timezone. An array with the following fields: - * <dl> - * <dt>int <var>i_hour</var></dt> - * <dd>The hour component.</dd> - * <dt>int <var>i_minute</var></dt> - * <dd>The minute component.</dd> - * <dt>bool <var>is_am</var></dt> - * <dd>If `true` the visit is in the AM. If `false` it is in the PM.</dd> - * </dl> - * - * @post post - * @var array - */ - public $a_time = []; - - /** - * The date of visit, without a time component in MySQL format. Date is based on the timezone of the location. - * - * @post post - * @var string - */ - public $dt_date; - - /** - * Determines whether payment is required for the visit. - * - * `true` if payment is needed for the visit. - * `false` if visit should be not pay. - * - * @post post - * @var bool - */ - public $is_pay; - - /** - * The business key. - * - * @post get - * @var string - */ - public $k_business; - - /** - * The location key. - * - * @post get - * @var string - */ - public $k_location; - - /** - * The key of the user making the gym visit. - * - * @post get - * @var string - */ - public $uid; - - /** - * Url to the business catalog with items that can be used to pay for the visit. - * - * @post result - * @var string - */ - public $url_catalog; -} - +<?php + +namespace WellnessLiving\Wl\Gym\Visit; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint for adding a gym visit. + */ +class VisitAddModel extends WlModelAbstract +{ + /** + * The time of the visit, in the location's timezone. An array with the following fields: + * <dl> + * <dt>int <var>i_hour</var></dt> + * <dd>The hour component.</dd> + * <dt>int <var>i_minute</var></dt> + * <dd>The minute component.</dd> + * <dt>bool <var>is_am</var></dt> + * <dd>If `true` the visit is in the AM. If `false` it is in the PM.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_time = []; + + /** + * The date of visit, without a time component in MySQL format. Date is based on the timezone of the location. + * + * @post post + * @var string + */ + public $dt_date; + + /** + * Determines whether payment is required for the visit. + * + * `true` if payment is needed for the visit. + * `false` if visit should be not pay. + * + * @post post + * @var bool + */ + public $is_pay; + + /** + * The business key. + * + * @post get + * @var string + */ + public $k_business; + + /** + * The location key. + * + * @post get + * @var string + */ + public $k_location; + + /** + * The key of the user making the gym visit. + * + * @post get + * @var string + */ + public $uid; + + /** + * Url to the business catalog with items that can be used to pay for the visit. + * + * @post result + * @var string + */ + public $url_catalog; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Holiday/BulkBusinessHolidayModel.php b/WellnessLiving/Wl/Holiday/BulkBusinessHolidayModel.php index aebd9515..4ea672fe 100644 --- a/WellnessLiving/Wl/Holiday/BulkBusinessHolidayModel.php +++ b/WellnessLiving/Wl/Holiday/BulkBusinessHolidayModel.php @@ -1,61 +1,61 @@ -<?php - -namespace WellnessLiving\Wl\Holiday; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint displaying information about all location/business holidays for a given business. - */ -class BulkBusinessHolidayModel extends WlModelAbstract -{ - /** - * An array consisting of the business's closed day data for all locations by holiday keys {@link HolidayModel::$dl_work}. - * - * List of holidays. Values are arrays of holidays as follows: - * <dl> - * <dt>array <var>a_class</var></dt> - * <dd>A list of affected classes. Keys are class keys.</dd> - * <dt>array <var>a_class_only</var></dt> - * <dd>A list of affected classes. Keys are class keys.</dd> - * <dt>array <var>a_event_only</var></dt> - * <dd>A list of affected events. Keys are event keys.</dd> - * <dt>array <var>a_service</var></dt> - * <dd>A list of affected services. Keys are service keys.</dd> - * <dt>string <var>dt_end</var></dt> - * <dd>The end date of the holiday.</dd> - * <dt>string <var>dt_start</var></dt> - * <dd>The start date of the holiday.</dd> - * <dt>int <var>is_class_all</var></dt> - * <dd>'1' if all classes are selected to cancel, '0' if otherwise.</dd> - * <dt>int <var>is_event_all</var></dt> - * <dd>'1' if all events are selected to cancel, '0' if otherwise.</dd> - * <dt>int <var>is_service_all</var></dt> - * <dd>'1' if all services are selected to cancel, '0' if otherwise.</dd> - * <dt>int <var>k_business</var></dt> - * <dd>The business key.</dd> - * <dt>int <var>k_holiday</var></dt> - * <dd>The holiday key.</dd> - * <dt>int <var>k_location</var></dt> - * <dd>The location key.</dd> - * <dt>int <var>k_market</var></dt> - * <dd>The market key.</dd> - * <dt>string <var>s_title</var></dt> - * <dd>The name of the holiday.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_business_holidays; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = ''; -} - +<?php + +namespace WellnessLiving\Wl\Holiday; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint displaying information about all location/business holidays for a given business. + */ +class BulkBusinessHolidayModel extends WlModelAbstract +{ + /** + * An array consisting of the business's closed day data for all locations by holiday keys {@link HolidayModel::$dl_work}. + * + * List of holidays. Values are arrays of holidays as follows: + * <dl> + * <dt>array <var>a_class</var></dt> + * <dd>A list of affected classes. Keys are class keys.</dd> + * <dt>array <var>a_class_only</var></dt> + * <dd>A list of affected classes. Keys are class keys.</dd> + * <dt>array <var>a_event_only</var></dt> + * <dd>A list of affected events. Keys are event keys.</dd> + * <dt>array <var>a_service</var></dt> + * <dd>A list of affected services. Keys are service keys.</dd> + * <dt>string <var>dt_end</var></dt> + * <dd>The end date of the holiday.</dd> + * <dt>string <var>dt_start</var></dt> + * <dd>The start date of the holiday.</dd> + * <dt>int <var>is_class_all</var></dt> + * <dd>'1' if all classes are selected to cancel, '0' if otherwise.</dd> + * <dt>int <var>is_event_all</var></dt> + * <dd>'1' if all events are selected to cancel, '0' if otherwise.</dd> + * <dt>int <var>is_service_all</var></dt> + * <dd>'1' if all services are selected to cancel, '0' if otherwise.</dd> + * <dt>int <var>k_business</var></dt> + * <dd>The business key.</dd> + * <dt>int <var>k_holiday</var></dt> + * <dd>The holiday key.</dd> + * <dt>int <var>k_location</var></dt> + * <dd>The location key.</dd> + * <dt>int <var>k_market</var></dt> + * <dd>The market key.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The name of the holiday.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_business_holidays; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Holiday/HolidayModel.php b/WellnessLiving/Wl/Holiday/HolidayModel.php index ec1a6da8..e61796b5 100644 --- a/WellnessLiving/Wl/Holiday/HolidayModel.php +++ b/WellnessLiving/Wl/Holiday/HolidayModel.php @@ -1,54 +1,54 @@ -<?php - -namespace WellnessLiving\Wl\Holiday; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint displaying information about locations' business holidays. - */ -class HolidayModel extends WlModelAbstract -{ - /** - * A list of the location's closed day titles by location keys on the date {@link HolidayModel::$dl_work}. - * - * @get result - * @var array - */ - public $a_location_holiday; - - /** - * The date working hours are required for. - * Set in the business's timezone. - * - * @get get - * @var string - */ - public $dl_work = ''; - - /** - * <tt>true</tt> if the business has a closed day on the date {@link HolidayModel::$dl_work}, <tt>false</tt> if otherwise. - * - * @get result - * @var bool - */ - public $is_business_holiday; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The message used for the business's closed day on the date {@link HolidayModel::$dl_work}. - * - * @get result - * @var string - */ - public $text_business_title = ''; -} - +<?php + +namespace WellnessLiving\Wl\Holiday; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint displaying information about locations' business holidays. + */ +class HolidayModel extends WlModelAbstract +{ + /** + * A list of the location's closed day titles by location keys on the date {@link HolidayModel::$dl_work}. + * + * @get result + * @var array + */ + public $a_location_holiday; + + /** + * The date working hours are required for. + * Set in the business's timezone. + * + * @get get + * @var string + */ + public $dl_work = ''; + + /** + * <tt>true</tt> if the business has a closed day on the date {@link HolidayModel::$dl_work}, <tt>false</tt> if otherwise. + * + * @get result + * @var bool + */ + public $is_business_holiday; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The message used for the business's closed day on the date {@link HolidayModel::$dl_work}. + * + * @get result + * @var string + */ + public $text_business_title = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Insurance/Catalog/ProgramListModel.php b/WellnessLiving/Wl/Insurance/Catalog/ProgramListModel.php index c0710146..c74dfd4a 100644 --- a/WellnessLiving/Wl/Insurance/Catalog/ProgramListModel.php +++ b/WellnessLiving/Wl/Insurance/Catalog/ProgramListModel.php @@ -1,53 +1,53 @@ -<?php - -namespace WellnessLiving\Wl\Insurance\Catalog; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves a list of programs' information. - */ -class ProgramListModel extends WlModelAbstract -{ - /** - * A List of active programs. - * Every element has next keys: - * - * <dl> - * <dt>string <var>k_wellness_program</var></dt> - * <dd>The insurance key.</dd> - * <dt>string <var>m_price</var></dt> - * <dd>The Purchase Option price.</dd> - * <dt>string <var>text_insurance_organization</var></dt> - * <dd>The insurance organization name.</dd> - * <dt>string <var>text_partner</var></dt> - * <dd>The insurance partner name.</dd> - * <dt>string <var>text_program</var></dt> - * <dd>The insurance name.</dd> - * <dt>string <var>url_insurance_detail</var></dt> - * <dd>The insurance organization URL.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_wellness_program; - - /** - * The key of the franchisee business. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The key of the promotion. - * - * @get get - * @var string - */ - public $k_promotion = ''; -} - +<?php + +namespace WellnessLiving\Wl\Insurance\Catalog; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves a list of programs' information. + */ +class ProgramListModel extends WlModelAbstract +{ + /** + * A List of active programs. + * Every element has next keys: + * + * <dl> + * <dt>string <var>k_wellness_program</var></dt> + * <dd>The insurance key.</dd> + * <dt>string <var>m_price</var></dt> + * <dd>The Purchase Option price.</dd> + * <dt>string <var>text_insurance_organization</var></dt> + * <dd>The insurance organization name.</dd> + * <dt>string <var>text_partner</var></dt> + * <dd>The insurance partner name.</dd> + * <dt>string <var>text_program</var></dt> + * <dd>The insurance name.</dd> + * <dt>string <var>url_insurance_detail</var></dt> + * <dd>The insurance organization URL.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_wellness_program; + + /** + * The key of the franchisee business. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The key of the promotion. + * + * @get get + * @var string + */ + public $k_promotion = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Insurance/Enrollment/Field/EnrollmentFieldListModel.php b/WellnessLiving/Wl/Insurance/Enrollment/Field/EnrollmentFieldListModel.php index 63b9d77c..5637a18e 100644 --- a/WellnessLiving/Wl/Insurance/Enrollment/Field/EnrollmentFieldListModel.php +++ b/WellnessLiving/Wl/Insurance/Enrollment/Field/EnrollmentFieldListModel.php @@ -1,117 +1,117 @@ -<?php - -namespace WellnessLiving\Wl\Insurance\Enrollment\Field; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves and validates a list of insurance partner fields. - * - * Use the GET method to load a list of required fields. - * - * Use the POST method to validate the fields before sending them to the payment API. - */ -class EnrollmentFieldListModel extends WlModelAbstract -{ - /** - * Reimbursement account information. - * - * Keys - field name. - * Values - value entered by user. - * - * @post post - * @put post - * @var array - */ - public $a_account = []; - - /** - * List of fields that the user has filled in for enrollment. - * - * Keys refer specifically to field keys. - * Values refer specifically to values entered by the user. - * - * @post post - * @put post - * @var array - */ - public $a_field = []; - - /** - * The partner field list. - * <dl> - * <dt>array <var>a_account</var></dt> - * <dd> - * The list of reimbursement account fields. - * If the program doesn't require reimbursement, this list will be empty. - * The description of the list of fields is similar to the <var>a_field</var>. - * </dd> - * <dt>array <var>a_field</var></dt> - * <dd> - * The partner field info. - * <dl> - * <dt>array <var>a_config</var></dt> - * <dd> - * Additional information about the field. - * <dl> - * <dt>array <var>a_option</var></dt> - * <dd>A set of options for the dropdown list. The key is the title and the value is the value of the list item.</dd> - * <dt>string <var>text_type</var></dt> - * <dd>The type of text field.</dd> - * </dl> - * </dd> - * - * <dt>int <var>i_length</var></dt> - * <dd>The length of the field.</dd> - * - * <dt>bool <var>is_disable</var></dt> - * <dd>Determines whether this field is enabled.</dd> - * - * <dt>bool <var>is_required</var></dt> - * <dd>Determines whether this field is required.</dd> - * - * <dt>string <var>k_field</var></dt> - * <dd>The field key.</dd> - * - * <dt>string <var>s_regular</var></dt> - * <dd>The regular expression validation for the field.</dd> - * - * <dt>string <var>text_display_name</var></dt> - * <dd>The label text for the field.</dd> - * - * <dt>string <var>text_error_message</var></dt> - * <dd>The error message if the value in field isn't valid.</dd> - * - * <dt>string <var>text_field_name</var></dt> - * <dd>The name of the field.</dd> - * </dl> - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_field_list; - - /** - * The key of the business in which the enrollment is performed. - * - * @get get - * @post get - * @put get - * @var string - */ - public $k_business = ''; - - /** - * "Wellness Program" key. - * - * @get get - * @post get - * @put get - * @var string - */ - public $k_wellness_program = ''; -} - +<?php + +namespace WellnessLiving\Wl\Insurance\Enrollment\Field; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves and validates a list of insurance partner fields. + * + * Use the GET method to load a list of required fields. + * + * Use the POST method to validate the fields before sending them to the payment API. + */ +class EnrollmentFieldListModel extends WlModelAbstract +{ + /** + * Reimbursement account information. + * + * Keys - field name. + * Values - value entered by user. + * + * @post post + * @put post + * @var array + */ + public $a_account = []; + + /** + * List of fields that the user has filled in for enrollment. + * + * Keys refer specifically to field keys. + * Values refer specifically to values entered by the user. + * + * @post post + * @put post + * @var array + */ + public $a_field = []; + + /** + * The partner field list. + * <dl> + * <dt>array <var>a_account</var></dt> + * <dd> + * The list of reimbursement account fields. + * If the program doesn't require reimbursement, this list will be empty. + * The description of the list of fields is similar to the <var>a_field</var>. + * </dd> + * <dt>array <var>a_field</var></dt> + * <dd> + * The partner field info. + * <dl> + * <dt>array <var>a_config</var></dt> + * <dd> + * Additional information about the field. + * <dl> + * <dt>array <var>a_option</var></dt> + * <dd>A set of options for the dropdown list. The key is the title and the value is the value of the list item.</dd> + * <dt>string <var>text_type</var></dt> + * <dd>The type of text field.</dd> + * </dl> + * </dd> + * + * <dt>int <var>i_length</var></dt> + * <dd>The length of the field.</dd> + * + * <dt>bool <var>is_disable</var></dt> + * <dd>Determines whether this field is enabled.</dd> + * + * <dt>bool <var>is_required</var></dt> + * <dd>Determines whether this field is required.</dd> + * + * <dt>string <var>k_field</var></dt> + * <dd>The field key.</dd> + * + * <dt>string <var>s_regular</var></dt> + * <dd>The regular expression validation for the field.</dd> + * + * <dt>string <var>text_display_name</var></dt> + * <dd>The label text for the field.</dd> + * + * <dt>string <var>text_error_message</var></dt> + * <dd>The error message if the value in field isn't valid.</dd> + * + * <dt>string <var>text_field_name</var></dt> + * <dd>The name of the field.</dd> + * </dl> + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_field_list; + + /** + * The key of the business in which the enrollment is performed. + * + * @get get + * @post get + * @put get + * @var string + */ + public $k_business = ''; + + /** + * "Wellness Program" key. + * + * @get get + * @post get + * @put get + * @var string + */ + public $k_wellness_program = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php b/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php index 8b66ad30..9a98ae14 100644 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php @@ -1,21 +1,21 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Autymate; - -/** - * List of modes used to access Autymate. - */ -class AutymateAccessModeSid -{ - /** - * Access Autymate to create an initial enrollment. - */ - const ENROLL = 1; - - /** - * Access Autymate to view the dashboard. - */ - const VIEW = 2; -} - +<?php + +namespace WellnessLiving\Wl\Integration\Autymate; + +/** + * List of modes used to access Autymate. + */ +class AutymateAccessModeSid +{ + /** + * Access Autymate to create an initial enrollment. + */ + const ENROLL = 1; + + /** + * Access Autymate to view the dashboard. + */ + const VIEW = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php b/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php index 8ecefc19..36494170 100644 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php @@ -1,57 +1,57 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Autymate; - -use WellnessLiving\WlModelAbstract; - -/** - * Checks or changes the status of Autymate enrollments. - */ -class AutymateActivateModel extends WlModelAbstract -{ - /** - * The mode of the request. - * - * One of {@link AutymateAccessModeSid} constants. - * - * @get get - * @var int - */ - public $id_mode = 1; - - /** - * The new status of the enrollment. If `0`, the current status is returned. - * - * One of {@link AutymateStatusSid} constants. - * - * @get get,result - * @var int - */ - public $id_status = 0; - - /** - * The key of the business. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The randomly generated 32 character string used to authenticate Autymate requests for the business. - * - * @get get - * @var string - */ - public $s_guid = ''; - - /** - * The user key. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Integration\Autymate; + +use WellnessLiving\WlModelAbstract; + +/** + * Checks or changes the status of Autymate enrollments. + */ +class AutymateActivateModel extends WlModelAbstract +{ + /** + * The mode of the request. + * + * One of {@link AutymateAccessModeSid} constants. + * + * @get get + * @var int + */ + public $id_mode = 1; + + /** + * The new status of the enrollment. If `0`, the current status is returned. + * + * One of {@link AutymateStatusSid} constants. + * + * @get get,result + * @var int + */ + public $id_status = 0; + + /** + * The key of the business. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The randomly generated 32 character string used to authenticate Autymate requests for the business. + * + * @get get + * @var string + */ + public $s_guid = ''; + + /** + * The user key. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php b/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php index 6cf701aa..f200aea4 100644 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php @@ -1,21 +1,21 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Autymate; - -/** - * List of statuses of an Autymate enrollment notification. - */ -class AutymateStatusSid -{ - /** - * Autymation enrollment is active. - */ - const ACTIVE = 1; - - /** - * Autymation enrollment is no longer active. - */ - const INACTIVE = 2; -} - +<?php + +namespace WellnessLiving\Wl\Integration\Autymate; + +/** + * List of statuses of an Autymate enrollment notification. + */ +class AutymateStatusSid +{ + /** + * Autymation enrollment is active. + */ + const ACTIVE = 1; + + /** + * Autymation enrollment is no longer active. + */ + const INACTIVE = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Autymate/ReportModel.php b/WellnessLiving/Wl/Integration/Autymate/ReportModel.php index 968c621b..ebfa7798 100644 --- a/WellnessLiving/Wl/Integration/Autymate/ReportModel.php +++ b/WellnessLiving/Wl/Integration/Autymate/ReportModel.php @@ -1,167 +1,167 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Autymate; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Report\Generator\ReportGeneratorStatusSid; -use WellnessLiving\Wl\WlPayMethodSid; - -/** - * Retrieves all daily transactions for a business using the All Transactions report endpoint. - * - * This endpoint is a streamlined interface and adds additional columns to the report for Autymate. - * Autymate will have one user to access all businesses, this user will require the wl.integration.autymate.report privilege. - */ -class ReportModel extends WlModelAbstract -{ - /** - * The list of fields in this report. - * - * This array is effectively a title row for table that is returned in {@link ReportModel::$a_row}. - * - * @get result - * @var string[] - */ - public $a_field = []; - - /** - * List of payment methods to filter out in the report. - * Each element is one of the {@link WlPayMethodSid} constants. - * - * @get get - * @var int[] - */ - public $a_pay_method_remove = [ - 7, - ]; - - /** - * The report data. - * - * This is an indexed array in which one row is an indexed array also. - * - * Indexes of the columns correspond to columns in {@link ReportModel::$a_field}. - * - * @get result - * @var string[][] - */ - public $a_row = []; - - /** - * The warning list of the report, if applicable. - * - * @get result - * @var string[] - */ - public $a_warning = []; - - /** - * The date in local time to retrieve transactions for. - * - * @get get - * @var string - */ - public $dl_date = ''; - - /** - * The date and time when this report has completed generation. - * - * `null` if generation of this report isn't completed. - * - * @get result - * @var string|null - */ - public $dtu_complete; - - /** - * The date and time when this report was put in the generation queue. - * - * Effectively, this is the time when a user clicked to view this report or the report for this day was first called. - * - * @get result - * @var string|null - */ - public $dtu_queue; - - /** - * The date and time when generation of this report was started. - * - * `null` if generation of this report hasn't started. - * - * @get result - * @var string|null - */ - public $dtu_start; - - /** - * The page of the report, starting from 0. - * - * @get get - * @var int - */ - public $i_page = 0; - - /** - * The status of the report. - * - * One of the {@link ReportGeneratorStatusSid} constants. - * - * @get result - * @var int - */ - public $id_report_status = 0; - - /** - * If <tt>true</tt> then there are more report rows to get. Otherwise, <tt>false</tt> if all rows have been sent. - * - * @get result - * @var bool - */ - public $is_more = false; - - /** - * Determines whether this report should be refreshed. - * - * `true` to refresh this report if it's already generated. - * Refreshing of the report may not be queried while report is being generated. - * - * `false` to only return contents of the report. - * If report isn't yet generated, it automatically starts the generation in the background. - * - * @get get - * @var bool - */ - public $is_refresh = false; - - /** - * Determines whether this report is complete. If this report is accessed on the current day, or is returning - * a result that was cached on the current day it could be incomplete as not all the transactions for the day - * are present. - * - * If `true` then this report will be complete. - * - * If `false` then this report could be incomplete. - * - * @get result - * @var bool - */ - public $is_report_complete = false; - - /** - * The key of the business for which the report must be generated. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The randomly generated 32 character string used to authenticate requests. - * - * @get get - * @var string - */ - public $s_guid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Integration\Autymate; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Report\Generator\ReportGeneratorStatusSid; +use WellnessLiving\Wl\WlPayMethodSid; + +/** + * Retrieves all daily transactions for a business using the All Transactions report endpoint. + * + * This endpoint is a streamlined interface and adds additional columns to the report for Autymate. + * Autymate will have one user to access all businesses, this user will require the wl.integration.autymate.report privilege. + */ +class ReportModel extends WlModelAbstract +{ + /** + * The list of fields in this report. + * + * This array is effectively a title row for table that is returned in {@link ReportModel::$a_row}. + * + * @get result + * @var string[] + */ + public $a_field = []; + + /** + * List of payment methods to filter out in the report. + * Each element is one of the {@link WlPayMethodSid} constants. + * + * @get get + * @var int[] + */ + public $a_pay_method_remove = [ + 7, + ]; + + /** + * The report data. + * + * This is an indexed array in which one row is an indexed array also. + * + * Indexes of the columns correspond to columns in {@link ReportModel::$a_field}. + * + * @get result + * @var string[][] + */ + public $a_row = []; + + /** + * The warning list of the report, if applicable. + * + * @get result + * @var string[] + */ + public $a_warning = []; + + /** + * The date in local time to retrieve transactions for. + * + * @get get + * @var string + */ + public $dl_date = ''; + + /** + * The date and time when this report has completed generation. + * + * `null` if generation of this report isn't completed. + * + * @get result + * @var string|null + */ + public $dtu_complete; + + /** + * The date and time when this report was put in the generation queue. + * + * Effectively, this is the time when a user clicked to view this report or the report for this day was first called. + * + * @get result + * @var string|null + */ + public $dtu_queue; + + /** + * The date and time when generation of this report was started. + * + * `null` if generation of this report hasn't started. + * + * @get result + * @var string|null + */ + public $dtu_start; + + /** + * The page of the report, starting from 0. + * + * @get get + * @var int + */ + public $i_page = 0; + + /** + * The status of the report. + * + * One of the {@link ReportGeneratorStatusSid} constants. + * + * @get result + * @var int + */ + public $id_report_status = 0; + + /** + * If <tt>true</tt> then there are more report rows to get. Otherwise, <tt>false</tt> if all rows have been sent. + * + * @get result + * @var bool + */ + public $is_more = false; + + /** + * Determines whether this report should be refreshed. + * + * `true` to refresh this report if it's already generated. + * Refreshing of the report may not be queried while report is being generated. + * + * `false` to only return contents of the report. + * If report isn't yet generated, it automatically starts the generation in the background. + * + * @get get + * @var bool + */ + public $is_refresh = false; + + /** + * Determines whether this report is complete. If this report is accessed on the current day, or is returning + * a result that was cached on the current day it could be incomplete as not all the transactions for the day + * are present. + * + * If `true` then this report will be complete. + * + * If `false` then this report could be incomplete. + * + * @get result + * @var bool + */ + public $is_report_complete = false; + + /** + * The key of the business for which the report must be generated. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The randomly generated 32 character string used to authenticate requests. + * + * @get get + * @var string + */ + public $s_guid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Curves/CurvesFranchiseLocationModel.php b/WellnessLiving/Wl/Integration/Curves/CurvesFranchiseLocationModel.php index 88ef4ad3..9100a0a5 100644 --- a/WellnessLiving/Wl/Integration/Curves/CurvesFranchiseLocationModel.php +++ b/WellnessLiving/Wl/Integration/Curves/CurvesFranchiseLocationModel.php @@ -1,214 +1,214 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Curves; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Report\WlReportSid; - -/** - * Gets information for enterprise locations. - */ -class CurvesFranchiseLocationModel extends WlModelAbstract -{ - /** - * The city list. Each element has next structure: - * <dl> - * <dt> - * string <var>k_city</var> - * </dt> - * <dd> - * City key. - * </dd> - * <dt> - * string <var>k_country</var> - * </dt> - * <dd> - * Country key. - * </dd> - * <dt> - * string <var>k_state</var> - * </dt> - * <dd> - * State key. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * City title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_city_list = null; - - /** - * The country list. Each element has next structure: - * <dl> - * <dt> - * string <var>k_country</var> - * </dt> - * <dd> - * Country key. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * Country title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_country_list = null; - - /** - * The location list. Each element has the next structure: - * <dl> - * <dt> - * string <var>k_city</var> - * </dt> - * <dd> - * City key. - * </dd> - * <dt> - * string <var>k_country</var> - * </dt> - * <dd> - * Country key. - * </dd> - * <dt> - * string <var>k_location</var> - * </dt> - * <dd> - * Location key. - * </dd> - * <dt> - * string <var>k_region</var> - * </dt> - * <dd> - * Franchise region key. - * </dd> - * <dt> - * string <var>k_state</var> - * </dt> - * <dd> - * State key. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * Location title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_location_list = null; - - /** - * The region list. Each element has the next structure: - * <dl> - * <dt> - * string <var>k_region</var> - * </dt> - * <dd> - * Franchise region key. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * Franchise region title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_region_list = null; - - /** - * The state list. Each element has the next structure: - * <dl> - * <dt> - * string <var>k_country</var> - * </dt> - * <dd> - * Country key. - * </dd> - * <dt> - * string <var>k_state</var> - * </dt> - * <dd> - * State key. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * State title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_state_list = null; - - /** - * Determines which locations should be returned. - * - * @get get - * @var int - */ - public $id_business_franchise_location = null; - - /** - * Determines the report for which data should be returned. - * - * One of the {@link WlReportSid} constants. - * - * If `null`, the report isn't set. - * - * @get get - * @var int - */ - public $id_report = null; - - /** - * Determines whether to include churned/removed locations. - * - * If `true`, all locations are listed (regardless of their status). - * - * @get get - * @var bool - */ - public $is_include_churn = false; - - /** - * Determines whether to include locations marked to not be displayed on franchisor website. - * - * If `true`, all locations are listed (regardless of this setting). - * - * @get get - * @var bool - */ - public $is_include_non_api = false; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = null; -} - +<?php + +namespace WellnessLiving\Wl\Integration\Curves; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Report\WlReportSid; + +/** + * Gets information for enterprise locations. + */ +class CurvesFranchiseLocationModel extends WlModelAbstract +{ + /** + * The city list. Each element has next structure: + * <dl> + * <dt> + * string <var>k_city</var> + * </dt> + * <dd> + * City key. + * </dd> + * <dt> + * string <var>k_country</var> + * </dt> + * <dd> + * Country key. + * </dd> + * <dt> + * string <var>k_state</var> + * </dt> + * <dd> + * State key. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * City title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_city_list = null; + + /** + * The country list. Each element has next structure: + * <dl> + * <dt> + * string <var>k_country</var> + * </dt> + * <dd> + * Country key. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * Country title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_country_list = null; + + /** + * The location list. Each element has the next structure: + * <dl> + * <dt> + * string <var>k_city</var> + * </dt> + * <dd> + * City key. + * </dd> + * <dt> + * string <var>k_country</var> + * </dt> + * <dd> + * Country key. + * </dd> + * <dt> + * string <var>k_location</var> + * </dt> + * <dd> + * Location key. + * </dd> + * <dt> + * string <var>k_region</var> + * </dt> + * <dd> + * Franchise region key. + * </dd> + * <dt> + * string <var>k_state</var> + * </dt> + * <dd> + * State key. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * Location title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_location_list = null; + + /** + * The region list. Each element has the next structure: + * <dl> + * <dt> + * string <var>k_region</var> + * </dt> + * <dd> + * Franchise region key. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * Franchise region title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_region_list = null; + + /** + * The state list. Each element has the next structure: + * <dl> + * <dt> + * string <var>k_country</var> + * </dt> + * <dd> + * Country key. + * </dd> + * <dt> + * string <var>k_state</var> + * </dt> + * <dd> + * State key. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * State title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_state_list = null; + + /** + * Determines which locations should be returned. + * + * @get get + * @var int + */ + public $id_business_franchise_location = null; + + /** + * Determines the report for which data should be returned. + * + * One of the {@link WlReportSid} constants. + * + * If `null`, the report isn't set. + * + * @get get + * @var int + */ + public $id_report = null; + + /** + * Determines whether to include churned/removed locations. + * + * If `true`, all locations are listed (regardless of their status). + * + * @get get + * @var bool + */ + public $is_include_churn = false; + + /** + * Determines whether to include locations marked to not be displayed on franchisor website. + * + * If `true`, all locations are listed (regardless of this setting). + * + * @get get + * @var bool + */ + public $is_include_non_api = false; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/DragonFly/AccessModel.php b/WellnessLiving/Wl/Integration/DragonFly/AccessModel.php index cbbfbb82..545ef96d 100644 --- a/WellnessLiving/Wl/Integration/DragonFly/AccessModel.php +++ b/WellnessLiving/Wl/Integration/DragonFly/AccessModel.php @@ -1,50 +1,50 @@ -<?php - -namespace WellnessLiving\Wl\Integration\DragonFly; - -use WellnessLiving\WlModelAbstract; - -/** - * Checks if a user can access a physical location. - */ -class AccessModel extends WlModelAbstract -{ - /** - * Whether the specified user can access the location. - * `true` if the specified member can access the location. - * `false` if they can not. - * - * @get result - * @var bool - */ - public $can_access = false; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location = ''; - - /** - * The member ID. - * Member ID is intended to work with barcode scanners. - * If this is specified the user key does not need to be set. - * - * @get get - * @var string - */ - public $s_member = ''; - - /** - * The user key. - * This should be specified if the member ID is not set or not known. - * - * @get get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Integration\DragonFly; + +use WellnessLiving\WlModelAbstract; + +/** + * Checks if a user can access a physical location. + */ +class AccessModel extends WlModelAbstract +{ + /** + * Whether the specified user can access the location. + * `true` if the specified member can access the location. + * `false` if they can not. + * + * @get result + * @var bool + */ + public $can_access = false; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location = ''; + + /** + * The member ID. + * Member ID is intended to work with barcode scanners. + * If this is specified the user key does not need to be set. + * + * @get get + * @var string + */ + public $s_member = ''; + + /** + * The user key. + * This should be specified if the member ID is not set or not known. + * + * @get get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Saml/SamlUserDeactivationModel.php b/WellnessLiving/Wl/Integration/Saml/SamlUserDeactivationModel.php index a41d7899..8a608c80 100644 --- a/WellnessLiving/Wl/Integration/Saml/SamlUserDeactivationModel.php +++ b/WellnessLiving/Wl/Integration/Saml/SamlUserDeactivationModel.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Saml; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves user statuses in the business. - */ -class SamlUserDeactivationModel extends WlModelAbstract -{ - /** - * A list of SAML identifiers. - * - * @post post - * @var string[] - */ - public $a_id; - - /** - * The key of the SAML identifier. - * - * This value is `true` if an active user is found in the business, `false` if otherwise. - * - * @post result - * @var bool[] - */ - public $a_result; -} - +<?php + +namespace WellnessLiving\Wl\Integration\Saml; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves user statuses in the business. + */ +class SamlUserDeactivationModel extends WlModelAbstract +{ + /** + * A list of SAML identifiers. + * + * @post post + * @var string[] + */ + public $a_id; + + /** + * The key of the SAML identifier. + * + * This value is `true` if an active user is found in the business, `false` if otherwise. + * + * @post result + * @var bool[] + */ + public $a_result; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Lead/LeadCaptcha.php b/WellnessLiving/Wl/Lead/LeadCaptcha.php index 16b30699..4b506dd3 100644 --- a/WellnessLiving/Wl/Lead/LeadCaptcha.php +++ b/WellnessLiving/Wl/Lead/LeadCaptcha.php @@ -1,16 +1,16 @@ -<?php - -namespace WellnessLiving\Wl\Lead; - -/** - * Captcha for "Lead Capture Widget". - */ -class LeadCaptcha -{ - /** - * CID of this captcha. - */ - const CID = 1072; -} - +<?php + +namespace WellnessLiving\Wl\Lead; + +/** + * Captcha for "Lead Capture Widget". + */ +class LeadCaptcha +{ + /** + * CID of this captcha. + */ + const CID = 1072; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Lead/LeadModel.php b/WellnessLiving/Wl/Lead/LeadModel.php index e2272a5d..72ca5fd0 100644 --- a/WellnessLiving/Wl/Lead/LeadModel.php +++ b/WellnessLiving/Wl/Lead/LeadModel.php @@ -1,165 +1,165 @@ -<?php - -namespace WellnessLiving\Wl\Lead; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Field\WlFieldGeneralSid; -use WellnessLiving\Wl\Field\WlFieldTypeSid; - -/** - * Gets information from the Lead Capture widget and saves a new user’s information. - * - * A user can be added to a second business by adding them first as a lead. If your business uses Enterprise Cloud, - * there may be a restriction where clients can only be members in one enterprise location (travellers in all - * other enterprise locations). - * - * This endpoint using captcha check. - * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. - * For this API an action is {@link LeadCaptcha::CID}. - */ -class LeadModel extends WlModelAbstract -{ - /** - * A list of fields containing the lead information. - * The keys are the field keys and values are field values. - * - * If field key is `Address` field key, value may be an array or string. - * Can be a string if only address field is used. Will be an array if city and postal code are used, - * with the following keys: - * - * <dl> - * <dt>string <var>text_address</var></dt> - * <dd>Address.</dd> - * <dt>string <var>k_city</var></dt> - * <dd>City key.</dd> - * <dt>string <var>text_postal</var></dt> - * <dd>Postal code.</dd> - * </dl> - * - * @post post - * @var string[] - */ - public $a_field_data = []; - - /** - * A list of profile fields in the business. Every element has the following keys: - * <dl> - * <dt> - * array[] <var>a_item</var> - * </dt> - * <dd> - * A list of possible options for an HTML select field. This value is only used if this field is an HTML select. - * Every element has the following keys: - * <dl> - * <dt>string <var>s_id</var></dt> - * <dd>The option ID.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The option title.</dd> - * </dl> - * </dd> - * <dt> - * int <var>id_field_general</var> - * </dt> - * <dd> - * The type of the general field. This is one of the {@link WlFieldGeneralSid}. - * This value is only set if the field is one of the general fields. - * </dd> - * <dt> - * int <var>id_field_type</var> - * </dt> - * <dd> - * The field type. This is one of the {@link WlFieldTypeSid} constants. - * </dd> - * <dt> - * bool <var>is_require</var> - * </dt> - * <dd> - * If `true`, then the field is mandatory. If `false`, then the field isn't mandatory. - * </dd> - * <dt> - * string <var>k_field</var> - * </dt> - * <dd> - * The field key. - * </dd> - * <dt> - * string <var>text_field</var> - * </dt> - * <dd> - * The field title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_field_list; - - /** - * The skin configuration: - * <dl> - * <dt>array <var>a_style</var></dt><dd>The general style settings.</dd> - * <dt>array <var>background</var></dt><dd>The background settings.</dd> - * <dt>array <var>field-font</var></dt><dd>The font settings.</dd> - * <dt>array <var>header-text</var></dt><dd>The header settings.</dd> - * <dt>array <var>info-show</var></dt><dd>The information settings.</dd> - * <dt>array <var>submit-background</var></dt><dd>The settings for the submit button background.</dd> - * <dt>array <var>submit-font</var></dt><dd>The settings for the submit button font.</dd> - * <dt>array <var>submit-text</var></dt><dd>The settings for the submit button text.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_skin; - - /** - * The key of business to which the new user must be captured. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The key of the widget skin. If left empty, then the default skin is used. - * This will be the Lead Capture widget skin with "Use this widget for the Add Lead form" selected. - * If your business doesn't have a skin selected, this endpoint will default to the system-wide default, - * which may lack fields your business requires when adding a lead or a client. - * - * @get get - * @post get - * @var string - */ - public $k_skin = '0'; - - /** - * The characters entered by the lead for the captcha test. - * This isn't necessary if the GET method returned an empty {@link LeadModel::$url_captcha}. - * This field isn't necessary if the GET method returned an empty {@link LeadModel::$url_captcha}. - * - * @post post - * @var string - */ - public $s_captcha = ''; - - /** - * The key of the new user. - * - * @post result - * @var string - */ - public $uid; - - /** - * The URL to load the image with a captcha test. - * This string is empty if it's not necessary to pass a captcha test. - * - * @get result - * @var string - */ - public $url_captcha; -} - +<?php + +namespace WellnessLiving\Wl\Lead; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Field\WlFieldGeneralSid; +use WellnessLiving\Wl\Field\WlFieldTypeSid; + +/** + * Gets information from the Lead Capture widget and saves a new user’s information. + * + * A user can be added to a second business by adding them first as a lead. If your business uses Enterprise Cloud, + * there may be a restriction where clients can only be members in one enterprise location (travellers in all + * other enterprise locations). + * + * This endpoint using captcha check. + * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. + * For this API an action is {@link LeadCaptcha::CID}. + */ +class LeadModel extends WlModelAbstract +{ + /** + * A list of fields containing the lead information. + * The keys are the field keys and values are field values. + * + * If field key is `Address` field key, value may be an array or string. + * Can be a string if only address field is used. Will be an array if city and postal code are used, + * with the following keys: + * + * <dl> + * <dt>string <var>text_address</var></dt> + * <dd>Address.</dd> + * <dt>string <var>k_city</var></dt> + * <dd>City key.</dd> + * <dt>string <var>text_postal</var></dt> + * <dd>Postal code.</dd> + * </dl> + * + * @post post + * @var string[] + */ + public $a_field_data = []; + + /** + * A list of profile fields in the business. Every element has the following keys: + * <dl> + * <dt> + * array[] <var>a_item</var> + * </dt> + * <dd> + * A list of possible options for an HTML select field. This value is only used if this field is an HTML select. + * Every element has the following keys: + * <dl> + * <dt>string <var>s_id</var></dt> + * <dd>The option ID.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The option title.</dd> + * </dl> + * </dd> + * <dt> + * int <var>id_field_general</var> + * </dt> + * <dd> + * The type of the general field. This is one of the {@link WlFieldGeneralSid}. + * This value is only set if the field is one of the general fields. + * </dd> + * <dt> + * int <var>id_field_type</var> + * </dt> + * <dd> + * The field type. This is one of the {@link WlFieldTypeSid} constants. + * </dd> + * <dt> + * bool <var>is_require</var> + * </dt> + * <dd> + * If `true`, then the field is mandatory. If `false`, then the field isn't mandatory. + * </dd> + * <dt> + * string <var>k_field</var> + * </dt> + * <dd> + * The field key. + * </dd> + * <dt> + * string <var>text_field</var> + * </dt> + * <dd> + * The field title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_field_list; + + /** + * The skin configuration: + * <dl> + * <dt>array <var>a_style</var></dt><dd>The general style settings.</dd> + * <dt>array <var>background</var></dt><dd>The background settings.</dd> + * <dt>array <var>field-font</var></dt><dd>The font settings.</dd> + * <dt>array <var>header-text</var></dt><dd>The header settings.</dd> + * <dt>array <var>info-show</var></dt><dd>The information settings.</dd> + * <dt>array <var>submit-background</var></dt><dd>The settings for the submit button background.</dd> + * <dt>array <var>submit-font</var></dt><dd>The settings for the submit button font.</dd> + * <dt>array <var>submit-text</var></dt><dd>The settings for the submit button text.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_skin; + + /** + * The key of business to which the new user must be captured. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The key of the widget skin. If left empty, then the default skin is used. + * This will be the Lead Capture widget skin with "Use this widget for the Add Lead form" selected. + * If your business doesn't have a skin selected, this endpoint will default to the system-wide default, + * which may lack fields your business requires when adding a lead or a client. + * + * @get get + * @post get + * @var string + */ + public $k_skin = '0'; + + /** + * The characters entered by the lead for the captcha test. + * This isn't necessary if the GET method returned an empty {@link LeadModel::$url_captcha}. + * This field isn't necessary if the GET method returned an empty {@link LeadModel::$url_captcha}. + * + * @post post + * @var string + */ + public $s_captcha = ''; + + /** + * The key of the new user. + * + * @post result + * @var string + */ + public $uid; + + /** + * The URL to load the image with a captcha test. + * This string is empty if it's not necessary to pass a captcha test. + * + * @get result + * @var string + */ + public $url_captcha; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Location/Flag/FlagModel.php b/WellnessLiving/Wl/Location/Flag/FlagModel.php index 50910904..927176b0 100644 --- a/WellnessLiving/Wl/Location/Flag/FlagModel.php +++ b/WellnessLiving/Wl/Location/Flag/FlagModel.php @@ -1,63 +1,63 @@ -<?php - -namespace WellnessLiving\Wl\Location\Flag; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves information if a user is flagged in a location. - */ -class FlagModel extends WlModelAbstract -{ - /** - * Array with structure:<dl> - * <dt>string <var>uid</var></dt> - * <dd>Key is passport login ID.</dd> - * <dt>bool <var>is_flag</var></dt> - * <dd>Value: <tt>true</tt> if user is flagged; <tt>false</tt> otherwise.</dd> - * </dl> - * <tt>null</tt> until loaded or when <var>a_uid</var> was not set. - * - * @get result - * @var array - */ - public $a_flag; - - /** - * User keys. - * <tt>null</tt> if not set. - * - * @get get - * @var string[]|null - */ - public $a_uid; - - /** - * <tt>true</tt> if the user is flagged, <tt>false</tt> if otherwise. - * - * <tt>null</tt> until loaded or when {@link FlagModel::$a_uid} was not set. - * - * @get result - * @var bool - */ - public $is_flag; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location; - - /** - * The user's key. - * <tt>null</tt> if not set. - * - * @get get - * @var string|null - */ - public $uid; -} - +<?php + +namespace WellnessLiving\Wl\Location\Flag; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves information if a user is flagged in a location. + */ +class FlagModel extends WlModelAbstract +{ + /** + * Array with structure:<dl> + * <dt>string <var>uid</var></dt> + * <dd>Key is passport login ID.</dd> + * <dt>bool <var>is_flag</var></dt> + * <dd>Value: <tt>true</tt> if user is flagged; <tt>false</tt> otherwise.</dd> + * </dl> + * <tt>null</tt> until loaded or when <var>a_uid</var> was not set. + * + * @get result + * @var array + */ + public $a_flag; + + /** + * User keys. + * <tt>null</tt> if not set. + * + * @get get + * @var string[]|null + */ + public $a_uid; + + /** + * <tt>true</tt> if the user is flagged, <tt>false</tt> if otherwise. + * + * <tt>null</tt> until loaded or when {@link FlagModel::$a_uid} was not set. + * + * @get result + * @var bool + */ + public $is_flag; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location; + + /** + * The user's key. + * <tt>null</tt> if not set. + * + * @get get + * @var string|null + */ + public $uid; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Location/ListBulkModel.php b/WellnessLiving/Wl/Location/ListBulkModel.php index cc5858d6..67104517 100644 --- a/WellnessLiving/Wl/Location/ListBulkModel.php +++ b/WellnessLiving/Wl/Location/ListBulkModel.php @@ -1,124 +1,124 @@ -<?php - -namespace WellnessLiving\Wl\Location; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Location\View\ViewModel; -use WellnessLiving\Wl\WlProjectSid; - -/** - * Gets all locations for a list of businesses. - * - * This can be used to get all locations from all businesses. When using this endpoint, note that it will return - * a list of all locations in the system, potentially using substantial system resources. Using this endpoint can - * potentially result in larger API calls than average calls made for other endpoints. - */ -class ListBulkModel extends WlModelAbstract -{ - /** - * Short-form information about locations. - * - * Keys refer to location primary keys. Values refer to sub-arrays with the next keys: - * <dl> - * <dt> - * float <var>f_latitude</var> - * </dt> - * <dd> - * The latitude coordinate. - * </dd> - * <dt> - * float <var>f_longitude</var> - * </dt> - * <dd> - * The longitude coordinate. - * </dd> - * <dt> - * float <var>f_rate</var> - * </dt> - * <dd> - * The location rate. - * </dd> - * <dt> - * int <var>i_order</var> - * </dt> - * <dd> - * The order number. - * </dd> - * <dt> - * string <var>k_business</var> - * </dt> - * <dd> - * The business's primary key. - * </dd> - * <dt> - * string <var>k_location</var> - * </dt> - * <dd> - * The location's primary key. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The location title. - * </dd> - * <dt> - * string <var>text_address</var> - * </dt> - * <dd> - * The full location address. - * </dd> - * <dt> - * string [<var>url_logo</var>] - * </dt> - * <dd> - * The location logo. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_location; - - /** - * A list of models with full information about each location. - * - * Every element is an object of the {@link ViewModel}. - * - * @get result - * @var array[] - */ - public $a_location_full = []; - - /** - * The ID of the directory if locations should be filtered by enabling directory integration. - * - * `0` if a directory filter isn't required. - * - * @get get - * @var int - * @see WlProjectSid - */ - public $id_directory = 0; - - /** - * A list of businesses. Business primary keys are serialized with JSON. - * - * Empty string if you need all locations in the system. - * - * @get get - * @var string - */ - public $s_business = ''; - - /** - * A list of locations. Location primary keys are serialized with JSON. - * - * @get get - * @var string - */ - public $s_location = ''; -} - +<?php + +namespace WellnessLiving\Wl\Location; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Location\View\ViewModel; +use WellnessLiving\Wl\WlProjectSid; + +/** + * Gets all locations for a list of businesses. + * + * This can be used to get all locations from all businesses. When using this endpoint, note that it will return + * a list of all locations in the system, potentially using substantial system resources. Using this endpoint can + * potentially result in larger API calls than average calls made for other endpoints. + */ +class ListBulkModel extends WlModelAbstract +{ + /** + * Short-form information about locations. + * + * Keys refer to location primary keys. Values refer to sub-arrays with the next keys: + * <dl> + * <dt> + * float <var>f_latitude</var> + * </dt> + * <dd> + * The latitude coordinate. + * </dd> + * <dt> + * float <var>f_longitude</var> + * </dt> + * <dd> + * The longitude coordinate. + * </dd> + * <dt> + * float <var>f_rate</var> + * </dt> + * <dd> + * The location rate. + * </dd> + * <dt> + * int <var>i_order</var> + * </dt> + * <dd> + * The order number. + * </dd> + * <dt> + * string <var>k_business</var> + * </dt> + * <dd> + * The business's primary key. + * </dd> + * <dt> + * string <var>k_location</var> + * </dt> + * <dd> + * The location's primary key. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The location title. + * </dd> + * <dt> + * string <var>text_address</var> + * </dt> + * <dd> + * The full location address. + * </dd> + * <dt> + * string [<var>url_logo</var>] + * </dt> + * <dd> + * The location logo. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_location; + + /** + * A list of models with full information about each location. + * + * Every element is an object of the {@link ViewModel}. + * + * @get result + * @var array[] + */ + public $a_location_full = []; + + /** + * The ID of the directory if locations should be filtered by enabling directory integration. + * + * `0` if a directory filter isn't required. + * + * @get get + * @var int + * @see WlProjectSid + */ + public $id_directory = 0; + + /** + * A list of businesses. Business primary keys are serialized with JSON. + * + * Empty string if you need all locations in the system. + * + * @get get + * @var string + */ + public $s_business = ''; + + /** + * A list of locations. Location primary keys are serialized with JSON. + * + * @get get + * @var string + */ + public $s_location = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Location/LocationModel.php b/WellnessLiving/Wl/Location/LocationModel.php index e7033f0e..ed17aa91 100644 --- a/WellnessLiving/Wl/Location/LocationModel.php +++ b/WellnessLiving/Wl/Location/LocationModel.php @@ -1,98 +1,98 @@ -<?php - -namespace WellnessLiving\Wl\Location; - -use WellnessLiving\WlModelAbstract; - -/** - * Creates a new location in the business or edits a specified location. - * Access to this endpoint is logged with specified permissions. - * It can also be accessed by guests during the registration process for new businesses. - * - * Field <tt>k_business</tt> is required. - * Other fields are optionally if the location should be edited. This means if a field is not specified it is not be changed. - * If <tt>k_location</tt> is not specified that new location will be created. In this case <tt>k_city</tt>, - * <tt>text_address</tt> and <tt>text_title</tt> are required. - */ -class LocationModel extends WlModelAbstract -{ - /** - * The key of the business. - * This field is required. - * - * @post post - * @var string - */ - public $k_business; - - /** - * The key of the city. - * This field is required for creating a new location. - * - * @post post - * @var string|null - */ - public $k_city; - - /** - * The key of the location. - * This will be `null` if it's being used to create a new location. - * - * @post post,result - * @var string|null - */ - public $k_location; - - /** - * The key of the time zone. - * This field is optional. - * - * @post post - * @var string|null - */ - public $k_timezone; - - /** - * The address of the location. - * This field is required for creating a new location. - * - * @post post - * @var string|null - */ - public $text_address; - - /** - * The mail address. - * - * @post post - * @var string|null - */ - public $text_email; - - /** - * The phone number. - * - * @post post - * @var string|null - */ - public $text_phone; - - /** - * The postal code. - * - * @post post - * @var string|null - */ - public $text_postal; - - /** - * The title of the location. - * This field is required for creating a new location. - * - * @post post - * @var string|null - */ - public $text_title; -} - +<?php + +namespace WellnessLiving\Wl\Location; + +use WellnessLiving\WlModelAbstract; + +/** + * Creates a new location in the business or edits a specified location. + * Access to this endpoint is logged with specified permissions. + * It can also be accessed by guests during the registration process for new businesses. + * + * Field <tt>k_business</tt> is required. + * Other fields are optionally if the location should be edited. This means if a field is not specified it is not be changed. + * If <tt>k_location</tt> is not specified that new location will be created. In this case <tt>k_city</tt>, + * <tt>text_address</tt> and <tt>text_title</tt> are required. + */ +class LocationModel extends WlModelAbstract +{ + /** + * The key of the business. + * This field is required. + * + * @post post + * @var string + */ + public $k_business; + + /** + * The key of the city. + * This field is required for creating a new location. + * + * @post post + * @var string|null + */ + public $k_city; + + /** + * The key of the location. + * This will be `null` if it's being used to create a new location. + * + * @post post,result + * @var string|null + */ + public $k_location; + + /** + * The key of the time zone. + * This field is optional. + * + * @post post + * @var string|null + */ + public $k_timezone; + + /** + * The address of the location. + * This field is required for creating a new location. + * + * @post post + * @var string|null + */ + public $text_address; + + /** + * The mail address. + * + * @post post + * @var string|null + */ + public $text_email; + + /** + * The phone number. + * + * @post post + * @var string|null + */ + public $text_phone; + + /** + * The postal code. + * + * @post post + * @var string|null + */ + public $text_postal; + + /** + * The title of the location. + * This field is required for creating a new location. + * + * @post post + * @var string|null + */ + public $text_title; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Location/WorkTime/LocationWorkTimeModel.php b/WellnessLiving/Wl/Location/WorkTime/LocationWorkTimeModel.php index 4ac21f0c..671b223f 100644 --- a/WellnessLiving/Wl/Location/WorkTime/LocationWorkTimeModel.php +++ b/WellnessLiving/Wl/Location/WorkTime/LocationWorkTimeModel.php @@ -1,49 +1,49 @@ -<?php - -namespace WellnessLiving\Wl\Location\WorkTime; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\WlModelAbstract; - -/** - * Saves working hours for a specified location. - * - * Note that to run this endpoint, an authenticated user with specified permissions is required. - */ -class LocationWorkTimeModel extends WlModelAbstract -{ - /** - * The list of the location's business hours. Each element has the next structure:<dl> - * <dt>int <var>i_day</var></dt> - * <dd>The day of the week, from Monday (1) to Sunday (7). One of the{@link ADateWeekSid} constants.</dd> - * <dt>string <var>t_end</var></dt> - * <dd>The end time of work, formatted as HH:MM.</dd> - * <dt>string <var>t_start</var></dt> - * <dd>The start time of work, formatted as HH:MM</dd> - * </dl> - * - * Note that the days of the week that aren't represented in this list will be saved as non-working days. - * - * @post post - * @var array[] - */ - public $a_work_time = []; - - /** - * The business key. - * - * @post post - * @var string - */ - public $k_business; - - /** - * The location key. - * - * @post post - * @var string - */ - public $k_location; -} - +<?php + +namespace WellnessLiving\Wl\Location\WorkTime; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\WlModelAbstract; + +/** + * Saves working hours for a specified location. + * + * Note that to run this endpoint, an authenticated user with specified permissions is required. + */ +class LocationWorkTimeModel extends WlModelAbstract +{ + /** + * The list of the location's business hours. Each element has the next structure:<dl> + * <dt>int <var>i_day</var></dt> + * <dd>The day of the week, from Monday (1) to Sunday (7). One of the{@link ADateWeekSid} constants.</dd> + * <dt>string <var>t_end</var></dt> + * <dd>The end time of work, formatted as HH:MM.</dd> + * <dt>string <var>t_start</var></dt> + * <dd>The start time of work, formatted as HH:MM</dd> + * </dl> + * + * Note that the days of the week that aren't represented in this list will be saved as non-working days. + * + * @post post + * @var array[] + */ + public $a_work_time = []; + + /** + * The business key. + * + * @post post + * @var string + */ + public $k_business; + + /** + * The location key. + * + * @post post + * @var string + */ + public $k_location; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Agree/AgreeModel.php b/WellnessLiving/Wl/Login/Agree/AgreeModel.php index d5d0ecdb..952f906c 100644 --- a/WellnessLiving/Wl/Login/Agree/AgreeModel.php +++ b/WellnessLiving/Wl/Login/Agree/AgreeModel.php @@ -1,57 +1,57 @@ -<?php - -namespace WellnessLiving\Wl\Login\Agree; - -use WellnessLiving\WlModelAbstract; - -/** - * Saves the user's agreement to the online waiver. - */ -class AgreeModel extends WlModelAbstract -{ - /** - * Formatted text of business liability release. Not empty if business has liability release and if user did not agree to this liability release. - * - * @get result - * @var string - */ - public $html_contract = ''; - - /** - * <tt>false</tt> if user has not agreed to use Electronic Signatures, - * <tt>true</tt> if user has agreed to use Electronic Signatures, - * <tt>null</tt> otherwise. - * - * @post post - * @var bool|null - */ - public $is_agree = null; - - /** - * The key of business. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The base64-encoded user's signature image from the signature pad as a PNG file. - * - * @post post - * @var string - */ - public $s_signature = ''; - - /** - * The user's key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Login\Agree; + +use WellnessLiving\WlModelAbstract; + +/** + * Saves the user's agreement to the online waiver. + */ +class AgreeModel extends WlModelAbstract +{ + /** + * Formatted text of business liability release. Not empty if business has liability release and if user did not agree to this liability release. + * + * @get result + * @var string + */ + public $html_contract = ''; + + /** + * <tt>false</tt> if user has not agreed to use Electronic Signatures, + * <tt>true</tt> if user has agreed to use Electronic Signatures, + * <tt>null</tt> otherwise. + * + * @post post + * @var bool|null + */ + public $is_agree = null; + + /** + * The key of business. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The base64-encoded user's signature image from the signature pad as a PNG file. + * + * @post post + * @var string + */ + public $s_signature = ''; + + /** + * The user's key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php b/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php index 7ce90c14..33a82447 100644 --- a/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php +++ b/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php @@ -1,216 +1,216 @@ -<?php - -namespace WellnessLiving\Wl\Login\Attendance\Add; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Login\Attendance\AddOptionSid; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Visit\WlVisitSid; - -/** - * Adds a client to an attendance list. - * This endpoint can also be used to get a list of Purchase Options suitable to pay for the session in question. - */ -class AddModel extends WlModelAbstract -{ - /** - * Any of the client memberships that can be used to pay for the session. - * Every element is an array with the following keys: - * <dl> - * <dt> - * string <var>k_login_promotion</var> - * </dt> - * <dd> - * The login promotion key, available to pay for the session. - * - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title of the login promotion. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_login_promotion; - - /** - * Any user's session passes that can be used to pay for the session. - * Every element is an array with the following keys: - * <dl> - * <dt> - * string <var>k_session_pass</var> - * </dt> - * <dd> - * The session pass key, available to pay for the session. - * - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title of the session pass. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_session_pass; - - /** - * The start date and time of the class in GMT and MySQL format. - * - * @get get - * @post get - * @var string - */ - public $dt_date_global = ''; - - /** - * Determines how the payment was handled for the session. - * One of the {@link AddOptionSid} constants. - * - * @post post - * @var int - */ - public $id_add_option = 0; - - /** - * Determines how the session was booked. - * One of the {@link ModeSid} constants. - * We recommend using the `WEB_BACKEND` value. - * - * @post post - * @var int - */ - public $id_mode = 0; - - /** - * The status of the visit. - * One of the {@link WlVisitSid} constants. - * - * @post result - * @var int - */ - public $id_visit; - - /** - * Defines whether only single session can be booked for block event. - * - * <tt>true</tt> Only current session of the block event will be booked in a case if staff event has appropriate setting to do this action. - * In this case this session will be considered as session out of event block. - * <tt>false</tt> all available event sessions will be booked. - * In this case session will be considered as part of event block. - * - * @post get - * @var bool - */ - public $is_event_single = false; - - /** - * If `true`, the session is free with no methods of payment. If `false`, the session can be paid for. - * - * @get result - * @var bool - */ - public $is_free; - - /** - * If `true`, the visit was automatically paid for in any available way during the booking. - * If `false`, the visit wasn't automatically paid for. - * - * @post result - * @var bool - */ - public $is_paid; - - /** - * Key of the business in which the request must be processed. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The class period key. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * The key of the user's promotion to be used for booking. - * If empty, use any suitable user's promotion. - * - * @get result - * @post post - * @var string - */ - public $k_login_promotion = '0'; - - /** - * The key of a session pass that can be used for a single session payment. - * If no such payment is available, `0` will be returned. - * - * @get result - * @post post - * @var string - */ - public $k_session_pass = '0'; - - /** - * The key of the booked visit. This will be set on success. - * This value will be needed if the session still needs to be paid for. - * - * @post result - * @var string - */ - public $k_visit; - - /** - * The price of the session, including any taxes and discounts. - * - * If `null`, the price of the session hasn't been loaded yet. - * - * @get result - * @var string|null - */ - public $m_price; - - /** - * The user's account balance if they were charged the {@link AddModel::$m_price} amount. - * - * @get result - * @var string|null - */ - public $m_rest; - - /** - * The client user key. - * - * @get get - * @post get - * @var string - */ - public $uid_client = '0'; - - /** - * The URL link to the store to allow for the payment of the visit. - * - * This link is for web only. - * - * @post result - * @var string - */ - public $url_store; -} - +<?php + +namespace WellnessLiving\Wl\Login\Attendance\Add; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Login\Attendance\AddOptionSid; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Visit\WlVisitSid; + +/** + * Adds a client to an attendance list. + * This endpoint can also be used to get a list of Purchase Options suitable to pay for the session in question. + */ +class AddModel extends WlModelAbstract +{ + /** + * Any of the client memberships that can be used to pay for the session. + * Every element is an array with the following keys: + * <dl> + * <dt> + * string <var>k_login_promotion</var> + * </dt> + * <dd> + * The login promotion key, available to pay for the session. + * + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title of the login promotion. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_login_promotion; + + /** + * Any user's session passes that can be used to pay for the session. + * Every element is an array with the following keys: + * <dl> + * <dt> + * string <var>k_session_pass</var> + * </dt> + * <dd> + * The session pass key, available to pay for the session. + * + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title of the session pass. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_session_pass; + + /** + * The start date and time of the class in GMT and MySQL format. + * + * @get get + * @post get + * @var string + */ + public $dt_date_global = ''; + + /** + * Determines how the payment was handled for the session. + * One of the {@link AddOptionSid} constants. + * + * @post post + * @var int + */ + public $id_add_option = 0; + + /** + * Determines how the session was booked. + * One of the {@link ModeSid} constants. + * We recommend using the `WEB_BACKEND` value. + * + * @post post + * @var int + */ + public $id_mode = 0; + + /** + * The status of the visit. + * One of the {@link WlVisitSid} constants. + * + * @post result + * @var int + */ + public $id_visit; + + /** + * Defines whether only single session can be booked for block event. + * + * <tt>true</tt> Only current session of the block event will be booked in a case if staff event has appropriate setting to do this action. + * In this case this session will be considered as session out of event block. + * <tt>false</tt> all available event sessions will be booked. + * In this case session will be considered as part of event block. + * + * @post get + * @var bool + */ + public $is_event_single = false; + + /** + * If `true`, the session is free with no methods of payment. If `false`, the session can be paid for. + * + * @get result + * @var bool + */ + public $is_free; + + /** + * If `true`, the visit was automatically paid for in any available way during the booking. + * If `false`, the visit wasn't automatically paid for. + * + * @post result + * @var bool + */ + public $is_paid; + + /** + * Key of the business in which the request must be processed. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The class period key. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * The key of the user's promotion to be used for booking. + * If empty, use any suitable user's promotion. + * + * @get result + * @post post + * @var string + */ + public $k_login_promotion = '0'; + + /** + * The key of a session pass that can be used for a single session payment. + * If no such payment is available, `0` will be returned. + * + * @get result + * @post post + * @var string + */ + public $k_session_pass = '0'; + + /** + * The key of the booked visit. This will be set on success. + * This value will be needed if the session still needs to be paid for. + * + * @post result + * @var string + */ + public $k_visit; + + /** + * The price of the session, including any taxes and discounts. + * + * If `null`, the price of the session hasn't been loaded yet. + * + * @get result + * @var string|null + */ + public $m_price; + + /** + * The user's account balance if they were charged the {@link AddModel::$m_price} amount. + * + * @get result + * @var string|null + */ + public $m_rest; + + /** + * The client user key. + * + * @get get + * @post get + * @var string + */ + public $uid_client = '0'; + + /** + * The URL link to the store to allow for the payment of the visit. + * + * This link is for web only. + * + * @post result + * @var string + */ + public $url_store; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php b/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php index b4865b38..629a8b1c 100644 --- a/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php +++ b/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl\Login\Attendance; - -/** - * List of options to add client to attendance list. - */ -class AddOptionSid -{ - /** - * Add client to attendance list and charge his account. - */ - const DEBIT = 2; - - /** - * Add client to attendance list and pay now. - */ - const PAY = 3; - - /** - * Add client to attendance list without payment. - */ - const UNPAID = 1; -} - +<?php + +namespace WellnessLiving\Wl\Login\Attendance; + +/** + * List of options to add client to attendance list. + */ +class AddOptionSid +{ + /** + * Add client to attendance list and charge his account. + */ + const DEBIT = 2; + + /** + * Add client to attendance list and pay now. + */ + const PAY = 3; + + /** + * Add client to attendance list without payment. + */ + const UNPAID = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index 8540ed0e..2e8ee902 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -1,321 +1,321 @@ -<?php - -namespace WellnessLiving\Wl\Login\Attendance; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; -use WellnessLiving\Wl\WlServiceSid; - -/** - * Displays information for certain sessions. - */ -class AttendanceInfoByTokenModel extends WlModelAbstract -{ - /** - * Additional visit information about this appointment. Empty array if it's not an appointment: - * <dl> - * <dt>bool <var>is_deny</var></dt> - * <dd>`true` means that appointment was requested and denied by the staff.</dd> - * <dt>bool <var>is_notify_request_accept</var></dt> - * <dd>`true` means that the client will receive a notification, if appointment will be confirmed by the staff.</dd> - * <dt>bool <var>is_notify_request_deny</var></dt> - * <dd>`true` means that the client will receive a notification, if appointment will be denied by the staff.</dd> - * <dt>bool <var>is_request</var></dt> - * <dd>`true` means that appointment was requested, but not confirmed by the staff.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_appointment_visit_info = []; - - /** - * Service logo information: - * <dl> - * <dt> - * bool <var>is_empty</var> - * </dt> - * <dd> - * Whether service image is empty. - * </dd> - * <dt> - * string <var>s_url</var> - * </dt> - * <dd> - * Url link to image. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_logo = null; - - /** - * Assets which are bound to this session. - * - * @get result - * @var string[] - */ - public $a_resource = null; - - /** - * Asset layouts of session: - * <dl> - * <dt> - * array <var>a_client</var> - * </dt> - * <dd> - * List of clients who occupy assets of class. - * It is a double nesting array. - * Keys - primary keys of assets. Sub keys - asset index. - * Values - sub array with keys: - * <dl><dt>string <var>text_client</var></dt><dd>User's name.</dd> - * <dt>string <var>uid</var></dt><dd>User's primary key.</dd></dl> - * </dd> - * <dt> - * string[] <var>a_resource_available</var> - * </dt> - * <dd> - * Key of asset. - * </dd> - * <dt> - * string <var>k_resource_layout</var> - * </dt> - * <dd> - * Key of layout. - * </dd> - * <dt> - * string <var>text_resource_type</var> - * </dt> - * <dd> - * Title of asset category. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_resource_layout = null; - - /** - * List of staff members who provide service: - * <dl> - * <dt> - * array <var>a_logo</var> - * </dt> - * <dd> - * Data of staff member's photo. Empty if staff has no photo. Otherwise contains next keys: - * <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * Height in pixels. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * Width in pixels. - * </dd> - * <dt> - * string <var>url_logo</var> - * </dt> - * <dd> - * Image URL. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>k_staff</var> - * </dt> - * <dd> - * Staff key. - * </dd> - * <dt> - * string <var>html_firstname</var> - * </dt> - * <dd> - * Staff member's first name. - * </dd> - * <dt> - * string <var>html_lastname</var> - * </dt> - * <dd> - * Staff member's last name. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_staff = null; - - /** - * Confirmation date+time of appointment in MySQL format. If client never confirmed, will be zero date + time. - * - * @get result - * @var string - */ - public $dt_confirm = ''; - - /** - * Start date of ste session in MySQL format in GMT. - * - * @get result - * @var string - */ - public $dt_date_global = null; - - /** - * Start date of the class in MySQL format in local time. - * - * @get get - * @var string - */ - public $dt_date_local = ''; - - /** - * Date and time in UTC when the visit is promoted from wait list to active list. - * Not empty for appointments. - * - * @get result - * @var string - */ - public $dtu_wait_promote = ''; - - /** - * Whether notes added to visit. - * - * @get result - * @var bool - */ - public $has_note = null; - - /** - * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. - * - * @get result - * @var int|false - */ - public $id_note = null; - - /** - * Service type, one of {@link WlServiceSid}. - * - * @get result - * @var int - */ - public $id_service = null; - - /** - * Whether this service be carried out in Zoom. - * <tt>true</tt> - If the service can be carried out in Zoom. - * <tt>false</tt> - otherwise. - * - * @get result - * @var bool - */ - public $is_start_virtual_service = false; - - /** - * ID of appointment to get information for. - * - * @get get - * @var string - */ - public $k_appointment = '0'; - - /** - * ID of business to get information for. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * Not empty if service is class or event reservation. - * - * @get result - * @var string - */ - public $k_class = null; - - /** - * ID of class period to get information for. - * - * @get get - * @var string - */ - public $k_class_period = '0'; - - /** - * Location identifier. - * - * @get result - * @var string - */ - public $k_location = null; - - /** - * Resource identifier. - * Not empty if service is asset reservation. - * - * @get result - * @var string - */ - public $k_resource = null; - - /** - * Service identifier. - * Not empty if service is appointment reservation. - * - * @get result - * @var string - */ - public $k_service = null; - - /** - * Location name. - * - * @get result - * @var string - */ - public $text_location = null; - - /** - * Time when service starts in format <tt>8:00AM</tt>. - * - * @get result - * @var string - */ - public $text_time_end = null; - - /** - * Start time of the session in format '9:30AM'. - * - * @get result - * @var string - */ - public $text_time_start = null; - - /** - * Title of the appointment. - * - * @get result - * @var string - */ - public $text_title = null; - - /** - * The security token. - * - * @get get - * @var string - */ - public $text_token = ''; -} - +<?php + +namespace WellnessLiving\Wl\Login\Attendance; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; +use WellnessLiving\Wl\WlServiceSid; + +/** + * Displays information for certain sessions. + */ +class AttendanceInfoByTokenModel extends WlModelAbstract +{ + /** + * Additional visit information about this appointment. Empty array if it's not an appointment: + * <dl> + * <dt>bool <var>is_deny</var></dt> + * <dd>`true` means that appointment was requested and denied by the staff.</dd> + * <dt>bool <var>is_notify_request_accept</var></dt> + * <dd>`true` means that the client will receive a notification, if appointment will be confirmed by the staff.</dd> + * <dt>bool <var>is_notify_request_deny</var></dt> + * <dd>`true` means that the client will receive a notification, if appointment will be denied by the staff.</dd> + * <dt>bool <var>is_request</var></dt> + * <dd>`true` means that appointment was requested, but not confirmed by the staff.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_appointment_visit_info = []; + + /** + * Service logo information: + * <dl> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * Whether service image is empty. + * </dd> + * <dt> + * string <var>s_url</var> + * </dt> + * <dd> + * Url link to image. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_logo = null; + + /** + * Assets which are bound to this session. + * + * @get result + * @var string[] + */ + public $a_resource = null; + + /** + * Asset layouts of session: + * <dl> + * <dt> + * array <var>a_client</var> + * </dt> + * <dd> + * List of clients who occupy assets of class. + * It is a double nesting array. + * Keys - primary keys of assets. Sub keys - asset index. + * Values - sub array with keys: + * <dl><dt>string <var>text_client</var></dt><dd>User's name.</dd> + * <dt>string <var>uid</var></dt><dd>User's primary key.</dd></dl> + * </dd> + * <dt> + * string[] <var>a_resource_available</var> + * </dt> + * <dd> + * Key of asset. + * </dd> + * <dt> + * string <var>k_resource_layout</var> + * </dt> + * <dd> + * Key of layout. + * </dd> + * <dt> + * string <var>text_resource_type</var> + * </dt> + * <dd> + * Title of asset category. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_resource_layout = null; + + /** + * List of staff members who provide service: + * <dl> + * <dt> + * array <var>a_logo</var> + * </dt> + * <dd> + * Data of staff member's photo. Empty if staff has no photo. Otherwise contains next keys: + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * Height in pixels. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * Width in pixels. + * </dd> + * <dt> + * string <var>url_logo</var> + * </dt> + * <dd> + * Image URL. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>k_staff</var> + * </dt> + * <dd> + * Staff key. + * </dd> + * <dt> + * string <var>html_firstname</var> + * </dt> + * <dd> + * Staff member's first name. + * </dd> + * <dt> + * string <var>html_lastname</var> + * </dt> + * <dd> + * Staff member's last name. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_staff = null; + + /** + * Confirmation date+time of appointment in MySQL format. If client never confirmed, will be zero date + time. + * + * @get result + * @var string + */ + public $dt_confirm = ''; + + /** + * Start date of ste session in MySQL format in GMT. + * + * @get result + * @var string + */ + public $dt_date_global = null; + + /** + * Start date of the class in MySQL format in local time. + * + * @get get + * @var string + */ + public $dt_date_local = ''; + + /** + * Date and time in UTC when the visit is promoted from wait list to active list. + * Not empty for appointments. + * + * @get result + * @var string + */ + public $dtu_wait_promote = ''; + + /** + * Whether notes added to visit. + * + * @get result + * @var bool + */ + public $has_note = null; + + /** + * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. + * + * @get result + * @var int|false + */ + public $id_note = null; + + /** + * Service type, one of {@link WlServiceSid}. + * + * @get result + * @var int + */ + public $id_service = null; + + /** + * Whether this service be carried out in Zoom. + * <tt>true</tt> - If the service can be carried out in Zoom. + * <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_start_virtual_service = false; + + /** + * ID of appointment to get information for. + * + * @get get + * @var string + */ + public $k_appointment = '0'; + + /** + * ID of business to get information for. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Not empty if service is class or event reservation. + * + * @get result + * @var string + */ + public $k_class = null; + + /** + * ID of class period to get information for. + * + * @get get + * @var string + */ + public $k_class_period = '0'; + + /** + * Location identifier. + * + * @get result + * @var string + */ + public $k_location = null; + + /** + * Resource identifier. + * Not empty if service is asset reservation. + * + * @get result + * @var string + */ + public $k_resource = null; + + /** + * Service identifier. + * Not empty if service is appointment reservation. + * + * @get result + * @var string + */ + public $k_service = null; + + /** + * Location name. + * + * @get result + * @var string + */ + public $text_location = null; + + /** + * Time when service starts in format <tt>8:00AM</tt>. + * + * @get result + * @var string + */ + public $text_time_end = null; + + /** + * Start time of the session in format '9:30AM'. + * + * @get result + * @var string + */ + public $text_time_start = null; + + /** + * Title of the appointment. + * + * @get result + * @var string + */ + public $text_title = null; + + /** + * The security token. + * + * @get get + * @var string + */ + public $text_token = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php index 6ef2d84b..bd9d9df9 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php @@ -1,280 +1,280 @@ -<?php - -namespace WellnessLiving\Wl\Login\Attendance; - -use WellnessLiving\Core\a\AGenderSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Visit\WlVisitSid; -use WellnessLiving\Wl\WlProgramSid; - -/** - * An endpoint that displays attendance list data. - * Version of {@link AttendanceListModel} for access validation by security token. - */ -class AttendanceListByTokenModel extends WlModelAbstract -{ - /** - * The list of clients in the active attendance list who haven't confirmed or canceled. - * Each element is an array with the following fields: - * <dl> - * <dt>array <var>a_photo</var></dt> - * <dd> - * Information about the user's photo. The information returned has the following structure: - * <dl> - * <dt>int <var>i_height</var></dt> - * <dd>The height of the photo.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>The width of the photo.</dd> - * <dt>string <var>is_empty</var></dt> - * <dd>This will be <tt>true</tt> if a photo hasn't been set yet.</dd> - * <dt>string <var>s_url</var></dt> - * <dd>The URL of the photo.</dd> - * </dl> - * </dd> - * <dt>array <var>a_progress</var></dt> - * <dd>Information about a user's current progress. By default, this information isn't sent.</dd> - * <dt>array <var>a_quiz</var></dt> - * <dd>Quiz information that concerns current visit.</dd> - * <dt>array <var>a_resource</var></dt> - * <dd>A list of information for any associated resources for this visit.</dd> - * <dt>array <var>a_wait_confirm</var></dt> - * <dd>The list of visit keys for clients on the wait list.</dd> - * <dt>array <var>a_wearable</var></dt> - * <dd>A list of information pertaining to the client's wearables.</dd> - * <dt>bool <var>can_profile</var></dt> - * <dd>If <tt>true</tt>, the current user can access this client profile.</dd> - * <dt>string <var>dt_book</var></dt> - * <dd>The date the session was booked, in UTC.</dd> - * <dt>string <var>dt_date</var></dt> - * <dd>The date of the session, in UTC.</dd> - * <dt>string <var>dt_expire</var></dt> - * <dd>The date the Purchase Option that was used will expire, in UTC.</dd> - * <dt>string <var>dt_register</var></dt> - * <dd>The date the client checked in for the visit, in UTC.</dd> - * <dt>string <var>html_age</var></dt> - * <dd>The client age.</dd> - * <dt>string <var>html_book_by</var></dt> - * <dd>The name of the person who booked this visit.</dd> - * <dt>string <var>html_gender_class</var></dt> - * <dd>The name of the icon to show under gender in the class attendance list.</dd> - * <dt>string <var>html_member</var></dt> - * <dd>The client's member ID, if set.</dd> - * <dt>string <var>html_tooltip_book_by</var></dt> - * <dd>When and where this visit was booked, along with who booked it.</dd> - * <dt>int <var>i</var></dt> - * <dd>The default place in the list to show this client. This is a deprecated copy of the <tt>i_order</tt> field.</dd> - * <dt>int <var>i_left</var></dt> - * <dd>The number of visits left on this Purchase Option. This will be <tt>NULL</tt> if there's no limit.</dd> - * <dt>int <var>i_order</var></dt> - * <dd>The default place in the list to show this client.</dd> - * <dt>int <var>i_total</var></dt> - * <dd>The total visits available from this Purchase Option.</dd> - * <dt>int <var>id_gender</var></dt> - * <dd>The gender ID of the client. One of the {@link AGenderSid} constants.</dd> - * <dt>int <var>id_pass_prospect</var></dt> - * <dd>If this visit was paid for by an external system, this ID will be set. Otherwise, it will be <tt>0</tt>.</dd> - * <dt>int <var>id_program</var></dt> - * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> - * <dt>int <var>id_visit</var></dt> - * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> - * <dt>bool <var>is_attend</var></dt> - * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> - * <dt>bool <var>is_duration_pass</var></dt> - * <dd>This will be <tt>true</tt> if the Purchase Option used is a duration pass.</dd> - * <dt>bool <var>is_deposit</var></dt> - * <dd>This will be <tt>true</tt> if the client has paid a deposit for the visit.</dd> - * <dt>bool <var>is_early</var></dt> - * <dd>This will be <tt>true</tt> if the client has canceled the visit early, incurring no penalty. - * This will be <tt>false</tt> if canceled late or if not canceled at all. - * </dd> - * <dt>bool <var>is_free</var></dt> - * <dd>This will be <tt>true</tt> if the visit is free.</dd> - * <dt>bool <var>is_hidden</var></dt> - * <dd>This will be <tt>true</tt> if details on this visit should be hidden from staff members.</dd> - * <dt>bool <var>is_penalty</var></dt> - * <dd>This will be <tt>true</tt> if this visit was cancelled late and a penalty is applied.</dd> - * <dt>bool <var>is_promotion_first</var></dt> - * <dd>This will be <tt>true</tt> if this was the first visit for the Purchase Option used.</dd> - * <dt>bool <var>is_promotion_last</var></dt> - * <dd>This will be <tt>true</tt> if this was the latest visit for the Purchase Option used.</dd> - * <dt>bool <var>is_unlimited</var></dt> - * <dd>This will be <tt>true</tt> if the Purchase Option used has no usage limits.</dd> - * <dt>bool <var>is_visit</var></dt> - * <dd>This will be <tt>true</tt> if this visit is still considered valid. - * If visit was removed by the system or a staff member, this will be <tt>false</tt>.</dd> - * <dt>bool <var>is_wait</var></dt> - * <dd>This will be <tt>true</tt> if the visit is on the waiting list.</dd> - * <dt>bool <var>is_wait_confirm</var></dt> - * <dd>This will be <tt>true</tt> if the visit is awaiting confirmation.</dd> - * <dt>bool <var>is_wait_priority</var></dt> - * <dd>This will be <tt>true</tt> if the visit has priority on the wait list.</dd> - * <dt>string <var>k_location</var></dt> - * <dd>The key of the location.</dd> - * <dt>string <var>k_login_promotion</var></dt> - * <dd>The key of the client's Purchase Option.</dd> - * <dt>string <var>k_visit</var></dt> - * <dd>The key of the visit.</dd> - * <dt>array <var>[o_purchase_item]</var></dt> - * <dd>The purchase used to pay for the session.</dd> - * <dt>string <var>s_expire</var></dt> - * <dd>The expiry information for the Purchase Option. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_firstname</var></dt> - * <dd>The client's first name. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_lastname</var></dt> - * <dd>The client's last name. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_note</var></dt> - * <dd>Any notes tied to the client. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_promotion</var></dt> - * <dd>The description of the type of Purchase Option. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>text_expire</var></dt> - * <dd>The expiry information for the Purchase Option.</dd> - * <dt>string <var>text_firstname</var></dt> - * <dd>The client first name.</dd> - * <dt>string <var>text_lastname</var></dt> - * <dd>The client last name.</dd> - * <dt>string <var>text_note</var></dt> - * <dd>Any notes tied to the client.</dd> - * <dt>string <var>text_promotion</var></dt> - * <dd>The description of the type of Purchase Option.</dd> - * <dt>string <var>text_restrict_title</var></dt> - * <dd>The Purchase Option restriction description. It can be empty string when the Purchase Option has no restrictions.</dd> - * <dt>string <var>text_visit_status_class</var></dt> - * <dd>The class visit status.</dd> - * <dt>string <var>text_visit_status_icon</var></dt> - * <dd>The icon to use for the class visit status.</dd> - * <dt>string <var>text_wearable</var></dt> - * <dd>The wearable device ID.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The client user key.</dd> - * <dt>string <var>uid_book</var></dt> - * <dd> - * The key of the user who made the booking. - * If differing from <tt>uid</tt>, the booking could have been made by a staff or family member. - * </dd> - * <dt>string <var>url-cancel</var></dt> - * <dd>The URL that can be used to cancel the visit.</dd> - * <dt>string <var>url-cancel-admin</var></dt> - * <dd>The URL that can be used by an admin to cancel the visit.</dd> - * <dt>string <var>url-login-view</var></dt> - * <dd>The URL that for the user's page.</dd> - * <dt>string <var>url-mail</var></dt> - * <dd>The URL to a page for sending an email to the client.</dd> - * <dt>string <var>url-profile</var></dt> - * <dd>The URL that for the client's profile.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_list_active = null; - - /** - * The list of clients who have confirmed their attendance. - * Has the same structure as {@link AttendanceListModel::$a_list_active} property. - * - * @get result - * @var array[] - */ - public $a_list_confirm = null; - - /** - * The list of clients who are on the wait list. - * Has the same structure as {@link AttendanceListModel::$a_list_active} property. - * - * @get result - * @var array[] - */ - public $a_list_wait = null; - - /** - * The local date of the class or event session. - * - * @get get - * @var string - */ - public $dt_date_local = ''; - - /** - * The maximum capacity of the class or event session. - * - * @get result - * @var int - */ - public $i_capacity = null; - - /** - * Count client on the attendance. - * - * @get result - * @var int - */ - public $i_client = null; - - /** - * The maximum number of clients on wait list of the class or event session. - * - * @get result - * @var int - */ - public $i_wait_list_limit; - - /** - * If <tt>true</tt>, then return the purchase used to pay for session. - * Otherwise <tt>false</tt>, do not return any purchase information. - * - * @get get - * @var bool - */ - public $is_purchase_info_return = false; - - /** - * `true` to use class/event specific wait list limit, `false` to use the limit from default policies. - * `false` for appointments. - * - * @get result - * @var bool - */ - public $is_wait_list_limit; - - /** - * The appointment key. Not used if requesting information for a class or event session. - * - * @get get - * @var string - */ - public $k_appointment = '0'; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The class period key. Not used if requesting information for an appointment. - * - * @get get - * @var string - */ - public $k_class_period = '0'; - - /** - * The Location key. - * - * @get result - * @var string - */ - public $k_location = null; - - /** - * The security token. - * - * @get get - * @var string - */ - public $text_token = ''; -} - +<?php + +namespace WellnessLiving\Wl\Login\Attendance; + +use WellnessLiving\Core\a\AGenderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Visit\WlVisitSid; +use WellnessLiving\Wl\WlProgramSid; + +/** + * An endpoint that displays attendance list data. + * Version of {@link AttendanceListModel} for access validation by security token. + */ +class AttendanceListByTokenModel extends WlModelAbstract +{ + /** + * The list of clients in the active attendance list who haven't confirmed or canceled. + * Each element is an array with the following fields: + * <dl> + * <dt>array <var>a_photo</var></dt> + * <dd> + * Information about the user's photo. The information returned has the following structure: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>The height of the photo.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>The width of the photo.</dd> + * <dt>string <var>is_empty</var></dt> + * <dd>This will be <tt>true</tt> if a photo hasn't been set yet.</dd> + * <dt>string <var>s_url</var></dt> + * <dd>The URL of the photo.</dd> + * </dl> + * </dd> + * <dt>array <var>a_progress</var></dt> + * <dd>Information about a user's current progress. By default, this information isn't sent.</dd> + * <dt>array <var>a_quiz</var></dt> + * <dd>Quiz information that concerns current visit.</dd> + * <dt>array <var>a_resource</var></dt> + * <dd>A list of information for any associated resources for this visit.</dd> + * <dt>array <var>a_wait_confirm</var></dt> + * <dd>The list of visit keys for clients on the wait list.</dd> + * <dt>array <var>a_wearable</var></dt> + * <dd>A list of information pertaining to the client's wearables.</dd> + * <dt>bool <var>can_profile</var></dt> + * <dd>If <tt>true</tt>, the current user can access this client profile.</dd> + * <dt>string <var>dt_book</var></dt> + * <dd>The date the session was booked, in UTC.</dd> + * <dt>string <var>dt_date</var></dt> + * <dd>The date of the session, in UTC.</dd> + * <dt>string <var>dt_expire</var></dt> + * <dd>The date the Purchase Option that was used will expire, in UTC.</dd> + * <dt>string <var>dt_register</var></dt> + * <dd>The date the client checked in for the visit, in UTC.</dd> + * <dt>string <var>html_age</var></dt> + * <dd>The client age.</dd> + * <dt>string <var>html_book_by</var></dt> + * <dd>The name of the person who booked this visit.</dd> + * <dt>string <var>html_gender_class</var></dt> + * <dd>The name of the icon to show under gender in the class attendance list.</dd> + * <dt>string <var>html_member</var></dt> + * <dd>The client's member ID, if set.</dd> + * <dt>string <var>html_tooltip_book_by</var></dt> + * <dd>When and where this visit was booked, along with who booked it.</dd> + * <dt>int <var>i</var></dt> + * <dd>The default place in the list to show this client. This is a deprecated copy of the <tt>i_order</tt> field.</dd> + * <dt>int <var>i_left</var></dt> + * <dd>The number of visits left on this Purchase Option. This will be <tt>NULL</tt> if there's no limit.</dd> + * <dt>int <var>i_order</var></dt> + * <dd>The default place in the list to show this client.</dd> + * <dt>int <var>i_total</var></dt> + * <dd>The total visits available from this Purchase Option.</dd> + * <dt>int <var>id_gender</var></dt> + * <dd>The gender ID of the client. One of the {@link AGenderSid} constants.</dd> + * <dt>int <var>id_pass_prospect</var></dt> + * <dd>If this visit was paid for by an external system, this ID will be set. Otherwise, it will be <tt>0</tt>.</dd> + * <dt>int <var>id_program</var></dt> + * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> + * <dt>int <var>id_visit</var></dt> + * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> + * <dt>bool <var>is_attend</var></dt> + * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> + * <dt>bool <var>is_duration_pass</var></dt> + * <dd>This will be <tt>true</tt> if the Purchase Option used is a duration pass.</dd> + * <dt>bool <var>is_deposit</var></dt> + * <dd>This will be <tt>true</tt> if the client has paid a deposit for the visit.</dd> + * <dt>bool <var>is_early</var></dt> + * <dd>This will be <tt>true</tt> if the client has canceled the visit early, incurring no penalty. + * This will be <tt>false</tt> if canceled late or if not canceled at all. + * </dd> + * <dt>bool <var>is_free</var></dt> + * <dd>This will be <tt>true</tt> if the visit is free.</dd> + * <dt>bool <var>is_hidden</var></dt> + * <dd>This will be <tt>true</tt> if details on this visit should be hidden from staff members.</dd> + * <dt>bool <var>is_penalty</var></dt> + * <dd>This will be <tt>true</tt> if this visit was cancelled late and a penalty is applied.</dd> + * <dt>bool <var>is_promotion_first</var></dt> + * <dd>This will be <tt>true</tt> if this was the first visit for the Purchase Option used.</dd> + * <dt>bool <var>is_promotion_last</var></dt> + * <dd>This will be <tt>true</tt> if this was the latest visit for the Purchase Option used.</dd> + * <dt>bool <var>is_unlimited</var></dt> + * <dd>This will be <tt>true</tt> if the Purchase Option used has no usage limits.</dd> + * <dt>bool <var>is_visit</var></dt> + * <dd>This will be <tt>true</tt> if this visit is still considered valid. + * If visit was removed by the system or a staff member, this will be <tt>false</tt>.</dd> + * <dt>bool <var>is_wait</var></dt> + * <dd>This will be <tt>true</tt> if the visit is on the waiting list.</dd> + * <dt>bool <var>is_wait_confirm</var></dt> + * <dd>This will be <tt>true</tt> if the visit is awaiting confirmation.</dd> + * <dt>bool <var>is_wait_priority</var></dt> + * <dd>This will be <tt>true</tt> if the visit has priority on the wait list.</dd> + * <dt>string <var>k_location</var></dt> + * <dd>The key of the location.</dd> + * <dt>string <var>k_login_promotion</var></dt> + * <dd>The key of the client's Purchase Option.</dd> + * <dt>string <var>k_visit</var></dt> + * <dd>The key of the visit.</dd> + * <dt>array <var>[o_purchase_item]</var></dt> + * <dd>The purchase used to pay for the session.</dd> + * <dt>string <var>s_expire</var></dt> + * <dd>The expiry information for the Purchase Option. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_firstname</var></dt> + * <dd>The client's first name. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_lastname</var></dt> + * <dd>The client's last name. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_note</var></dt> + * <dd>Any notes tied to the client. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_promotion</var></dt> + * <dd>The description of the type of Purchase Option. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>text_expire</var></dt> + * <dd>The expiry information for the Purchase Option.</dd> + * <dt>string <var>text_firstname</var></dt> + * <dd>The client first name.</dd> + * <dt>string <var>text_lastname</var></dt> + * <dd>The client last name.</dd> + * <dt>string <var>text_note</var></dt> + * <dd>Any notes tied to the client.</dd> + * <dt>string <var>text_promotion</var></dt> + * <dd>The description of the type of Purchase Option.</dd> + * <dt>string <var>text_restrict_title</var></dt> + * <dd>The Purchase Option restriction description. It can be empty string when the Purchase Option has no restrictions.</dd> + * <dt>string <var>text_visit_status_class</var></dt> + * <dd>The class visit status.</dd> + * <dt>string <var>text_visit_status_icon</var></dt> + * <dd>The icon to use for the class visit status.</dd> + * <dt>string <var>text_wearable</var></dt> + * <dd>The wearable device ID.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The client user key.</dd> + * <dt>string <var>uid_book</var></dt> + * <dd> + * The key of the user who made the booking. + * If differing from <tt>uid</tt>, the booking could have been made by a staff or family member. + * </dd> + * <dt>string <var>url-cancel</var></dt> + * <dd>The URL that can be used to cancel the visit.</dd> + * <dt>string <var>url-cancel-admin</var></dt> + * <dd>The URL that can be used by an admin to cancel the visit.</dd> + * <dt>string <var>url-login-view</var></dt> + * <dd>The URL that for the user's page.</dd> + * <dt>string <var>url-mail</var></dt> + * <dd>The URL to a page for sending an email to the client.</dd> + * <dt>string <var>url-profile</var></dt> + * <dd>The URL that for the client's profile.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_list_active = null; + + /** + * The list of clients who have confirmed their attendance. + * Has the same structure as {@link AttendanceListModel::$a_list_active} property. + * + * @get result + * @var array[] + */ + public $a_list_confirm = null; + + /** + * The list of clients who are on the wait list. + * Has the same structure as {@link AttendanceListModel::$a_list_active} property. + * + * @get result + * @var array[] + */ + public $a_list_wait = null; + + /** + * The local date of the class or event session. + * + * @get get + * @var string + */ + public $dt_date_local = ''; + + /** + * The maximum capacity of the class or event session. + * + * @get result + * @var int + */ + public $i_capacity = null; + + /** + * Count client on the attendance. + * + * @get result + * @var int + */ + public $i_client = null; + + /** + * The maximum number of clients on wait list of the class or event session. + * + * @get result + * @var int + */ + public $i_wait_list_limit; + + /** + * If <tt>true</tt>, then return the purchase used to pay for session. + * Otherwise <tt>false</tt>, do not return any purchase information. + * + * @get get + * @var bool + */ + public $is_purchase_info_return = false; + + /** + * `true` to use class/event specific wait list limit, `false` to use the limit from default policies. + * `false` for appointments. + * + * @get result + * @var bool + */ + public $is_wait_list_limit; + + /** + * The appointment key. Not used if requesting information for a class or event session. + * + * @get get + * @var string + */ + public $k_appointment = '0'; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The class period key. Not used if requesting information for an appointment. + * + * @get get + * @var string + */ + public $k_class_period = '0'; + + /** + * The Location key. + * + * @get result + * @var string + */ + public $k_location = null; + + /** + * The security token. + * + * @get get + * @var string + */ + public $text_token = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php index 2eda9a31..14157c9e 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php @@ -1,271 +1,271 @@ -<?php - -namespace WellnessLiving\Wl\Login\Attendance; - -use WellnessLiving\Core\a\AGenderSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Visit\WlVisitSid; -use WellnessLiving\Wl\WlProgramSid; - -/** - * Retrieves information about clients attending a class, appointment, or event session. - */ -class AttendanceListModel extends WlModelAbstract -{ - /** - * The list of clients in the active attendance list who haven't confirmed or canceled. - * Each element is an array with the following fields: - * <dl> - * <dt>array <var>a_photo</var></dt> - * <dd> - * Information about the user's photo. The information returned has the following structure: - * <dl> - * <dt>int <var>i_height</var></dt> - * <dd>The height of the photo.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>The width of the photo.</dd> - * <dt>string <var>is_empty</var></dt> - * <dd>This will be <tt>true</tt> if a photo hasn't been set yet.</dd> - * <dt>string <var>s_url</var></dt> - * <dd>The URL of the photo.</dd> - * </dl> - * </dd> - * <dt>array <var>a_progress</var></dt> - * <dd>Information about a user's current progress. By default, this information isn't sent.</dd> - * <dt>array <var>a_quiz</var></dt> - * <dd>Quiz information that concerns current visit.</dd> - * <dt>array <var>a_resource</var></dt> - * <dd>A list of information for any associated resources for this visit.</dd> - * <dt>array <var>a_wait_confirm</var></dt> - * <dd>The list of visit keys for clients on the wait list.</dd> - * <dt>array <var>a_wearable</var></dt> - * <dd>A list of information pertaining to the client's wearables.</dd> - * <dt>bool <var>can_profile</var></dt> - * <dd>If <tt>true</tt>, the current user can access this client profile.</dd> - * <dt>string <var>dt_book</var></dt> - * <dd>The date the session was booked, in UTC.</dd> - * <dt>string <var>dt_date</var></dt> - * <dd>The date of the session, in UTC.</dd> - * <dt>string <var>dt_expire</var></dt> - * <dd>The date the Purchase Option that was used will expire, in UTC.</dd> - * <dt>string <var>dt_register</var></dt> - * <dd>The date the client checked in for the visit, in UTC.</dd> - * <dt>string <var>html_age</var></dt> - * <dd>The client age.</dd> - * <dt>string <var>html_book_by</var></dt> - * <dd>The name of the person who booked this visit.</dd> - * <dt>string <var>html_gender_class</var></dt> - * <dd>The name of the icon to show under gender in the class attendance list.</dd> - * <dt>string <var>html_member</var></dt> - * <dd>The client's member ID, if set.</dd> - * <dt>string <var>html_tooltip_book_by</var></dt> - * <dd>When and where this visit was booked, along with who booked it.</dd> - * <dt>int <var>i</var></dt> - * <dd>The default place in the list to show this client. This is a deprecated copy of the <tt>i_order</tt> field.</dd> - * <dt>int <var>i_left</var></dt> - * <dd>The number of visits left on this Purchase Option. This will be <tt>NULL</tt> if there's no limit.</dd> - * <dt>int <var>i_order</var></dt> - * <dd>The default place in the list to show this client.</dd> - * <dt>int <var>i_total</var></dt> - * <dd>The total visits available from this Purchase Option.</dd> - * <dt>int <var>id_gender</var></dt> - * <dd>The gender ID of the client. One of the {@link AGenderSid} constants.</dd> - * <dt>int <var>id_pass_prospect</var></dt> - * <dd>If this visit was paid for by an external system, this ID will be set. Otherwise, it will be <tt>0</tt>.</dd> - * <dt>int <var>id_program</var></dt> - * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> - * <dt>int <var>id_visit</var></dt> - * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> - * <dt>bool <var>is_attend</var></dt> - * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> - * <dt>bool <var>is_duration_pass</var></dt> - * <dd>This will be <tt>true</tt> if the Purchase Option used is a duration pass.</dd> - * <dt>bool <var>is_deposit</var></dt> - * <dd>This will be <tt>true</tt> if the client has paid a deposit for the visit.</dd> - * <dt>bool <var>is_early</var></dt> - * <dd>This will be <tt>true</tt> if the client has canceled the visit early, incurring no penalty. - * This will be <tt>false</tt> if canceled late or if not canceled at all. - * </dd> - * <dt>bool <var>is_free</var></dt> - * <dd>This will be <tt>true</tt> if the visit is free.</dd> - * <dt>bool <var>is_hidden</var></dt> - * <dd>This will be <tt>true</tt> if details on this visit should be hidden from staff members.</dd> - * <dt>bool <var>is_penalty</var></dt> - * <dd>This will be <tt>true</tt> if this visit was cancelled late and a penalty is applied.</dd> - * <dt>bool <var>is_promotion_first</var></dt> - * <dd>This will be <tt>true</tt> if this was the first visit for the Purchase Option used.</dd> - * <dt>bool <var>is_promotion_last</var></dt> - * <dd>This will be <tt>true</tt> if this was the latest visit for the Purchase Option used.</dd> - * <dt>bool <var>is_unlimited</var></dt> - * <dd>This will be <tt>true</tt> if the Purchase Option used has no usage limits.</dd> - * <dt>bool <var>is_visit</var></dt> - * <dd>This will be <tt>true</tt> if this visit is still considered valid. - * If visit was removed by the system or a staff member, this will be <tt>false</tt>.</dd> - * <dt>bool <var>is_wait</var></dt> - * <dd>This will be <tt>true</tt> if the visit is on the waiting list.</dd> - * <dt>bool <var>is_wait_confirm</var></dt> - * <dd>This will be <tt>true</tt> if the visit is awaiting confirmation.</dd> - * <dt>bool <var>is_wait_priority</var></dt> - * <dd>This will be <tt>true</tt> if the visit has priority on the wait list.</dd> - * <dt>string <var>k_location</var></dt> - * <dd>The key of the location.</dd> - * <dt>string <var>k_login_promotion</var></dt> - * <dd>The key of the client's Purchase Option.</dd> - * <dt>string <var>k_visit</var></dt> - * <dd>The key of the visit.</dd> - * <dt>array <var>[o_purchase_item]</var></dt> - * <dd>The purchase used to pay for the session.</dd> - * <dt>string <var>s_expire</var></dt> - * <dd>The expiry information for the Purchase Option. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_firstname</var></dt> - * <dd>The client's first name. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_lastname</var></dt> - * <dd>The client's last name. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_note</var></dt> - * <dd>Any notes tied to the client. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>s_promotion</var></dt> - * <dd>The description of the type of Purchase Option. This field is deprecated, use the text_ version instead.</dd> - * <dt>string <var>text_expire</var></dt> - * <dd>The expiry information for the Purchase Option.</dd> - * <dt>string <var>text_firstname</var></dt> - * <dd>The client first name.</dd> - * <dt>string <var>text_lastname</var></dt> - * <dd>The client last name.</dd> - * <dt>string <var>text_note</var></dt> - * <dd>Any notes tied to the client.</dd> - * <dt>string <var>text_promotion</var></dt> - * <dd>The description of the type of Purchase Option.</dd> - * <dt>string <var>text_restrict_title</var></dt> - * <dd>The Purchase Option restriction description. It can be empty string when the Purchase Option has no restrictions.</dd> - * <dt>string <var>text_visit_status_class</var></dt> - * <dd>The class visit status.</dd> - * <dt>string <var>text_visit_status_icon</var></dt> - * <dd>The icon to use for the class visit status.</dd> - * <dt>string <var>text_wearable</var></dt> - * <dd>The wearable device ID.</dd> - * <dt>string <var>uid</var></dt> - * <dd>The client user key.</dd> - * <dt>string <var>uid_book</var></dt> - * <dd> - * The key of the user who made the booking. - * If differing from <tt>uid</tt>, the booking could have been made by a staff or family member. - * </dd> - * <dt>string <var>url-cancel</var></dt> - * <dd>The URL that can be used to cancel the visit.</dd> - * <dt>string <var>url-cancel-admin</var></dt> - * <dd>The URL that can be used by an admin to cancel the visit.</dd> - * <dt>string <var>url-login-view</var></dt> - * <dd>The URL that for the user's page.</dd> - * <dt>string <var>url-mail</var></dt> - * <dd>The URL to a page for sending an email to the client.</dd> - * <dt>string <var>url-profile</var></dt> - * <dd>The URL that for the client's profile.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_list_active; - - /** - * The list of clients who have confirmed their attendance. - * Has the same structure as {@link AttendanceListModel::$a_list_active} property. - * - * @get result - * @var array[] - */ - public $a_list_confirm; - - /** - * The list of clients who are on the wait list. - * Has the same structure as {@link AttendanceListModel::$a_list_active} property. - * - * @get result - * @var array[] - */ - public $a_list_wait; - - /** - * The local date of the class or event session. - * - * @get get - * @var string - */ - public $dt_date_local = ''; - - /** - * The maximum capacity of the class or event session. - * - * @get result - * @var int - */ - public $i_capacity; - - /** - * Count client on the attendance. - * - * @get result - * @var int - */ - public $i_client; - - /** - * The maximum number of clients on wait list of the class or event session. - * - * @get result - * @var int - */ - public $i_wait_list_limit; - - /** - * If <tt>true</tt>, then return the purchase used to pay for session. - * Otherwise <tt>false</tt>, do not return any purchase information. - * - * @get get - * @var bool - */ - public $is_purchase_info_return = false; - - /** - * `true` to use class/event specific wait list limit, `false` to use the limit from default policies. - * `false` for appointments. - * - * @get result - * @var bool - */ - public $is_wait_list_limit; - - /** - * The appointment key. Not used if requesting information for a class or event session. - * - * @get get - * @var string - */ - public $k_appointment = '0'; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The class period key. Not used if requesting information for an appointment. - * - * @get get - * @var string - */ - public $k_class_period = '0'; - - /** - * The Location key. - * - * @get result - * @var string - */ - public $k_location; -} - +<?php + +namespace WellnessLiving\Wl\Login\Attendance; + +use WellnessLiving\Core\a\AGenderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Visit\WlVisitSid; +use WellnessLiving\Wl\WlProgramSid; + +/** + * Retrieves information about clients attending a class, appointment, or event session. + */ +class AttendanceListModel extends WlModelAbstract +{ + /** + * The list of clients in the active attendance list who haven't confirmed or canceled. + * Each element is an array with the following fields: + * <dl> + * <dt>array <var>a_photo</var></dt> + * <dd> + * Information about the user's photo. The information returned has the following structure: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>The height of the photo.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>The width of the photo.</dd> + * <dt>string <var>is_empty</var></dt> + * <dd>This will be <tt>true</tt> if a photo hasn't been set yet.</dd> + * <dt>string <var>s_url</var></dt> + * <dd>The URL of the photo.</dd> + * </dl> + * </dd> + * <dt>array <var>a_progress</var></dt> + * <dd>Information about a user's current progress. By default, this information isn't sent.</dd> + * <dt>array <var>a_quiz</var></dt> + * <dd>Quiz information that concerns current visit.</dd> + * <dt>array <var>a_resource</var></dt> + * <dd>A list of information for any associated resources for this visit.</dd> + * <dt>array <var>a_wait_confirm</var></dt> + * <dd>The list of visit keys for clients on the wait list.</dd> + * <dt>array <var>a_wearable</var></dt> + * <dd>A list of information pertaining to the client's wearables.</dd> + * <dt>bool <var>can_profile</var></dt> + * <dd>If <tt>true</tt>, the current user can access this client profile.</dd> + * <dt>string <var>dt_book</var></dt> + * <dd>The date the session was booked, in UTC.</dd> + * <dt>string <var>dt_date</var></dt> + * <dd>The date of the session, in UTC.</dd> + * <dt>string <var>dt_expire</var></dt> + * <dd>The date the Purchase Option that was used will expire, in UTC.</dd> + * <dt>string <var>dt_register</var></dt> + * <dd>The date the client checked in for the visit, in UTC.</dd> + * <dt>string <var>html_age</var></dt> + * <dd>The client age.</dd> + * <dt>string <var>html_book_by</var></dt> + * <dd>The name of the person who booked this visit.</dd> + * <dt>string <var>html_gender_class</var></dt> + * <dd>The name of the icon to show under gender in the class attendance list.</dd> + * <dt>string <var>html_member</var></dt> + * <dd>The client's member ID, if set.</dd> + * <dt>string <var>html_tooltip_book_by</var></dt> + * <dd>When and where this visit was booked, along with who booked it.</dd> + * <dt>int <var>i</var></dt> + * <dd>The default place in the list to show this client. This is a deprecated copy of the <tt>i_order</tt> field.</dd> + * <dt>int <var>i_left</var></dt> + * <dd>The number of visits left on this Purchase Option. This will be <tt>NULL</tt> if there's no limit.</dd> + * <dt>int <var>i_order</var></dt> + * <dd>The default place in the list to show this client.</dd> + * <dt>int <var>i_total</var></dt> + * <dd>The total visits available from this Purchase Option.</dd> + * <dt>int <var>id_gender</var></dt> + * <dd>The gender ID of the client. One of the {@link AGenderSid} constants.</dd> + * <dt>int <var>id_pass_prospect</var></dt> + * <dd>If this visit was paid for by an external system, this ID will be set. Otherwise, it will be <tt>0</tt>.</dd> + * <dt>int <var>id_program</var></dt> + * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> + * <dt>int <var>id_visit</var></dt> + * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> + * <dt>bool <var>is_attend</var></dt> + * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> + * <dt>bool <var>is_duration_pass</var></dt> + * <dd>This will be <tt>true</tt> if the Purchase Option used is a duration pass.</dd> + * <dt>bool <var>is_deposit</var></dt> + * <dd>This will be <tt>true</tt> if the client has paid a deposit for the visit.</dd> + * <dt>bool <var>is_early</var></dt> + * <dd>This will be <tt>true</tt> if the client has canceled the visit early, incurring no penalty. + * This will be <tt>false</tt> if canceled late or if not canceled at all. + * </dd> + * <dt>bool <var>is_free</var></dt> + * <dd>This will be <tt>true</tt> if the visit is free.</dd> + * <dt>bool <var>is_hidden</var></dt> + * <dd>This will be <tt>true</tt> if details on this visit should be hidden from staff members.</dd> + * <dt>bool <var>is_penalty</var></dt> + * <dd>This will be <tt>true</tt> if this visit was cancelled late and a penalty is applied.</dd> + * <dt>bool <var>is_promotion_first</var></dt> + * <dd>This will be <tt>true</tt> if this was the first visit for the Purchase Option used.</dd> + * <dt>bool <var>is_promotion_last</var></dt> + * <dd>This will be <tt>true</tt> if this was the latest visit for the Purchase Option used.</dd> + * <dt>bool <var>is_unlimited</var></dt> + * <dd>This will be <tt>true</tt> if the Purchase Option used has no usage limits.</dd> + * <dt>bool <var>is_visit</var></dt> + * <dd>This will be <tt>true</tt> if this visit is still considered valid. + * If visit was removed by the system or a staff member, this will be <tt>false</tt>.</dd> + * <dt>bool <var>is_wait</var></dt> + * <dd>This will be <tt>true</tt> if the visit is on the waiting list.</dd> + * <dt>bool <var>is_wait_confirm</var></dt> + * <dd>This will be <tt>true</tt> if the visit is awaiting confirmation.</dd> + * <dt>bool <var>is_wait_priority</var></dt> + * <dd>This will be <tt>true</tt> if the visit has priority on the wait list.</dd> + * <dt>string <var>k_location</var></dt> + * <dd>The key of the location.</dd> + * <dt>string <var>k_login_promotion</var></dt> + * <dd>The key of the client's Purchase Option.</dd> + * <dt>string <var>k_visit</var></dt> + * <dd>The key of the visit.</dd> + * <dt>array <var>[o_purchase_item]</var></dt> + * <dd>The purchase used to pay for the session.</dd> + * <dt>string <var>s_expire</var></dt> + * <dd>The expiry information for the Purchase Option. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_firstname</var></dt> + * <dd>The client's first name. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_lastname</var></dt> + * <dd>The client's last name. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_note</var></dt> + * <dd>Any notes tied to the client. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>s_promotion</var></dt> + * <dd>The description of the type of Purchase Option. This field is deprecated, use the text_ version instead.</dd> + * <dt>string <var>text_expire</var></dt> + * <dd>The expiry information for the Purchase Option.</dd> + * <dt>string <var>text_firstname</var></dt> + * <dd>The client first name.</dd> + * <dt>string <var>text_lastname</var></dt> + * <dd>The client last name.</dd> + * <dt>string <var>text_note</var></dt> + * <dd>Any notes tied to the client.</dd> + * <dt>string <var>text_promotion</var></dt> + * <dd>The description of the type of Purchase Option.</dd> + * <dt>string <var>text_restrict_title</var></dt> + * <dd>The Purchase Option restriction description. It can be empty string when the Purchase Option has no restrictions.</dd> + * <dt>string <var>text_visit_status_class</var></dt> + * <dd>The class visit status.</dd> + * <dt>string <var>text_visit_status_icon</var></dt> + * <dd>The icon to use for the class visit status.</dd> + * <dt>string <var>text_wearable</var></dt> + * <dd>The wearable device ID.</dd> + * <dt>string <var>uid</var></dt> + * <dd>The client user key.</dd> + * <dt>string <var>uid_book</var></dt> + * <dd> + * The key of the user who made the booking. + * If differing from <tt>uid</tt>, the booking could have been made by a staff or family member. + * </dd> + * <dt>string <var>url-cancel</var></dt> + * <dd>The URL that can be used to cancel the visit.</dd> + * <dt>string <var>url-cancel-admin</var></dt> + * <dd>The URL that can be used by an admin to cancel the visit.</dd> + * <dt>string <var>url-login-view</var></dt> + * <dd>The URL that for the user's page.</dd> + * <dt>string <var>url-mail</var></dt> + * <dd>The URL to a page for sending an email to the client.</dd> + * <dt>string <var>url-profile</var></dt> + * <dd>The URL that for the client's profile.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_list_active; + + /** + * The list of clients who have confirmed their attendance. + * Has the same structure as {@link AttendanceListModel::$a_list_active} property. + * + * @get result + * @var array[] + */ + public $a_list_confirm; + + /** + * The list of clients who are on the wait list. + * Has the same structure as {@link AttendanceListModel::$a_list_active} property. + * + * @get result + * @var array[] + */ + public $a_list_wait; + + /** + * The local date of the class or event session. + * + * @get get + * @var string + */ + public $dt_date_local = ''; + + /** + * The maximum capacity of the class or event session. + * + * @get result + * @var int + */ + public $i_capacity; + + /** + * Count client on the attendance. + * + * @get result + * @var int + */ + public $i_client; + + /** + * The maximum number of clients on wait list of the class or event session. + * + * @get result + * @var int + */ + public $i_wait_list_limit; + + /** + * If <tt>true</tt>, then return the purchase used to pay for session. + * Otherwise <tt>false</tt>, do not return any purchase information. + * + * @get get + * @var bool + */ + public $is_purchase_info_return = false; + + /** + * `true` to use class/event specific wait list limit, `false` to use the limit from default policies. + * `false` for appointments. + * + * @get result + * @var bool + */ + public $is_wait_list_limit; + + /** + * The appointment key. Not used if requesting information for a class or event session. + * + * @get get + * @var string + */ + public $k_appointment = '0'; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The class period key. Not used if requesting information for an appointment. + * + * @get get + * @var string + */ + public $k_class_period = '0'; + + /** + * The Location key. + * + * @get result + * @var string + */ + public $k_location; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Coupon/CouponModel.php b/WellnessLiving/Wl/Login/Coupon/CouponModel.php index e32be12f..dfed7259 100644 --- a/WellnessLiving/Wl/Login/Coupon/CouponModel.php +++ b/WellnessLiving/Wl/Login/Coupon/CouponModel.php @@ -1,46 +1,46 @@ -<?php - -namespace WellnessLiving\Wl\Login\Coupon; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves information about a gift card (also referred to as the coupon code). - */ -class CouponModel extends WlModelAbstract -{ - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The gift card reference number for this specific user. WellnessLiving uses this reference number for managing - * gift cards in the system. - * - * @get result - * @var string - */ - public $k_login_coupon; - - /** - * The gift card amount. - * - * @get result - * @var string - */ - public $m_amount; - - /** - * The gift card. - * - * @get get - * @var string - */ - public $s_code; -} - +<?php + +namespace WellnessLiving\Wl\Login\Coupon; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves information about a gift card (also referred to as the coupon code). + */ +class CouponModel extends WlModelAbstract +{ + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The gift card reference number for this specific user. WellnessLiving uses this reference number for managing + * gift cards in the system. + * + * @get result + * @var string + */ + public $k_login_coupon; + + /** + * The gift card amount. + * + * @get result + * @var string + */ + public $m_amount; + + /** + * The gift card. + * + * @get get + * @var string + */ + public $s_code; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Mail/MailUseModel.php b/WellnessLiving/Wl/Login/Mail/MailUseModel.php index ad062f31..e2d6c6b1 100644 --- a/WellnessLiving/Wl/Login/Mail/MailUseModel.php +++ b/WellnessLiving/Wl/Login/Mail/MailUseModel.php @@ -1,38 +1,38 @@ -<?php - -namespace WellnessLiving\Wl\Login\Mail; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint to check if an email address is used by member of a business. - */ -class MailUseModel extends WlModelAbstract -{ - /** - * If <tt>true</tt>, the user with the specified email address exists in specified business. Otherwise, this will - * be <tt>false</tt>. - * - * @get result - * @var bool - */ - public $is_exists; - - /** - * The business for which the email address search is being performed. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The email address to check for. - * - * @get get - * @var string - */ - public $text_mail; -} - +<?php + +namespace WellnessLiving\Wl\Login\Mail; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint to check if an email address is used by member of a business. + */ +class MailUseModel extends WlModelAbstract +{ + /** + * If <tt>true</tt>, the user with the specified email address exists in specified business. Otherwise, this will + * be <tt>false</tt>. + * + * @get result + * @var bool + */ + public $is_exists; + + /** + * The business for which the email address search is being performed. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The email address to check for. + * + * @get get + * @var string + */ + public $text_mail; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Member/MemberModel.php b/WellnessLiving/Wl/Login/Member/MemberModel.php index bec9e11a..1f1ae180 100644 --- a/WellnessLiving/Wl/Login/Member/MemberModel.php +++ b/WellnessLiving/Wl/Login/Member/MemberModel.php @@ -1,68 +1,68 @@ -<?php - -namespace WellnessLiving\Wl\Login\Member; - -use WellnessLiving\WlModelAbstract; - -/** - * Displays information about members of businesses. - */ -class MemberModel extends WlModelAbstract -{ - /** - * A list of businesses where the client is present. Every element is an array with the following keys: - * <dl> - * <dt> - * bool <var>can_enter</var> - * </dt> - * <dd> - * <tt>true</tt> if user is allowed to sign in into this business; <tt>false</tt> otherwise. - * - * </dd> - * <dt> - * bool <var>is_franchisee</var> - * </dt> - * <dd> - * If `true`, then the business is a franchisee. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_franchisor</var> - * </dt> - * <dd> - * If `true`, then the business is a franchisor. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>k_business</var> - * </dt> - * <dd> - * The business key. - * </dd> - * <dt> - * string <var>k_business_franchisor</var> - * </dt> - * <dd> - * The business key of the Enterprise Headquarters account (if applicable). - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title of the business. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_business; - - /** - * The user's key. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Login\Member; + +use WellnessLiving\WlModelAbstract; + +/** + * Displays information about members of businesses. + */ +class MemberModel extends WlModelAbstract +{ + /** + * A list of businesses where the client is present. Every element is an array with the following keys: + * <dl> + * <dt> + * bool <var>can_enter</var> + * </dt> + * <dd> + * <tt>true</tt> if user is allowed to sign in into this business; <tt>false</tt> otherwise. + * + * </dd> + * <dt> + * bool <var>is_franchisee</var> + * </dt> + * <dd> + * If `true`, then the business is a franchisee. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_franchisor</var> + * </dt> + * <dd> + * If `true`, then the business is a franchisor. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>k_business</var> + * </dt> + * <dd> + * The business key. + * </dd> + * <dt> + * string <var>k_business_franchisor</var> + * </dt> + * <dd> + * The business key of the Enterprise Headquarters account (if applicable). + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title of the business. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_business; + + /** + * The user's key. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Member/MemberValidateModel.php b/WellnessLiving/Wl/Login/Member/MemberValidateModel.php index 627ff057..77be264d 100644 --- a/WellnessLiving/Wl/Login/Member/MemberValidateModel.php +++ b/WellnessLiving/Wl/Login/Member/MemberValidateModel.php @@ -1,102 +1,102 @@ -<?php - -namespace WellnessLiving\Wl\Login\Member; - -use WellnessLiving\WlModelAbstract; - -/** - * Checking whether there is something that prevents the user from using the business. - */ -class MemberValidateModel extends WlModelAbstract -{ - /** - * List of fields if the user has empty profile fields, which are required for booking. - * - * @get result - * @var array - */ - public $a_empty_fields_booking = []; - - /** - * List of fields if the user has empty profile fields, which are required for registration. - * - * @get result - * @var array - */ - public $a_empty_fields_registration = []; - - /** - * `true` If the user has credit cards on profile, otherwise `false`. - * - * @get result - * @var bool - */ - public $has_credit_card = false; - - /** - * `true` if the user has an outstanding contract, otherwise `false`. - * - * @get result - * @var bool - */ - public $has_outstanding_contract = false; - - /** - * `true` If the user has an outstanding waiver for the business, otherwise `false`. - * - * @get result - * @var bool - */ - public $has_outstanding_waiver = false; - - /** - * `true` If the user has pending registration quizzes to complete, otherwise `false`. - * - * @get result - * @var bool - */ - public $has_pending_quizzes = false; - - /** - * `true` If the user has to provide credit card details before booking, otherwise `false`. - * - * @get result - * @var bool - */ - public $is_booking_require_card = false; - - /** - * `true` If the user has to provide credit card details to finish their registration, otherwise `false`. - * - * @get result - * @var bool - */ - public $is_register_require_card = false; - - /** - * Key of the business. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * Home user`s location. - * `null` if user has not home location. - * - * @get result - * @var string|null - */ - public $k_location = null; - - /** - * The user's key. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Login\Member; + +use WellnessLiving\WlModelAbstract; + +/** + * Checking whether there is something that prevents the user from using the business. + */ +class MemberValidateModel extends WlModelAbstract +{ + /** + * List of fields if the user has empty profile fields, which are required for booking. + * + * @get result + * @var array + */ + public $a_empty_fields_booking = []; + + /** + * List of fields if the user has empty profile fields, which are required for registration. + * + * @get result + * @var array + */ + public $a_empty_fields_registration = []; + + /** + * `true` If the user has credit cards on profile, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_credit_card = false; + + /** + * `true` if the user has an outstanding contract, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_outstanding_contract = false; + + /** + * `true` If the user has an outstanding waiver for the business, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_outstanding_waiver = false; + + /** + * `true` If the user has pending registration quizzes to complete, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_pending_quizzes = false; + + /** + * `true` If the user has to provide credit card details before booking, otherwise `false`. + * + * @get result + * @var bool + */ + public $is_booking_require_card = false; + + /** + * `true` If the user has to provide credit card details to finish their registration, otherwise `false`. + * + * @get result + * @var bool + */ + public $is_register_require_card = false; + + /** + * Key of the business. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Home user`s location. + * `null` if user has not home location. + * + * @get result + * @var string|null + */ + public $k_location = null; + + /** + * The user's key. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Permission/PermissionModel.php b/WellnessLiving/Wl/Login/Permission/PermissionModel.php index 42ca91d9..6f21984d 100644 --- a/WellnessLiving/Wl/Login/Permission/PermissionModel.php +++ b/WellnessLiving/Wl/Login/Permission/PermissionModel.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Login\Permission; - -use WellnessLiving\WlModelAbstract; - -/** - * Makes a purchased promotion auto-renewable. - * - * The POST method makes the promotion auto-renewable based on the {@link PermissionModel::$is_renew} parameter. - */ -class PermissionModel extends WlModelAbstract -{ - /** - * If `true`, the purchased promotion has been made auto-renewable. Otherwise, this will be `false`. - * - * @post post - * @var bool - */ - public $is_renew = false; - - /** - * The key of the purchased promotion. - * - * @post get - * @var string - */ - public $k_login_promotion = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Login\Permission; + +use WellnessLiving\WlModelAbstract; + +/** + * Makes a purchased promotion auto-renewable. + * + * The POST method makes the promotion auto-renewable based on the {@link PermissionModel::$is_renew} parameter. + */ +class PermissionModel extends WlModelAbstract +{ + /** + * If `true`, the purchased promotion has been made auto-renewable. Otherwise, this will be `false`. + * + * @post post + * @var bool + */ + public $is_renew = false; + + /** + * The key of the purchased promotion. + * + * @post get + * @var string + */ + public $k_login_promotion = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php index d37e904a..1390052c 100644 --- a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php +++ b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php @@ -1,194 +1,194 @@ -<?php - -namespace WellnessLiving\Wl\Login\Promotion\Convert; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Promotion\Convert\PromotionConvertSid; -use WellnessLiving\Wl\WlProgramSid; - -/** - * Receives convertable Purchase Option data and promotion conversions. - * - * The DELETE method will remove the conversion and reset the date. - * The GET method will return a list of promotions available at the business. - * The POST method can be used to change what the Purchase Option should convert to and when to convert it. - */ -class ConvertModel extends WlModelAbstract -{ - /** - * Promotion data containing the following structure:<dl> - * <dt>string <var>k_promotion</var></dt> - * <dd>The promotion key.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The title of the promotion.</dd> - * <dt>int <var>id_program</var></dt> - * <dd>One of {@link WlProgramSid} constants.</dd> - * <dt>bool <var>is_select</var></dt> - * <dd>If <tt>true</tt>, the promotion is related to the service. Otherwise, this will be <tt>false</tt>.</dd> - * </dl>. - * - * @get result - * @var array[] - */ - public $a_promotion; - - /** - * The conversion date, in the local time zone. - * - * @post get - * @var string - */ - public $dl_convert = ''; - - /** - * The last date on what conversion can be scheduled. - * - * @get result - * @var string - */ - public $dl_convert_max = ''; - - /** - * The first date on what conversion can be scheduled. - * - * @get result - * @var string - */ - public $dl_convert_min = ''; - - /** - * Local date, when hold ends, if PO is on hold right now. - * Empty if PO is not on hold, or hold is endless. - * - * @get result - * @var string - */ - public $dl_hold_end = ''; - - /** - * Local date, when hold starts, if PO is on hold right now. - * Empty if PO is not on hold. - * - * @get result - * @var string - */ - public $dl_hold_start = ''; - - /** - * The conversion ID. One of the {@link PromotionConvertSid} constants. - * - * @get result - * @post get - * @var string - */ - public $id_convert = null; - - /** - * When conversion should be done. One of the {@link ConvertWhenSid} constants. - * - * `null` if it's not set yet. - * - * @get result - * @post get - * @var int|null - */ - public $id_convert_when = null; - - /** - * Determines whether the conversion request is new or editing an existing conversion. - * - * If `true`, the conversion exists. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_edit = false; - - /** - * `true` if PO is going to be renewed and not converted. - * `false` if PO is going to expire or to convert. - * - * @get result - * @var bool - */ - public $is_renew = false; - - /** - * The business key. - * - * @delete get - * @get get - * @post get - * @var string - */ - public $k_business = ''; - - /** - * The login promotion key. - * - * @delete get - * @get get - * @post get - * @var string - */ - public $k_login_promotion = ''; - - /** - * The promotion key the given promotion will be converted to. - * - * @post get - * @var string - */ - public $k_promotion_to = ''; - - /** - * The existing conversion date, returned as a string for the datepicker. - * - * @get result - * @var string - */ - public $s_date_convert = ''; - - /** - * The current date, returned as a string. - * - * @get result - * @var string - */ - public $s_date_now = ''; - - /** - * The Purchase Option title. - * - * @get result - * @var string - */ - public $s_title = ''; - - /** - * Expiration date in string user-friendly format. - * - * @get result - * @var string - */ - public $text_date_expire = ''; - - /** - * Next payment date in string user-friendly format. - * - * @get result - * @var string - */ - public $text_date_payment = ''; - - /** - * The note for the promotion conversion. - * - * @get result - * @post get - * @var string|null - */ - public $text_note = ''; -} - +<?php + +namespace WellnessLiving\Wl\Login\Promotion\Convert; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Promotion\Convert\PromotionConvertSid; +use WellnessLiving\Wl\WlProgramSid; + +/** + * Receives convertable Purchase Option data and promotion conversions. + * + * The DELETE method will remove the conversion and reset the date. + * The GET method will return a list of promotions available at the business. + * The POST method can be used to change what the Purchase Option should convert to and when to convert it. + */ +class ConvertModel extends WlModelAbstract +{ + /** + * Promotion data containing the following structure:<dl> + * <dt>string <var>k_promotion</var></dt> + * <dd>The promotion key.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The title of the promotion.</dd> + * <dt>int <var>id_program</var></dt> + * <dd>One of {@link WlProgramSid} constants.</dd> + * <dt>bool <var>is_select</var></dt> + * <dd>If <tt>true</tt>, the promotion is related to the service. Otherwise, this will be <tt>false</tt>.</dd> + * </dl>. + * + * @get result + * @var array[] + */ + public $a_promotion; + + /** + * The conversion date, in the local time zone. + * + * @post get + * @var string + */ + public $dl_convert = ''; + + /** + * The last date on what conversion can be scheduled. + * + * @get result + * @var string + */ + public $dl_convert_max = ''; + + /** + * The first date on what conversion can be scheduled. + * + * @get result + * @var string + */ + public $dl_convert_min = ''; + + /** + * Local date, when hold ends, if PO is on hold right now. + * Empty if PO is not on hold, or hold is endless. + * + * @get result + * @var string + */ + public $dl_hold_end = ''; + + /** + * Local date, when hold starts, if PO is on hold right now. + * Empty if PO is not on hold. + * + * @get result + * @var string + */ + public $dl_hold_start = ''; + + /** + * The conversion ID. One of the {@link PromotionConvertSid} constants. + * + * @get result + * @post get + * @var string + */ + public $id_convert = null; + + /** + * When conversion should be done. One of the {@link ConvertWhenSid} constants. + * + * `null` if it's not set yet. + * + * @get result + * @post get + * @var int|null + */ + public $id_convert_when = null; + + /** + * Determines whether the conversion request is new or editing an existing conversion. + * + * If `true`, the conversion exists. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_edit = false; + + /** + * `true` if PO is going to be renewed and not converted. + * `false` if PO is going to expire or to convert. + * + * @get result + * @var bool + */ + public $is_renew = false; + + /** + * The business key. + * + * @delete get + * @get get + * @post get + * @var string + */ + public $k_business = ''; + + /** + * The login promotion key. + * + * @delete get + * @get get + * @post get + * @var string + */ + public $k_login_promotion = ''; + + /** + * The promotion key the given promotion will be converted to. + * + * @post get + * @var string + */ + public $k_promotion_to = ''; + + /** + * The existing conversion date, returned as a string for the datepicker. + * + * @get result + * @var string + */ + public $s_date_convert = ''; + + /** + * The current date, returned as a string. + * + * @get result + * @var string + */ + public $s_date_now = ''; + + /** + * The Purchase Option title. + * + * @get result + * @var string + */ + public $s_title = ''; + + /** + * Expiration date in string user-friendly format. + * + * @get result + * @var string + */ + public $text_date_expire = ''; + + /** + * Next payment date in string user-friendly format. + * + * @get result + * @var string + */ + public $text_date_payment = ''; + + /** + * The note for the promotion conversion. + * + * @get result + * @post get + * @var string|null + */ + public $text_note = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php index a218d31e..e55e29cb 100644 --- a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php +++ b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Login\Promotion\Convert; - -/** - * Different types of conversion behavior: when and how it should be converted. - */ -class ConvertWhenSid -{ - /** - * Purchase Option converts one day after the scheduled expiration date and the client is charged for the new purchase option. - */ - const EXPIRATION_PAID = 1; - - /** - * Purchase Option converts now and the client is not charged for the new Purchase Option. - */ - const NOW_FREE = 2; - - /** - * Purchase Option converts now and the client is changed for the new Purchase Option. - */ - const NOW_PAID = 3; - - /** - * Purchase Option converts on the specified date and the client is charged for the new Purchase Option. - */ - const SCHEDULE_PAID = 4; -} - +<?php + +namespace WellnessLiving\Wl\Login\Promotion\Convert; + +/** + * Different types of conversion behavior: when and how it should be converted. + */ +class ConvertWhenSid +{ + /** + * Purchase Option converts one day after the scheduled expiration date and the client is charged for the new purchase option. + */ + const EXPIRATION_PAID = 1; + + /** + * Purchase Option converts now and the client is not charged for the new Purchase Option. + */ + const NOW_FREE = 2; + + /** + * Purchase Option converts now and the client is changed for the new Purchase Option. + */ + const NOW_PAID = 3; + + /** + * Purchase Option converts on the specified date and the client is charged for the new Purchase Option. + */ + const SCHEDULE_PAID = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Promotion/PromotionPayPauseModel.php b/WellnessLiving/Wl/Login/Promotion/PromotionPayPauseModel.php index a72fc94c..ce38adf5 100644 --- a/WellnessLiving/Wl/Login/Promotion/PromotionPayPauseModel.php +++ b/WellnessLiving/Wl/Login/Promotion/PromotionPayPauseModel.php @@ -1,142 +1,142 @@ -<?php - -namespace WellnessLiving\Wl\Login\Promotion; - -use WellnessLiving\WlModelAbstract; - -/** - * Manages or retrieves information about holds on Purchase Options. - * - * The DELETE method can remove a hold. - * The GET method only returns information about active holds. - * The POST method can create or edit a hold. - * The PUT method can edit a hold. - */ -class PromotionPayPauseModel extends WlModelAbstract -{ - /** - * List of all promotion payment pause periods. Each element has next structure:<dl> - * <dt>string|null <var>dl_create</var></dt> - * <dd>Date when this hold period was created. <tt>null</tt> for old records.</dd> - * <dt>string <var>dl_end</var></dt> - * <dd> - * Ending date of the pause (inclusively - this date is paused). - * This field contains zero date for promotions placed on hold indefinitely. - * </dd> - * <dt>string <var>dl_start</var></dt> - * <dd>Starting date of the pause (inclusively - this date is paused).</dd> - * <dt>int|null <var>i_hold_day</var></dt> - * <dd>Duration of the hold in days. <tt>null</tt> if the hold is ongoing.</dd> - * <dt>bool <var>is_past</var></dt> - * <dd>Whether the hold is in past.</dd> - * <dt>string <var>k_promotion_pay_pause</var></dt> - * <dd>Key of the hold period.</dd> - * <dt>string|null <var>text_note</var></dt> - * <dd>Additional notes.</dd> - * <dt>string|null <var>text_user_create</var></dt> - * <dd>Full name of a user that has created hold period. <tt>null</tt> for old records.</dd> - * <dt>string|null <var>uid_create</var></dt> - * <dd>Key of a user that has created hold period. <tt>null</tt> for old records.</dd> - * </dl> - * - * <tt>null</tt> if {@link PromotionPayPauseModel::$is_list} is false. - * - * @get result - * @var array[]|null - */ - public $a_pay_pause_list = null; - - /** - * The end date of the current hold, in the local time zone. - * This can be set to a special value to make the period indefinite until further action. - * - * `null` if it shouldn't be updated. - * - * @get get,result - * @post get - * @put get - * @var string|null - */ - public $dt_end = null; - - /** - * The start date of the current hold, in the local time zone. - * - * `null` if it shouldn't be updated. - * - * @get get,result - * @post get - * @put get - * @var string|null - */ - public $dt_start = null; - - /** - * Whether need to get all pause periods for the login promotion. - * If <tt>true</tt> then {@link PromotionPayPauseModel::$a_pay_pause_list} will be returned. - * If <tt>false</tt> then information about specified {@link PromotionPayPauseModel::$k_promotion_pay_pause} or - * currently active pause period will be returned ({@link PromotionPayPauseModel::$dt_start}, - * {@link PromotionPayPauseModel::$dt_end} and {@link PromotionPayPauseModel::$text_note}). - * - * @get get - * @var bool - */ - public $is_list = false; - - /** - * Key of business to which currently handled pause period or login promotion belongs. - * - * <tt>null</tt> if not initialized. - * - * @delete get - * @get get - * @post get - * @put get - * @var string|null - */ - public $k_business = null; - - /** - * The Purchase Option key. If this key is used, a new hold will be created. The endpoint will return a `start-cross` - * status code if a hold is already in place. - * - * Ignored if {@link PromotionPayPauseModel::$k_promotion_pay_pause} is provided. - * - * `null` if not yet initialized. - * - * @delete get - * @get get,result - * @post get - * @var string|null - */ - public $k_login_promotion = null; - - /** - * The promotion payment hold key. If this key is used, it will edit an existing hold. - * This key will be empty if there's no active hold in place or if a scheduled hold isn't in effect. - * - * `null` if not yet initialized or if the request is based on {@link PromotionPayPauseModel::$k_login_promotion}. - * - * @delete get - * @get get,result - * @post get,result - * @put get,result - * @var string|null - */ - public $k_promotion_pay_pause = null; - - /** - * Additional notes for the promotion payment pause period. - * Leave this field as `null` if the note shouldn't be updated. - * - * `null` if it shouldn't be updated. - * - * @get result - * @post post - * @put post - * @var string|null - */ - public $text_note = null; -} - +<?php + +namespace WellnessLiving\Wl\Login\Promotion; + +use WellnessLiving\WlModelAbstract; + +/** + * Manages or retrieves information about holds on Purchase Options. + * + * The DELETE method can remove a hold. + * The GET method only returns information about active holds. + * The POST method can create or edit a hold. + * The PUT method can edit a hold. + */ +class PromotionPayPauseModel extends WlModelAbstract +{ + /** + * List of all promotion payment pause periods. Each element has next structure:<dl> + * <dt>string|null <var>dl_create</var></dt> + * <dd>Date when this hold period was created. <tt>null</tt> for old records.</dd> + * <dt>string <var>dl_end</var></dt> + * <dd> + * Ending date of the pause (inclusively - this date is paused). + * This field contains zero date for promotions placed on hold indefinitely. + * </dd> + * <dt>string <var>dl_start</var></dt> + * <dd>Starting date of the pause (inclusively - this date is paused).</dd> + * <dt>int|null <var>i_hold_day</var></dt> + * <dd>Duration of the hold in days. <tt>null</tt> if the hold is ongoing.</dd> + * <dt>bool <var>is_past</var></dt> + * <dd>Whether the hold is in past.</dd> + * <dt>string <var>k_promotion_pay_pause</var></dt> + * <dd>Key of the hold period.</dd> + * <dt>string|null <var>text_note</var></dt> + * <dd>Additional notes.</dd> + * <dt>string|null <var>text_user_create</var></dt> + * <dd>Full name of a user that has created hold period. <tt>null</tt> for old records.</dd> + * <dt>string|null <var>uid_create</var></dt> + * <dd>Key of a user that has created hold period. <tt>null</tt> for old records.</dd> + * </dl> + * + * <tt>null</tt> if {@link PromotionPayPauseModel::$is_list} is false. + * + * @get result + * @var array[]|null + */ + public $a_pay_pause_list = null; + + /** + * The end date of the current hold, in the local time zone. + * This can be set to a special value to make the period indefinite until further action. + * + * `null` if it shouldn't be updated. + * + * @get get,result + * @post get + * @put get + * @var string|null + */ + public $dt_end = null; + + /** + * The start date of the current hold, in the local time zone. + * + * `null` if it shouldn't be updated. + * + * @get get,result + * @post get + * @put get + * @var string|null + */ + public $dt_start = null; + + /** + * Whether need to get all pause periods for the login promotion. + * If <tt>true</tt> then {@link PromotionPayPauseModel::$a_pay_pause_list} will be returned. + * If <tt>false</tt> then information about specified {@link PromotionPayPauseModel::$k_promotion_pay_pause} or + * currently active pause period will be returned ({@link PromotionPayPauseModel::$dt_start}, + * {@link PromotionPayPauseModel::$dt_end} and {@link PromotionPayPauseModel::$text_note}). + * + * @get get + * @var bool + */ + public $is_list = false; + + /** + * Key of business to which currently handled pause period or login promotion belongs. + * + * <tt>null</tt> if not initialized. + * + * @delete get + * @get get + * @post get + * @put get + * @var string|null + */ + public $k_business = null; + + /** + * The Purchase Option key. If this key is used, a new hold will be created. The endpoint will return a `start-cross` + * status code if a hold is already in place. + * + * Ignored if {@link PromotionPayPauseModel::$k_promotion_pay_pause} is provided. + * + * `null` if not yet initialized. + * + * @delete get + * @get get,result + * @post get + * @var string|null + */ + public $k_login_promotion = null; + + /** + * The promotion payment hold key. If this key is used, it will edit an existing hold. + * This key will be empty if there's no active hold in place or if a scheduled hold isn't in effect. + * + * `null` if not yet initialized or if the request is based on {@link PromotionPayPauseModel::$k_login_promotion}. + * + * @delete get + * @get get,result + * @post get,result + * @put get,result + * @var string|null + */ + public $k_promotion_pay_pause = null; + + /** + * Additional notes for the promotion payment pause period. + * Leave this field as `null` if the note shouldn't be updated. + * + * `null` if it shouldn't be updated. + * + * @get result + * @post post + * @put post + * @var string|null + */ + public $text_note = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Type/SystemSid.php b/WellnessLiving/Wl/Login/Type/SystemSid.php index f316461f..21ac6bf5 100644 --- a/WellnessLiving/Wl/Login/Type/SystemSid.php +++ b/WellnessLiving/Wl/Login/Type/SystemSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Login\Type; - -/** - * System default client/member types. - * - * If user purchases any membership it becomes member. - * If user purchases any pass it becomes client. - * - * Last ID: 3. - */ -class SystemSid -{ - /** - * Active client or member. - */ - const ACTIVE = 1; - - /** - * Inactive client or member. - */ - const INACTIVE = 2; - - /** - * Newcomer, who has not bought anything that can make him a regular client of the business. - */ - const PROSPECT = 3; -} - +<?php + +namespace WellnessLiving\Wl\Login\Type; + +/** + * System default client/member types. + * + * If user purchases any membership it becomes member. + * If user purchases any pass it becomes client. + * + * Last ID: 3. + */ +class SystemSid +{ + /** + * Active client or member. + */ + const ACTIVE = 1; + + /** + * Inactive client or member. + */ + const INACTIVE = 2; + + /** + * Newcomer, who has not bought anything that can make him a regular client of the business. + */ + const PROSPECT = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Mail/SendMailModel.php b/WellnessLiving/Wl/Mail/SendMailModel.php index f5b16173..e8aed96d 100644 --- a/WellnessLiving/Wl/Mail/SendMailModel.php +++ b/WellnessLiving/Wl/Mail/SendMailModel.php @@ -1,77 +1,77 @@ -<?php - -namespace WellnessLiving\Wl\Mail; - -use WellnessLiving\WlModelAbstract; - -/** - * Can be used to send email messages. - */ -class SendMailModel extends WlModelAbstract -{ - /** - * The business key. - * - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The business's mailing address. - * - * @post post - * @var string - */ - public $s_business_mail = ''; - - /** - * The business name. - * - * @post post - * @var string - */ - public $s_business_name = ''; - - /** - * The business's reply. - * - * @post post - * @var string - */ - public $s_business_reply = ''; - - /** - * The campaign name. - * - * @post post - * @var string - */ - public $s_campaign = ''; - - /** - * The message recipient's address. - * - * @post post - * @var string - */ - public $s_mail = ''; - - /** - * The message's subject line. - * - * @post post - * @var string - */ - public $s_subject = ''; - - /** - * The message content. - * - * @post post - * @var string - */ - public $z_html = ''; -} - +<?php + +namespace WellnessLiving\Wl\Mail; + +use WellnessLiving\WlModelAbstract; + +/** + * Can be used to send email messages. + */ +class SendMailModel extends WlModelAbstract +{ + /** + * The business key. + * + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The business's mailing address. + * + * @post post + * @var string + */ + public $s_business_mail = ''; + + /** + * The business name. + * + * @post post + * @var string + */ + public $s_business_name = ''; + + /** + * The business's reply. + * + * @post post + * @var string + */ + public $s_business_reply = ''; + + /** + * The campaign name. + * + * @post post + * @var string + */ + public $s_campaign = ''; + + /** + * The message recipient's address. + * + * @post post + * @var string + */ + public $s_mail = ''; + + /** + * The message's subject line. + * + * @post post + * @var string + */ + public $s_subject = ''; + + /** + * The message content. + * + * @post post + * @var string + */ + public $z_html = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Member/Group/GroupList/ListModel.php b/WellnessLiving/Wl/Member/Group/GroupList/ListModel.php index c1c4c211..3b98bb8d 100644 --- a/WellnessLiving/Wl/Member/Group/GroupList/ListModel.php +++ b/WellnessLiving/Wl/Member/Group/GroupList/ListModel.php @@ -1,88 +1,88 @@ -<?php - -namespace WellnessLiving\Wl\Member\Group\GroupList; - -use WellnessLiving\WlModelAbstract; - -/** - * Member groups list. - */ -class ListModel extends WlModelAbstract -{ - /** - * Member groups list: - * <dl> - * <dt> - * string <var>k_member_group</var> - * </dt> - * <dd> - * The key of the member group. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The name of the member group. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_member_group; - - /** - * List of groups to be deleted. - * - * @delete post - * @var array - */ - public $a_member_group_delete = []; - - /** - * List of groups in the order in which they will be saved. - * - * @put post - * @var array - */ - public $a_member_group_order = []; - - /** - * List of groups for filtering groups of business. - * - * `null` in the case when need to return all groups of business. - * - * @get get - * @var array|null - */ - public $a_member_group_select = null; - - /** - * Whether include "Isaac Churn Risk" group. - * - * @get get - * @var bool - */ - public $is_churn_risk = false; - - /** - * Whether include a list of members of groups. - * - * @get get - * @var bool - */ - public $is_return_members = false; - - /** - * The business key. - * - * @delete get - * @get get - * @post get - * @put get - * @var string - */ - public $k_business = null; -} - +<?php + +namespace WellnessLiving\Wl\Member\Group\GroupList; + +use WellnessLiving\WlModelAbstract; + +/** + * Member groups list. + */ +class ListModel extends WlModelAbstract +{ + /** + * Member groups list: + * <dl> + * <dt> + * string <var>k_member_group</var> + * </dt> + * <dd> + * The key of the member group. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The name of the member group. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_member_group; + + /** + * List of groups to be deleted. + * + * @delete post + * @var array + */ + public $a_member_group_delete = []; + + /** + * List of groups in the order in which they will be saved. + * + * @put post + * @var array + */ + public $a_member_group_order = []; + + /** + * List of groups for filtering groups of business. + * + * `null` in the case when need to return all groups of business. + * + * @get get + * @var array|null + */ + public $a_member_group_select = null; + + /** + * Whether include "Isaac Churn Risk" group. + * + * @get get + * @var bool + */ + public $is_churn_risk = false; + + /** + * Whether include a list of members of groups. + * + * @get get + * @var bool + */ + public $is_return_members = false; + + /** + * The business key. + * + * @delete get + * @get get + * @post get + * @put get + * @var string + */ + public $k_business = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Member/Purchase/MemberByPromotionModel.php b/WellnessLiving/Wl/Member/Purchase/MemberByPromotionModel.php index 5a4319e9..75a7bb3c 100644 --- a/WellnessLiving/Wl/Member/Purchase/MemberByPromotionModel.php +++ b/WellnessLiving/Wl/Member/Purchase/MemberByPromotionModel.php @@ -1,71 +1,71 @@ -<?php - -namespace WellnessLiving\Wl\Member\Purchase; - -use WellnessLiving\WlModelAbstract; - -/** - * Returns a list of active clients with the given Purchase Options. - * - * This endpoint returns only active clients using active Purchase Options from the given list. - * - * Does not return clients, to which currently signed-in user does not have access to. - */ -class MemberByPromotionModel extends WlModelAbstract -{ - /** - * The list of active clients with the given Purchase Options. - * - * <dl> - * <dt>array[] <var>a_purchase_options</var></dt> - * <dd> - * The list of active Purchase Options. Each element has: - * - * <dl> - * <dt>string|null <var>dl_end</var></dt> - * <dd>The date in the location time zone when the Purchase Option expires. - * This will be `null` if the Purchase Option doesn't expire.</dd> - * <dt>string <var>dtu_purchase</var></dt> - * <dd>The global date and time when the Purchase Option was sold.</dd> - * <dt>string|null <var>dl_start</var></dt> - * <dd>The date in location's time zone when the Purchase Option starts. - * This will be `null` if not defined yet. For example, if the starting date is the date of the first visit - * and there haven't been any visits yet.</dd> - * <dt>string|null <var>dl_terminate</var></dt> - * <dd>The date in location time zone when the Purchase Option will be terminated. - * This will be `null` if the Purchase Option isn't scheduled to be terminated.</dd> - * <dt>string <var>k_promotion</var></dt> - * <dd>The key of the Purchase Option.</dd> - * </dl> - * </dd> - * - * <dt>string <var>uid</var></dt> - * <dd>The key of the client.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_clients = []; - - /** - * The key of the business for which to get a list of clients. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The comma-separated list of the Purchase Option keys. - * Only active clients with at least one active Purchase Option from this list will be returned. - * - * For example: '324,123,11,556' - * - * @get get - * @var string - */ - public $s_promotion_keys = ''; -} - +<?php + +namespace WellnessLiving\Wl\Member\Purchase; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns a list of active clients with the given Purchase Options. + * + * This endpoint returns only active clients using active Purchase Options from the given list. + * + * Does not return clients, to which currently signed-in user does not have access to. + */ +class MemberByPromotionModel extends WlModelAbstract +{ + /** + * The list of active clients with the given Purchase Options. + * + * <dl> + * <dt>array[] <var>a_purchase_options</var></dt> + * <dd> + * The list of active Purchase Options. Each element has: + * + * <dl> + * <dt>string|null <var>dl_end</var></dt> + * <dd>The date in the location time zone when the Purchase Option expires. + * This will be `null` if the Purchase Option doesn't expire.</dd> + * <dt>string <var>dtu_purchase</var></dt> + * <dd>The global date and time when the Purchase Option was sold.</dd> + * <dt>string|null <var>dl_start</var></dt> + * <dd>The date in location's time zone when the Purchase Option starts. + * This will be `null` if not defined yet. For example, if the starting date is the date of the first visit + * and there haven't been any visits yet.</dd> + * <dt>string|null <var>dl_terminate</var></dt> + * <dd>The date in location time zone when the Purchase Option will be terminated. + * This will be `null` if the Purchase Option isn't scheduled to be terminated.</dd> + * <dt>string <var>k_promotion</var></dt> + * <dd>The key of the Purchase Option.</dd> + * </dl> + * </dd> + * + * <dt>string <var>uid</var></dt> + * <dd>The key of the client.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_clients = []; + + /** + * The key of the business for which to get a list of clients. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The comma-separated list of the Purchase Option keys. + * Only active clients with at least one active Purchase Option from this list will be returned. + * + * For example: '324,123,11,556' + * + * @get get + * @var string + */ + public $s_promotion_keys = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Microsoft/Login/MicrosoftLoginModel.php b/WellnessLiving/Wl/Microsoft/Login/MicrosoftLoginModel.php index 02bb814d..7518343c 100644 --- a/WellnessLiving/Wl/Microsoft/Login/MicrosoftLoginModel.php +++ b/WellnessLiving/Wl/Microsoft/Login/MicrosoftLoginModel.php @@ -1,88 +1,88 @@ -<?php - -namespace WellnessLiving\Wl\Microsoft\Login; - -use WellnessLiving\Social\Microsoft\LoginModel; -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint that performs authorization actions with Microsoft. - */ -class MicrosoftLoginModel extends WlModelAbstract -{ - /** - * If `true`, the user has a bound Microsoft account. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_exists = false; - - /** - * If authorization is performed in a third-party application, set this flag in case of authorization errors. - * - * @post get - * @var bool - */ - public $is_external = false; - - /** - * Business in which authorization is performed. - * - * @post post - * @var string - */ - public $k_business = ''; - - /** - * The authorization code that the app requested. - * - * @post post - * @var string - */ - public $s_code = ''; - - /** - * If a state parameter is included in the request, the same value should appear in the response. - * The app should verify that the state values in the request and response are identical. - * - * @post post - * @var string - */ - public $s_state = ''; - - /** - * The client for whom the Microsoft account will be unlinked. - * - * @delete get - * @get get - * @var string - */ - public $uid = ''; - - /** - * The Microsoft OAuth 2.0 authorization link. - * - * @get result - * @var string - */ - public $url_login = ''; - - /** - * The Redirect URI for external applications. - * The link to the page on which Microsoft will return the result after authorization. - * - * * All possible links must be registered in the Microsoft application used for authorization. - * * WARNING: Do not use this link for a direct redirect. This will present a vulnerability. - * - * * A {@link LoginModel::$url_login} link will be generated along with this redirect URI. - * * When checking the received {@link LoginModel::$s_code} from Microsoft. - * - * @get get - * @post get - * @var string - */ - public $url_redirect = ''; -} - +<?php + +namespace WellnessLiving\Wl\Microsoft\Login; + +use WellnessLiving\Social\Microsoft\LoginModel; +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint that performs authorization actions with Microsoft. + */ +class MicrosoftLoginModel extends WlModelAbstract +{ + /** + * If `true`, the user has a bound Microsoft account. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_exists = false; + + /** + * If authorization is performed in a third-party application, set this flag in case of authorization errors. + * + * @post get + * @var bool + */ + public $is_external = false; + + /** + * Business in which authorization is performed. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * The authorization code that the app requested. + * + * @post post + * @var string + */ + public $s_code = ''; + + /** + * If a state parameter is included in the request, the same value should appear in the response. + * The app should verify that the state values in the request and response are identical. + * + * @post post + * @var string + */ + public $s_state = ''; + + /** + * The client for whom the Microsoft account will be unlinked. + * + * @delete get + * @get get + * @var string + */ + public $uid = ''; + + /** + * The Microsoft OAuth 2.0 authorization link. + * + * @get result + * @var string + */ + public $url_login = ''; + + /** + * The Redirect URI for external applications. + * The link to the page on which Microsoft will return the result after authorization. + * + * * All possible links must be registered in the Microsoft application used for authorization. + * * WARNING: Do not use this link for a direct redirect. This will present a vulnerability. + * + * * A {@link LoginModel::$url_login} link will be generated along with this redirect URI. + * * When checking the received {@link LoginModel::$s_code} from Microsoft. + * + * @get get + * @post get + * @var string + */ + public $url_redirect = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Mode/ModeSid.php b/WellnessLiving/Wl/Mode/ModeSid.php index d13f5f41..b0c585f0 100644 --- a/WellnessLiving/Wl/Mode/ModeSid.php +++ b/WellnessLiving/Wl/Mode/ModeSid.php @@ -1,135 +1,135 @@ -<?php - -namespace WellnessLiving\Wl\Mode; - -/** - * The source of visit. - * - * Last used ID: 25. - */ -class ModeSid -{ - /** - * Registered through <tt>Azure</tt>. - */ - const AZURE = 21; - - /** - * Visit has been created by <tt>CENTRED</tt>. - */ - const CENTRED = 23; - - /** - * Visit has been created by <tt>ClassPass</tt>. - */ - const CLASSPASS_BOOKING = 8; - - /** - * Debt paid via collections. - */ - const COLLECTIONS = 22; - - /** - * Action made via email. - */ - const EMAIL = 18; - - /** - * Indicating that the source is Facebook. - */ - const FACEBOOK = 20; - - /** - * Indicating that the source is Google. - */ - const GOOGLE = 19; - - /** - * Visit has been created by Google Booking Service. - */ - const GOOGLE_BOOKING = 7; - - /** - * Visit has been created by <tt>GymPass</tt>. - */ - const GYMPASS_BOOKING = 14; - - /** - * Visit was created during import. - */ - const IMPORT = 5; - - /** - * Action made via microsite. - * - * It is also names as directory listing. - */ - const MICROSITE = 12; - - /** - * Indicating that the source is Microsoft. - */ - const MICROSOFT = 24; - - /** - * Client booked session on My Presence Site. - */ - const MY_PRESENCE_SITE = 13; - - /** - * Action made via SMS. - */ - const SMS = 17; - - /** - * Staff booked session from spa backend. - */ - const SPA_BACKEND = 4; - - /** - * Client booked session from spa frontend. - */ - const SPA_FRONTEND = 3; - - /** - * Created by system. - */ - const SYSTEM = 10; - - /** - * Means that we did not define mode. - */ - const UNDEFINED = 6; - - /** - * Client booked session from Attendance Web App. - */ - const WEB_APP_ATTENDANCE = 16; - - /** - * Client checked-in for the session through Check-In Web App. - */ - const WEB_APP_CHECK_IN = 15; - - /** - * Staff booked session for client from website backend. - */ - const WEB_BACKEND = 2; - - /** - * Client booked session from website frontend. - */ - const WEB_FRONTEND = 1; - - /** - * Action made via widget (purchase, book etc). - */ - const WIDGET = 11; - - /** - * Action from Zapier. - */ - const ZAPIER = 25; -} - +<?php + +namespace WellnessLiving\Wl\Mode; + +/** + * The source of visit. + * + * Last used ID: 25. + */ +class ModeSid +{ + /** + * Registered through <tt>Azure</tt>. + */ + const AZURE = 21; + + /** + * Visit has been created by <tt>CENTRED</tt>. + */ + const CENTRED = 23; + + /** + * Visit has been created by <tt>ClassPass</tt>. + */ + const CLASSPASS_BOOKING = 8; + + /** + * Debt paid via collections. + */ + const COLLECTIONS = 22; + + /** + * Action made via email. + */ + const EMAIL = 18; + + /** + * Indicating that the source is Facebook. + */ + const FACEBOOK = 20; + + /** + * Indicating that the source is Google. + */ + const GOOGLE = 19; + + /** + * Visit has been created by Google Booking Service. + */ + const GOOGLE_BOOKING = 7; + + /** + * Visit has been created by <tt>GymPass</tt>. + */ + const GYMPASS_BOOKING = 14; + + /** + * Visit was created during import. + */ + const IMPORT = 5; + + /** + * Action made via microsite. + * + * It is also names as directory listing. + */ + const MICROSITE = 12; + + /** + * Indicating that the source is Microsoft. + */ + const MICROSOFT = 24; + + /** + * Client booked session on My Presence Site. + */ + const MY_PRESENCE_SITE = 13; + + /** + * Action made via SMS. + */ + const SMS = 17; + + /** + * Staff booked session from spa backend. + */ + const SPA_BACKEND = 4; + + /** + * Client booked session from spa frontend. + */ + const SPA_FRONTEND = 3; + + /** + * Created by system. + */ + const SYSTEM = 10; + + /** + * Means that we did not define mode. + */ + const UNDEFINED = 6; + + /** + * Client booked session from Attendance Web App. + */ + const WEB_APP_ATTENDANCE = 16; + + /** + * Client checked-in for the session through Check-In Web App. + */ + const WEB_APP_CHECK_IN = 15; + + /** + * Staff booked session for client from website backend. + */ + const WEB_BACKEND = 2; + + /** + * Client booked session from website frontend. + */ + const WEB_FRONTEND = 1; + + /** + * Action made via widget (purchase, book etc). + */ + const WIDGET = 11; + + /** + * Action from Zapier. + */ + const ZAPIER = 25; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Notification/Send/NotificationSendModel.php b/WellnessLiving/Wl/Notification/Send/NotificationSendModel.php index 9945f719..6737b885 100644 --- a/WellnessLiving/Wl/Notification/Send/NotificationSendModel.php +++ b/WellnessLiving/Wl/Notification/Send/NotificationSendModel.php @@ -1,71 +1,71 @@ -<?php - -namespace WellnessLiving\Wl\Notification\Send; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint that allows to send notifications to users of the certain business or location. - * - * This endpoint is available only for user with a special privilege. If you want to use this endpoint, contact - * with WellnessLiving support first. - */ -class NotificationSendModel extends WlModelAbstract -{ - /** - * Custom array with information which can be used to generate notification. - * - * @post post - * @var array - */ - public $a_data = []; - - /** - * Date and time in UTC, when notification should be sent. Empty string means to send immediately. - * - * If date and time are set, it should be reasonable. If it's too far in the future, API returns an error. - * - * @post post - * @var string - */ - public $dtu_send = ''; - - /** - * ID of the notification. - * - * Contact with WellnessLiving support to get the list of available notifications. - * - * @post post - * @var int - */ - public $id_notification = 0; - - /** - * Key of the business where notification should be sent. - * - * @post post - * @var string - */ - public $k_business = '0'; - - /** - * Key of the location. - * If it's not empty, only clients from this location will get notification. - * `null` to not limit recipients with a certain location. - * - * @post post - * @var string|null - */ - public $k_location = null; - - /** - * List of UIDs joined with comma, if notification should be sent to certain recipients. - * Empty string means to send to all clients of the business or location with proper subscription level. - * - * @post post - * @var string - */ - public $s_uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Notification\Send; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint that allows to send notifications to users of the certain business or location. + * + * This endpoint is available only for user with a special privilege. If you want to use this endpoint, contact + * with WellnessLiving support first. + */ +class NotificationSendModel extends WlModelAbstract +{ + /** + * Custom array with information which can be used to generate notification. + * + * @post post + * @var array + */ + public $a_data = []; + + /** + * Date and time in UTC, when notification should be sent. Empty string means to send immediately. + * + * If date and time are set, it should be reasonable. If it's too far in the future, API returns an error. + * + * @post post + * @var string + */ + public $dtu_send = ''; + + /** + * ID of the notification. + * + * Contact with WellnessLiving support to get the list of available notifications. + * + * @post post + * @var int + */ + public $id_notification = 0; + + /** + * Key of the business where notification should be sent. + * + * @post post + * @var string + */ + public $k_business = '0'; + + /** + * Key of the location. + * If it's not empty, only clients from this location will get notification. + * `null` to not limit recipients with a certain location. + * + * @post post + * @var string|null + */ + public $k_location = null; + + /** + * List of UIDs joined with comma, if notification should be sent to certain recipients. + * Empty string means to send to all clients of the business or location with proper subscription level. + * + * @post post + * @var string + */ + public $s_uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Account/AccountModel.php b/WellnessLiving/Wl/Pay/Account/AccountModel.php index 79b919a8..d23498ee 100644 --- a/WellnessLiving/Wl/Pay/Account/AccountModel.php +++ b/WellnessLiving/Wl/Pay/Account/AccountModel.php @@ -1,96 +1,96 @@ -<?php - -namespace WellnessLiving\Wl\Pay\Account; - -use WellnessLiving\Core\Locale\CurrencySid; -use WellnessLiving\WlModelAbstract; - -/** - * Displays information about user's accounts. - */ -class AccountModel extends WlModelAbstract -{ - /** - * A list of the user's accounts. - * - * Keys are account keys. This could be `0` if the user has no accounts in the currency of the given business. - * Values are account data: <dl> - * <dt> - * int <var>id_currency</var> - * </dt> - * <dd> - * Currency ID. One of {@link CurrencySid} constant. - * </dd> - * <dt> - * string <var>k_currency</var> - * </dt> - * <dd> - * Key of account currency. - * </dd> - * <dt> - * string|null <var>k_pay_account</var> - * </dt> - * <dd> - * ID of payment account. <tt>null</tt> if this is a user account based on system payment method. - * </dd> - * <dt> - * string|null <var>k_pay_method</var> - * </dt> - * <dd> - * ID of custom payment method. <tt>null</tt> if this is a user account based on system payment method. - * </dd> - * <dt> - * string <var>m_rest</var> - * </dt> - * <dd> - * Account balance. - * </dd> - * <dt> - * string|null <var>s_method</var> - * </dt> - * <dd> - * Name of a custom payment method. <tt>null</tt> if this is a user account based on system payment method. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_account; - - /** - * A list of accounts that is not created for this user yet. - * - * @get result - * @var array[] - */ - public $a_account_nx; - - /** - * If `true`, information for the account's owner is returned. Clients can be configured to pay for a relative's - * expenses. For example, a parent can pay for their child. - * Otherwise, `false` to indicate information strictly for the specified user is returned. - * - * @get get - * @var bool - */ - public $is_owner = false; - - /** - * The key of the business to show information for. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The key of the user to show information for. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Pay\Account; + +use WellnessLiving\Core\Locale\CurrencySid; +use WellnessLiving\WlModelAbstract; + +/** + * Displays information about user's accounts. + */ +class AccountModel extends WlModelAbstract +{ + /** + * A list of the user's accounts. + * + * Keys are account keys. This could be `0` if the user has no accounts in the currency of the given business. + * Values are account data: <dl> + * <dt> + * int <var>id_currency</var> + * </dt> + * <dd> + * Currency ID. One of {@link CurrencySid} constant. + * </dd> + * <dt> + * string <var>k_currency</var> + * </dt> + * <dd> + * Key of account currency. + * </dd> + * <dt> + * string|null <var>k_pay_account</var> + * </dt> + * <dd> + * ID of payment account. <tt>null</tt> if this is a user account based on system payment method. + * </dd> + * <dt> + * string|null <var>k_pay_method</var> + * </dt> + * <dd> + * ID of custom payment method. <tt>null</tt> if this is a user account based on system payment method. + * </dd> + * <dt> + * string <var>m_rest</var> + * </dt> + * <dd> + * Account balance. + * </dd> + * <dt> + * string|null <var>s_method</var> + * </dt> + * <dd> + * Name of a custom payment method. <tt>null</tt> if this is a user account based on system payment method. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_account; + + /** + * A list of accounts that is not created for this user yet. + * + * @get result + * @var array[] + */ + public $a_account_nx; + + /** + * If `true`, information for the account's owner is returned. Clients can be configured to pay for a relative's + * expenses. For example, a parent can pay for their child. + * Otherwise, `false` to indicate information strictly for the specified user is returned. + * + * @get get + * @var bool + */ + public $is_owner = false; + + /** + * The key of the business to show information for. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The key of the user to show information for. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Address/AddressModel.php b/WellnessLiving/Wl/Pay/Address/AddressModel.php index b886c6bc..33deb3d2 100644 --- a/WellnessLiving/Wl/Pay/Address/AddressModel.php +++ b/WellnessLiving/Wl/Pay/Address/AddressModel.php @@ -1,49 +1,49 @@ -<?php - -namespace WellnessLiving\Wl\Pay\Address; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlPayOwnerSid; - -/** - * Gets information about a user's payment addresses. - */ -class AddressModel extends WlModelAbstract -{ - /** - * The payee's address information. - * - * @get result - * @var array - */ - public $a_pay_address; - - /** - * The ID of the payment owner type. - * One of {@link WlPayOwnerSid} constants. - * - * @get get - * @var int - */ - public $id_pay_owner = 0; - - /** - * Business key, where the payment is performed. - * <tt>null</tt> if pay owner is not user. - * - * @get get - * @var string - */ - public $k_business = null; - - /** - * The primary key of a payment owner. - * This could be the business of the user depending on a {@link AddressModel::$id_pay_owner} value. - * - * @get get - * @var string - */ - public $k_id = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Pay\Address; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlPayOwnerSid; + +/** + * Gets information about a user's payment addresses. + */ +class AddressModel extends WlModelAbstract +{ + /** + * The payee's address information. + * + * @get result + * @var array + */ + public $a_pay_address; + + /** + * The ID of the payment owner type. + * One of {@link WlPayOwnerSid} constants. + * + * @get get + * @var int + */ + public $id_pay_owner = 0; + + /** + * Business key, where the payment is performed. + * <tt>null</tt> if pay owner is not user. + * + * @get get + * @var string + */ + public $k_business = null; + + /** + * The primary key of a payment owner. + * This could be the business of the user depending on a {@link AddressModel::$id_pay_owner} value. + * + * @get get + * @var string + */ + public $k_id = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php index 29ec32cf..b517a226 100644 --- a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php +++ b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php @@ -1,178 +1,198 @@ -<?php - -namespace WellnessLiving\Wl\Pay\Form; - -use WellnessLiving\Core\Locale\LocaleSid; -use WellnessLiving\Core\a\ACardSystemSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlPayMethodSid; -use WellnessLiving\Wl\WlPayProcessorSid; - -/** - * Gets information about payment environments. - */ -class EnvironmentModel extends WlModelAbstract -{ - /** - * A list of supported bank card systems. - * Keys refer to card types based on card numbers (see {@link ACardSystemSid}), - * and values are IDs of card systems (one of {@link ACardSystemSid} constants). - * - * @get result - * @var array - */ - public $a_card_system; - - /** - * A list of payment methods enabled for staff members. The ID is one of {@link WlPayMethodSid} constants. - * The value is always `true`. - * - * @get result - * @var array - */ - public $a_method_staff; - - /** - * A list of all payment methods that can be used within this business. - * This array is sorted in the order in which payment methods should be shown to the user. - * Each element of the array has the following structure: - * <dl> - * <dt>int <var>id_pay_method</var></dt> - * <dd>The ID of type of payment method. One of {@link WlPayMethodSid} constants.</dd> - * <dt>bool [<var>is_client</var>]</dt> - * <dd>Determines whether this method is available for clients. This field is only returned for custom payment methods.</dd> - * <dt>string|null <var>k_pay_method</var></dt> - * <dd> - * The key of the custom payment method. - * This will be `null` if this payment method isn't customized. - * - * </dd> - * <dt>string [<var>s_method</var>]</dt> - * <dd>The name of payment method. This field is only returned for custom payment methods.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_method_support; - - /** - * The configuration array that's sent to mobile card reader plugin. - * The structure of this array depends on the payment processor being used. - * - * @get result - * @var array|null - */ - public $a_mobile_config; - - /** - * Represents information about payment processors. - * - * Keys are payment methods IDs, one of {@link WlPayMethodSid} constants. - * - * Value is the following array: <dl> - * <dt>array|null <var>a_public_keys</var></dt> - * <dd> - * Public keys configured for this payment processor. - * - * `null` if this payment processor does not support public keys. - * </dd> - * <dt>int <var>id_pay_processor</var></dt> - * <dd>ID of the payment processor. One of {@link WlPayProcessorSid} constants.</dd> - * <dt>string <var>k_business_merchant</var></dt> - * <dd>Key of the business merchant.</dd> - * </dl> - * - * `null` if no processors are set up. - * - * @get result - * @var array[]|null - */ - public $a_pay_processor = null; - - /** - * Local date with time now in current location {@link EnvironmentModel::$k_location} - * or business {@link EnvironmentModel::$k_business} if not set location. - * - * @get result - * @var string - */ - public $dl_now; - - /** - * The percentage of the payment amount to additionally withdraw as a surcharge. - * - * This will be `null` if the percentage surcharge amount shouldn't be withdrawn. - * - * @get result - * @var string|null - */ - public $f_surcharge = null; - - /** - * The locale ID of the business. - * - * @get result - * @var int|null - * @see LocaleSid - */ - public $id_locale; - - /** - * Determines whether newly added payment sources should be saved. This will be `true` if payment sources should be saved, - * `false` if otherwise. - * - * @get result - * @var bool - */ - public $is_save_source; - - /** - * Whether tips are accepted. - * - * @get result - * @var bool - */ - public $is_tip = false; - - /** - * The key of the business to retrieve payment information for. - * - * This will be `0` if not set yet. - * An empty string or `null` if payments are performed with the WellnessLiving system merchant. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The key of the currency to retrieve payment information for. - * - * @get get - * @var string - */ - public $k_currency = '0'; - - /** - * The key of the location to retrieve payment information for. - * - * This will be `0` if not set yet. - * - * @get get - * @var string - */ - public $k_location = '0'; - - /** - * The fixed surcharge amount to withdraw from all payment sources that support surcharges. - * - * This will be `null` if the fixed surcharge amount shouldn't be withdrawn. - * - * @get result - * @var string|null - */ - public $m_surcharge = null; -} - +<?php + +namespace WellnessLiving\Wl\Pay\Form; + +use WellnessLiving\Core\Locale\LocaleSid; +use WellnessLiving\Core\a\ACardSystemSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlPayMethodSid; +use WellnessLiving\Wl\WlPayProcessorSid; + +/** + * Gets information about payment environments. + */ +class EnvironmentModel extends WlModelAbstract +{ + /** + * A list of supported bank card systems. + * Keys refer to card types based on card numbers (see {@link ACardSystemSid}), + * and values are IDs of card systems (one of {@link ACardSystemSid} constants). + * + * @get result + * @var array + */ + public $a_card_system; + + /** + * A list of payment methods enabled for staff members. The ID is one of {@link WlPayMethodSid} constants. + * The value is always `true`. + * + * @get result + * @var array + */ + public $a_method_staff; + + /** + * A list of all payment methods that can be used within this business. + * This array is sorted in the order in which payment methods should be shown to the user. + * Each element of the array has the following structure: + * <dl> + * <dt>int <var>id_pay_method</var></dt> + * <dd>The ID of type of payment method. One of {@link WlPayMethodSid} constants.</dd> + * <dt>bool [<var>is_client</var>]</dt> + * <dd>Determines whether this method is available for clients. This field is only returned for custom payment methods.</dd> + * <dt>string|null <var>k_pay_method</var></dt> + * <dd> + * The key of the custom payment method. + * This will be `null` if this payment method isn't customized. + * + * </dd> + * <dt>string [<var>s_method</var>]</dt> + * <dd>The name of payment method. This field is only returned for custom payment methods.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_method_support; + + /** + * The configuration array that's sent to mobile card reader plugin. + * The structure of this array depends on the payment processor being used. + * + * @get result + * @var array|null + */ + public $a_mobile_config; + + /** + * Represents information about payment processors. + * + * Keys are payment methods IDs, one of {@link WlPayMethodSid} constants. + * + * Value is the following array: <dl> + * <dt>array|null <var>a_public_keys</var></dt> + * <dd> + * Public keys configured for this payment processor. + * + * `null` if this payment processor does not support public keys. + * </dd> + * <dt>int <var>id_pay_processor</var></dt> + * <dd>ID of the payment processor. One of {@link WlPayProcessorSid} constants.</dd> + * <dt>string <var>k_business_merchant</var></dt> + * <dd>Key of the business merchant.</dd> + * </dl> + * + * `null` if no processors are set up. + * + * @get result + * @var array[]|null + */ + public $a_pay_processor = null; + + /** + * Local date with time now in current location {@link EnvironmentModel::$k_location} + * or business {@link EnvironmentModel::$k_business} if not set location. + * + * @get result + * @var string + */ + public $dl_now; + + /** + * Surcharge amount for payment with card represented as a percent of transaction amount. + * + * This will be `null` if the percentage surcharge amount shouldn't be withdrawn. + * + * @get result + * @var string|null + */ + public $f_surcharge = null; + + /** + * Surcharge amount for payment with ACH represented as a percent of transaction amount. + * + * This will be `null` if the percentage surcharge amount shouldn't be withdrawn. + * + * @get result + * @var string|null + */ + public $f_surcharge_ach = null; + + /** + * The locale ID of the business. + * + * @get result + * @var int|null + * @see LocaleSid + */ + public $id_locale; + + /** + * Determines whether newly added payment sources should be saved. This will be `true` if payment sources should be saved, + * `false` if otherwise. + * + * @get result + * @var bool + */ + public $is_save_source; + + /** + * Whether tips are accepted. + * + * @get result + * @var bool + */ + public $is_tip = false; + + /** + * The key of the business to retrieve payment information for. + * + * This will be `0` if not set yet. + * An empty string or `null` if payments are performed with the WellnessLiving system merchant. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The key of the currency to retrieve payment information for. + * + * @get get + * @var string + */ + public $k_currency = '0'; + + /** + * The key of the location to retrieve payment information for. + * + * This will be `0` if not set yet. + * + * @get get + * @var string + */ + public $k_location = '0'; + + /** + * Surcharge amount for payment with card represented as a fixed amount. + * + * This will be `null` if the fixed surcharge amount shouldn't be withdrawn. + * + * @get result + * @var string|null + */ + public $m_surcharge = null; + + /** + * Surcharge amount for payment with ACH represented as a fixed amount. + * + * This will be `null` if the fixed surcharge amount shouldn't be withdrawn. + * + * @get result + * @var string|null + */ + public $m_surcharge_ach = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Method/ListModel.php b/WellnessLiving/Wl/Pay/Method/ListModel.php index 59f44939..eb2e38ab 100644 --- a/WellnessLiving/Wl/Pay/Method/ListModel.php +++ b/WellnessLiving/Wl/Pay/Method/ListModel.php @@ -1,75 +1,75 @@ -<?php - -namespace WellnessLiving\Wl\Pay\Method; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlPayMethodSid; - -/** - * An endpoint containing a model to get the list of payment methods. - */ -class ListModel extends WlModelAbstract -{ - /** - * A list of payment methods: - * <dl> - * <dt> - * int <var>id_pay_method</var> - * </dt> - * <dd> - * The payment method type ID. One of {@link WlPayMethodSid} constants. - * </dd> - * <dt> - * string|null <var>k_pay_method</var> - * </dt> - * <dd> - * Payment method key. - * May be <tt>null</tt> if it is a system payment method. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The payment method name. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_pay_method; - - /** - * Whether only active payment methods should be returned. - * - * @get get - * @var bool - */ - public $is_active = true; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * Whether payment method {@link WlPayMethodSid::ACCOUNT_MANUAL} should be included in response. - * - * @get get - * @var bool - */ - public $show_manual = false; - - /** - * The key of a user to show information for. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Pay\Method; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlPayMethodSid; + +/** + * An endpoint containing a model to get the list of payment methods. + */ +class ListModel extends WlModelAbstract +{ + /** + * A list of payment methods: + * <dl> + * <dt> + * int <var>id_pay_method</var> + * </dt> + * <dd> + * The payment method type ID. One of {@link WlPayMethodSid} constants. + * </dd> + * <dt> + * string|null <var>k_pay_method</var> + * </dt> + * <dd> + * Payment method key. + * May be <tt>null</tt> if it is a system payment method. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The payment method name. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_pay_method; + + /** + * Whether only active payment methods should be returned. + * + * @get get + * @var bool + */ + public $is_active = true; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Whether payment method {@link WlPayMethodSid::ACCOUNT_MANUAL} should be included in response. + * + * @get get + * @var bool + */ + public $show_manual = false; + + /** + * The key of a user to show information for. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php b/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php index 8e8bfddb..6d776353 100644 --- a/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php +++ b/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php @@ -1,147 +1,147 @@ -<?php - -namespace WellnessLiving\Wl\Pay\Transaction\Report; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Report\Generator\ReportGeneratorStatusSid; - -/** - * Can retrieve information from the All Transactions Report. - */ -class TransactionAllPaymentModel extends WlModelAbstract -{ - /** - * A list of fields in the report. - * - * This array is effectively a title row for the table returned in {@link TransactionAllPaymentModel::$a_row}. - * - * @get result - * @var string[] - */ - public $a_field = []; - - /** - * The report data. - * - * This is an indexed array in which one row is also an indexed array. - * - * Indexes of the columns correspond to the columns in {@link TransactionAllPaymentModel::$a_field}. - * - * @get result - * @var array - */ - public $a_row = []; - - /** - * The warning list of the report. - * - * @get result - * @var string[] - */ - public $a_warning = []; - - /** - * The end date in local time to retrieve transactions for. - * - * @get get - * @var string - */ - public $dl_date_end = ''; - - /** - * The end date in local time to retrieve transactions for. - * - * @get get - * @var string - */ - public $dl_date_start = ''; - - /** - * The date and time if the report has completed generation. Otherwise, this will be `null`. - * - * @get result - * @var string|null - */ - public $dtu_complete = null; - - /** - * The date and time if this report has been put in the generation queue. Otherwise, this will be `null`. - * - * @get result - * @var string|null - */ - public $dtu_queue = null; - - /** - * The date and time if generation of this report has started. Otherwise, this will be `null`. - * - * @get result - * @var string|null - */ - public $dtu_start = null; - - /** - * The page of the report, starting from 0. - * - * @get get - * @var int - */ - public $i_page = 0; - - /** - * The report status. - * - * One of {@link ReportGeneratorStatusSid} constants. - * - * @get result - * @var int - */ - public $id_report_status = 0; - - /** - * Determines whether to show more rows in the report. - * - * If `true`, there are more report rows to get. Otherwise, `false` to indicate that all rows in the report have - * already been retrieved. - * - * @get result - * @var bool - */ - public $is_more = false; - - /** - * Determines whether the report should be refreshed. - * - * If `true`, this report should be refreshed. A report refresh can't be requested while the report is being generated. - * Otherwise, `false` to only return contents of the report. - * - * If the report hasn't yet been generated, it will automatically start generating in the background. - * - * @get get - * @var bool - */ - public $is_refresh = false; - - /** - * Determines whether the report is complete. - * - * If the report is accessed on the current day, or is returning a result that was cached on the current day, it could - * be incomplete as not all the transactions for the day are present. - * - * If `true`, the report has been completed. Otherwise, `false`. - * - * @get result - * @var bool - */ - public $is_report_complete = false; - - /** - * The key of the business for which report should be generated. - * - * @get get - * @var string - */ - public $k_business = ''; -} - +<?php + +namespace WellnessLiving\Wl\Pay\Transaction\Report; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Report\Generator\ReportGeneratorStatusSid; + +/** + * Can retrieve information from the All Transactions Report. + */ +class TransactionAllPaymentModel extends WlModelAbstract +{ + /** + * A list of fields in the report. + * + * This array is effectively a title row for the table returned in {@link TransactionAllPaymentModel::$a_row}. + * + * @get result + * @var string[] + */ + public $a_field = []; + + /** + * The report data. + * + * This is an indexed array in which one row is also an indexed array. + * + * Indexes of the columns correspond to the columns in {@link TransactionAllPaymentModel::$a_field}. + * + * @get result + * @var array + */ + public $a_row = []; + + /** + * The warning list of the report. + * + * @get result + * @var string[] + */ + public $a_warning = []; + + /** + * The end date in local time to retrieve transactions for. + * + * @get get + * @var string + */ + public $dl_date_end = ''; + + /** + * The end date in local time to retrieve transactions for. + * + * @get get + * @var string + */ + public $dl_date_start = ''; + + /** + * The date and time if the report has completed generation. Otherwise, this will be `null`. + * + * @get result + * @var string|null + */ + public $dtu_complete = null; + + /** + * The date and time if this report has been put in the generation queue. Otherwise, this will be `null`. + * + * @get result + * @var string|null + */ + public $dtu_queue = null; + + /** + * The date and time if generation of this report has started. Otherwise, this will be `null`. + * + * @get result + * @var string|null + */ + public $dtu_start = null; + + /** + * The page of the report, starting from 0. + * + * @get get + * @var int + */ + public $i_page = 0; + + /** + * The report status. + * + * One of {@link ReportGeneratorStatusSid} constants. + * + * @get result + * @var int + */ + public $id_report_status = 0; + + /** + * Determines whether to show more rows in the report. + * + * If `true`, there are more report rows to get. Otherwise, `false` to indicate that all rows in the report have + * already been retrieved. + * + * @get result + * @var bool + */ + public $is_more = false; + + /** + * Determines whether the report should be refreshed. + * + * If `true`, this report should be refreshed. A report refresh can't be requested while the report is being generated. + * Otherwise, `false` to only return contents of the report. + * + * If the report hasn't yet been generated, it will automatically start generating in the background. + * + * @get get + * @var bool + */ + public $is_refresh = false; + + /** + * Determines whether the report is complete. + * + * If the report is accessed on the current day, or is returning a result that was cached on the current day, it could + * be incomplete as not all the transactions for the day are present. + * + * If `true`, the report has been completed. Otherwise, `false`. + * + * @get result + * @var bool + */ + public $is_report_complete = false; + + /** + * The key of the business for which report should be generated. + * + * @get get + * @var string + */ + public $k_business = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Transaction/WlPayTransactionStatusSid.php b/WellnessLiving/Wl/Pay/Transaction/WlPayTransactionStatusSid.php index e2e931ec..658a7d81 100644 --- a/WellnessLiving/Wl/Pay/Transaction/WlPayTransactionStatusSid.php +++ b/WellnessLiving/Wl/Pay/Transaction/WlPayTransactionStatusSid.php @@ -1,136 +1,136 @@ -<?php - -namespace WellnessLiving\Wl\Pay\Transaction; - -/** - * Transaction statuses. - * - * Last used ID: 15. - * - * @ - */ -abstract class WlPayTransactionStatusSid -{ - /** - * The authorization or store transaction is being performed now. - */ - const AUTHORIZE_ACTIVE = 8; - - /** - * Authorization or store transaction is completed with errors. - */ - const AUTHORIZE_ERROR = 10; - - /** - * Authorization or store transaction is completed successfully. - */ - const AUTHORIZE_OK = 9; - - /** - * The transaction is being performed now. - */ - const PURCHASE_ACTIVE = 1; - - /** - * Transaction is completed with errors. - */ - const PURCHASE_ERROR = 3; - - /** - * Transaction is completed successfully, but the purchase wasn't finished (failed by a temporary error). - * - * **Important note** Used only for indexation data for the reports. - */ - const PURCHASE_FAILED = 15; - - /** - * Transaction is completed successfully. - */ - const PURCHASE_OK = 2; - - /** - * Transaction is completed successfully, but should be hidden from reports. - * - * This status is set only in specific cases during import. - */ - const PURCHASE_OK_HIDDEN = 14; - - /** - * We are waiting when financial institution (e.g. bank) will process our transaction. For example, cheques or bank - * account transactions can be processed not immediately but after some time (e.g. 3-4 days). - */ - const PURCHASE_WAIT = 11; - - /** - * Transaction is being refunded now, and previous status was successful payment. - */ - const REFUND_ACTIVE = 5; - - /** - * Transaction is being refunded now. - * - * Exactly the same as {@link WlPayTransactionStatusSid::REFUND_ACTIVE}, but set if previous status was - * {@link WlPayTransactionStatusSid::PURCHASE_WAIT}. In a case of error during refund, this status is changed to - * {@link WlPayTransactionStatusSid::PURCHASE_WAIT}. - */ - const REFUND_ACTIVE_WAIT = 13; - - /** - * Refund operation has failed. - * - * This status should be treated exactly like {@link WlPayTransactionStatusSid::PURCHASE_OK}: we've received money - * successfully, and did not refund or void transaction. - * - * The difference is that we've tried to refund a successful transaction. - * - * **Important note** If a transaction is refunded partially, it will stay in - * {@link WlPayTransactionStatusSid::REFUND_PARTIAL} even after an unsuccessful attempt to refund more. - */ - const REFUND_ERROR = 6; - - /** - * Transaction was refunded fully. - * - * Note that in contrast to REFUND_PARTIAL, there are no items stored in <tt>rs_pay_transaction_refund</tt> table for - * transactions in REFUND_FULL status. - * - * @see WlPayTransactionStatusSid::REFUND_PARTIAL - */ - const REFUND_FULL = 4; - - /** - * Transaction was refunded partially. - * - * This status is set when there is an amount in a transaction that is not refunded. - * - * @see WlPayTransactionStatusSid::REFUND_FULL - */ - const REFUND_PARTIAL = 7; - - /** - * Transaction was refunded fully and purchase has been cancelled. - * - * Void is a type of refund with set of limits. The main difference between refund and void is, that during refund we - * can cancel transaction before it was settled or we can return money that we have already got. During void of the - * transaction we cannot return money, we can only cancel transaction if it has not been settled yet. - * - * This is important because returning of the money is connected to the bank commissions and cancelling the - * transaction is a free option. That's why this is two different ways to cancel purchase. - * - * The voided transaction is a transaction that never exists. This also means that purchase that is connected to the - * voided transaction should be always erased. - * - * Voiding transaction has sets of limits:<ul> - * <li>transaction should not be settled;</li> - * <li>transaction should not be from internal account balance;</li> - * <li>transaction should be single in the purchase.</li> - * </ul> - * - * @link https://wellnessliving.atlassian.net/browse/WL-2122 - * @see WlPayTransactionStatusSid::REFUND_FULL - * @see WlPayTransactionStatusSid::REFUND_PARTIAL - */ - const VOID = 12; -} - +<?php + +namespace WellnessLiving\Wl\Pay\Transaction; + +/** + * Transaction statuses. + * + * Last used ID: 15. + * + * @ + */ +abstract class WlPayTransactionStatusSid +{ + /** + * The authorization or store transaction is being performed now. + */ + const AUTHORIZE_ACTIVE = 8; + + /** + * Authorization or store transaction is completed with errors. + */ + const AUTHORIZE_ERROR = 10; + + /** + * Authorization or store transaction is completed successfully. + */ + const AUTHORIZE_OK = 9; + + /** + * The transaction is being performed now. + */ + const PURCHASE_ACTIVE = 1; + + /** + * Transaction is completed with errors. + */ + const PURCHASE_ERROR = 3; + + /** + * Transaction is completed successfully, but the purchase wasn't finished (failed by a temporary error). + * + * **Important note** Used only for indexation data for the reports. + */ + const PURCHASE_FAILED = 15; + + /** + * Transaction is completed successfully. + */ + const PURCHASE_OK = 2; + + /** + * Transaction is completed successfully, but should be hidden from reports. + * + * This status is set only in specific cases during import. + */ + const PURCHASE_OK_HIDDEN = 14; + + /** + * We are waiting when financial institution (e.g. bank) will process our transaction. For example, cheques or bank + * account transactions can be processed not immediately but after some time (e.g. 3-4 days). + */ + const PURCHASE_WAIT = 11; + + /** + * Transaction is being refunded now, and previous status was successful payment. + */ + const REFUND_ACTIVE = 5; + + /** + * Transaction is being refunded now. + * + * Exactly the same as {@link WlPayTransactionStatusSid::REFUND_ACTIVE}, but set if previous status was + * {@link WlPayTransactionStatusSid::PURCHASE_WAIT}. In a case of error during refund, this status is changed to + * {@link WlPayTransactionStatusSid::PURCHASE_WAIT}. + */ + const REFUND_ACTIVE_WAIT = 13; + + /** + * Refund operation has failed. + * + * This status should be treated exactly like {@link WlPayTransactionStatusSid::PURCHASE_OK}: we've received money + * successfully, and did not refund or void transaction. + * + * The difference is that we've tried to refund a successful transaction. + * + * **Important note** If a transaction is refunded partially, it will stay in + * {@link WlPayTransactionStatusSid::REFUND_PARTIAL} even after an unsuccessful attempt to refund more. + */ + const REFUND_ERROR = 6; + + /** + * Transaction was refunded fully. + * + * Note that in contrast to REFUND_PARTIAL, there are no items stored in <tt>rs_pay_transaction_refund</tt> table for + * transactions in REFUND_FULL status. + * + * @see WlPayTransactionStatusSid::REFUND_PARTIAL + */ + const REFUND_FULL = 4; + + /** + * Transaction was refunded partially. + * + * This status is set when there is an amount in a transaction that is not refunded. + * + * @see WlPayTransactionStatusSid::REFUND_FULL + */ + const REFUND_PARTIAL = 7; + + /** + * Transaction was refunded fully and purchase has been cancelled. + * + * Void is a type of refund with set of limits. The main difference between refund and void is, that during refund we + * can cancel transaction before it was settled or we can return money that we have already got. During void of the + * transaction we cannot return money, we can only cancel transaction if it has not been settled yet. + * + * This is important because returning of the money is connected to the bank commissions and cancelling the + * transaction is a free option. That's why this is two different ways to cancel purchase. + * + * The voided transaction is a transaction that never exists. This also means that purchase that is connected to the + * voided transaction should be always erased. + * + * Voiding transaction has sets of limits:<ul> + * <li>transaction should not be settled;</li> + * <li>transaction should not be from internal account balance;</li> + * <li>transaction should be single in the purchase.</li> + * </ul> + * + * @link https://wellnessliving.atlassian.net/browse/WL-2122 + * @see WlPayTransactionStatusSid::REFUND_FULL + * @see WlPayTransactionStatusSid::REFUND_PARTIAL + */ + const VOID = 12; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Alert/AlertModel.php b/WellnessLiving/Wl/Profile/Alert/AlertModel.php index 7fe4b8f0..9bb421a9 100644 --- a/WellnessLiving/Wl/Profile/Alert/AlertModel.php +++ b/WellnessLiving/Wl/Profile/Alert/AlertModel.php @@ -1,117 +1,117 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Alert; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlProfileNoteSid; - -/** - * Retrieves information about client alert messages. - */ -class AlertModel extends WlModelAbstract -{ - /** - * A list of alerts. Every element is an array with the following keys: - * <dl> - * <dt> - * string|null <var>dt_date</var> - * </dt> - * <dd> - * The date and time in MySQL format in local time when the alert was last modified. - * This will be `null` if the date isn't available for this alert. - * </dd> - * <dt> - * bool <var>is_today</var> - * </dt> - * <dd> - * This will be `true` if the alert was added today. Otherwise, this will be `false`. - * </dd> - * <dt> - * int <var>id_profile_note</var> - * </dt> - * <dd> - * ID of alert type. One of {@link WlProfileNoteSid} constants. - * </dd> - * <dt> - * string [<var>k_pay_account</var>] - * </dt> - * <dd> - * The key of the client's account. - * </dd> - * <dt> - * string [<var>k_purchase_item</var>] - * </dt> - * <dd> - * The key of the purchase item. - * </dd> - * <dt> - * string <var>s_text</var> - * </dt> - * <dd> - * The alert's text. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_alert; - - /** - * A list of warnings. Every element is an array with the following keys: - * <dl> - * <dt> - * string[] <var>a_location_flag</var> - * </dt> - * <dd> - * - * </dd> - * <dt> - * bool <var>dt_date</var> - * </dt> - * <dd> - * The date and time in MySQL format in local time when the warning was last modified. - * </dd> - * <dt> - * bool <var>is_flag</var> - * </dt> - * <dd> - * This will be `true` if the client is flagged. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_today</var> - * </dt> - * <dd> - * This will be `true` if the warning was added today. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>s_text</var> - * </dt> - * <dd> - * The text of the warning. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_warning; - - /** - * The key of the business. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The key of the user to show information for. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Alert; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlProfileNoteSid; + +/** + * Retrieves information about client alert messages. + */ +class AlertModel extends WlModelAbstract +{ + /** + * A list of alerts. Every element is an array with the following keys: + * <dl> + * <dt> + * string|null <var>dt_date</var> + * </dt> + * <dd> + * The date and time in MySQL format in local time when the alert was last modified. + * This will be `null` if the date isn't available for this alert. + * </dd> + * <dt> + * bool <var>is_today</var> + * </dt> + * <dd> + * This will be `true` if the alert was added today. Otherwise, this will be `false`. + * </dd> + * <dt> + * int <var>id_profile_note</var> + * </dt> + * <dd> + * ID of alert type. One of {@link WlProfileNoteSid} constants. + * </dd> + * <dt> + * string [<var>k_pay_account</var>] + * </dt> + * <dd> + * The key of the client's account. + * </dd> + * <dt> + * string [<var>k_purchase_item</var>] + * </dt> + * <dd> + * The key of the purchase item. + * </dd> + * <dt> + * string <var>s_text</var> + * </dt> + * <dd> + * The alert's text. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_alert; + + /** + * A list of warnings. Every element is an array with the following keys: + * <dl> + * <dt> + * string[] <var>a_location_flag</var> + * </dt> + * <dd> + * + * </dd> + * <dt> + * bool <var>dt_date</var> + * </dt> + * <dd> + * The date and time in MySQL format in local time when the warning was last modified. + * </dd> + * <dt> + * bool <var>is_flag</var> + * </dt> + * <dd> + * This will be `true` if the client is flagged. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_today</var> + * </dt> + * <dd> + * This will be `true` if the warning was added today. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>s_text</var> + * </dt> + * <dd> + * The text of the warning. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_warning; + + /** + * The key of the business. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The key of the user to show information for. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Edit/CreateModel.php b/WellnessLiving/Wl/Profile/Edit/CreateModel.php index 08091875..8279529d 100644 --- a/WellnessLiving/Wl/Profile/Edit/CreateModel.php +++ b/WellnessLiving/Wl/Profile/Edit/CreateModel.php @@ -1,54 +1,54 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Edit; - -use WellnessLiving\WlModelAbstract; - -/** - * Creates user account for the given email address if email address does not already exist. - * checks if a user's email address is already used or changes a user’s login email address. - */ -class CreateModel extends WlModelAbstract -{ - /** - * The key of the business where you're creating new user. - * - * @post post - * @var string - */ - public $k_business = ''; - - /** - * First name of the user. - * - * @post post - * @var string - */ - public $text_firstname = ''; - - /** - * Last name of the user. - * - * @post post - * @var string - */ - public $text_lastname = ''; - - /** - * Email of the user. - * - * @post post - * @var string - */ - public $text_mail = ''; - - /** - * The key of the user added. - * - * @post result - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Edit; + +use WellnessLiving\WlModelAbstract; + +/** + * Creates user account for the given email address if email address does not already exist. + * checks if a user's email address is already used or changes a user’s login email address. + */ +class CreateModel extends WlModelAbstract +{ + /** + * The key of the business where you're creating new user. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * First name of the user. + * + * @post post + * @var string + */ + public $text_firstname = ''; + + /** + * Last name of the user. + * + * @post post + * @var string + */ + public $text_lastname = ''; + + /** + * Email of the user. + * + * @post post + * @var string + */ + public $text_mail = ''; + + /** + * The key of the user added. + * + * @post result + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php index 0f7b5abb..64fb64c7 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php @@ -1,264 +1,264 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Edit; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Field\WlFieldGeneralSid; -use WellnessLiving\Wl\Field\WlFieldTypeSid; -use WellnessLiving\Wl\Profile\RegisterSourceSid; - -/** - * An endpoint that displays client profile information. - * Version of {@link EditModel} for access validation by security token. - */ -class EditByTokenModel extends WlModelAbstract -{ - /** - * A list of fields to change. Values are the new field values. Specific values depend on an individual field type. - * Some fields may be strings while others are arrays. If a composite field is changed, all fields should be specified - * (for example, if you change your address, you'll need to specify the city). Keys are the `k_field` values. - * - * @put post - * @var array - */ - public $a_change = []; - - /** - * List of errors. - * `null` if there was no mistake. - * - * @get result - * @post result - * @var array|null - */ - public $a_error_list = null; - - /** - * Family relation data for new created user. - * - * `null` if family relation is not required. - * - * @post post - * @var array|null - */ - public $a_family_relation = null; - - /** - * Information for user's photo. - * It is necessary to save simultaneously user and photo in staff member mode. - * - * Attention! - * Data from this field is taken directly from a POST somewhere in the depths of the photo upload. - * - * @post post - * @var array - */ - public $a_image_upload = []; - - /** - * A copy of the {@link EditModel::$a_change}. - * This is used for POST requests when creating a new user. - * - * @post post - * @var array - */ - public $a_new = []; - - /** - * An array contained with information about phone inheritance. - * The array has the following structure: - * <dl> - * <dt>bool [<var>is_phone_inherit</var>]</dt> - * <dd>Indicates weather to inherit phone numbers from relative or not. `1` if phone inheritance is needed, '0' otherwise.</dd> - * <dt>string <var>uid_relative</var></dt> - * <dd>User key of relative.</dd> - * </dl> - * - * @get result - * @post post - * @put post - * @var array[] - */ - public $a_phone_inherit = []; - - /** - * The values and structure of all fields. Array keys are field IDs (`k_field`). - * Array values are the field values. The array has the following structure: - * <dl> - * <dt>int [<var>id_field_general</var>]</dt> - * <dd> - * The ID of a system field. One of the {@link WlFieldGeneralSid} constants. - * This value is only defined if <var>id_field_type</var>={@link WlFieldTypeSid::GENERAL}. - * </dd> - * <dt>bool <var>is_require</var></dt> - * <dd>Indicates whether the value of this field is required. This will be `1` if required or `0` if the field is optional.</dd> - * <dt>int <var>id_field_type</var></dt> - * <dd>The type of field. One of the {@link WlFieldTypeSid} constants.</dd> - * <dt>string <var>k_field</var></dt> - * <dd>The field ID (<var>k_field</var>). A copy of the key of this array element.</dd> - * <dt>string <var>s_title</var></dt> - * <dd>The title of the field.</dd> - * <dt>mixed <var>x_value</var></dt> - * <dd>The value of the field. This value is defined by individual fields.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_structure; - - /** - * Registration source ID. - * One of {@link RegisterSourceSid} constants. - * - * Used only to register new clients. - * * If the client is already authorized, the field value will not be used. - * * If the client is not authorized and no value is set, {@link RegisterSourceSid::SELF} will be used. - * - * @get get - * @post get - * @put get - * @var int|null - */ - public $id_register_source = null; - - /** - * Indicates whether to display the full profile edit form or the short version. - * This is assumed to be used only in user registration mode. - * - * @get result - * @post get - * @var bool - */ - public $is_short = 0; - - /** - * This will be `true` to sign in a created user. Otherwise, this will be `false`. - * - * @post post - * @var bool - */ - public $is_sing_in = false; - - /** - * Indicates whether to display the form as a user or as a staff member. - * Staff members may have access to different fields than the user. - * - * @get get - * @post get - * @put get - * @var bool - */ - public $is_staff = false; - - /** - * The key of the business you're editing. - * - * An empty value will return the system-wide fields. - * - * @get get - * @post get - * @put get - * @var string - */ - public $k_business = ''; - - /** - * Exception class name. - * `null` if there was no mistake. - * - * @get result - * @post result - * @var string|null - */ - public $s_class = null; - - /** - * Code of the error. - * `null` if there was no mistake. - * - * @field code - * @get result - * @post result - * @var string|null - */ - public $s_code = null; - - /** - * Status of the request. - * `null` if there was no mistake. - * - * @field status - * @post result - * @var string|null - */ - public $s_status = null; - - /** - * Compound key delimited wit a colon. First part is business key, where selected client exists. - * Second part - uid of already existed user we want to add. - * Empty if non-existent client is being added. - * - * @post get - * @var string - */ - public $text_business_uid_key = ''; - - /** - * Error message. - * `null` if there was no mistake. - * - * @field message - * @get result - * @post result - * @var string|null - */ - public $text_message = null; - - /** - * The password to be set for a new user. - * - * @post post - * @var string - */ - public $text_password = ''; - - /** - * The security token. - * - * @get get - * @var string - */ - public $text_token = ''; - - /** - * The key of the user to edit. - * - * If empty, an empty form will be displayed to add a new user. - * - * @get get - * @post get,result - * @put get - * @var string - */ - public $uid = ''; - - /** - * The UID of an existing user in another business to add to the current business. - * - * @post get - * @var string - */ - public $uid_existed = ''; - - /** - * UID of the user, whose email was inherited by the existing client we want to add. - * Empty if non-existent user is being added or user to add is the one, whose email is inherited. - * - * @post get - * @var string - */ - public $uid_relative_key = ''; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Edit; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Field\WlFieldGeneralSid; +use WellnessLiving\Wl\Field\WlFieldTypeSid; +use WellnessLiving\Wl\Profile\RegisterSourceSid; + +/** + * An endpoint that displays client profile information. + * Version of {@link EditModel} for access validation by security token. + */ +class EditByTokenModel extends WlModelAbstract +{ + /** + * A list of fields to change. Values are the new field values. Specific values depend on an individual field type. + * Some fields may be strings while others are arrays. If a composite field is changed, all fields should be specified + * (for example, if you change your address, you'll need to specify the city). Keys are the `k_field` values. + * + * @put post + * @var array + */ + public $a_change = []; + + /** + * List of errors. + * `null` if there was no mistake. + * + * @get result + * @post result + * @var array|null + */ + public $a_error_list = null; + + /** + * Family relation data for new created user. + * + * `null` if family relation is not required. + * + * @post post + * @var array|null + */ + public $a_family_relation = null; + + /** + * Information for user's photo. + * It is necessary to save simultaneously user and photo in staff member mode. + * + * Attention! + * Data from this field is taken directly from a POST somewhere in the depths of the photo upload. + * + * @post post + * @var array + */ + public $a_image_upload = []; + + /** + * A copy of the {@link EditModel::$a_change}. + * This is used for POST requests when creating a new user. + * + * @post post + * @var array + */ + public $a_new = []; + + /** + * An array contained with information about phone inheritance. + * The array has the following structure: + * <dl> + * <dt>bool [<var>is_phone_inherit</var>]</dt> + * <dd>Indicates weather to inherit phone numbers from relative or not. `1` if phone inheritance is needed, '0' otherwise.</dd> + * <dt>string <var>uid_relative</var></dt> + * <dd>User key of relative.</dd> + * </dl> + * + * @get result + * @post post + * @put post + * @var array[] + */ + public $a_phone_inherit = []; + + /** + * The values and structure of all fields. Array keys are field IDs (`k_field`). + * Array values are the field values. The array has the following structure: + * <dl> + * <dt>int [<var>id_field_general</var>]</dt> + * <dd> + * The ID of a system field. One of the {@link WlFieldGeneralSid} constants. + * This value is only defined if <var>id_field_type</var>={@link WlFieldTypeSid::GENERAL}. + * </dd> + * <dt>bool <var>is_require</var></dt> + * <dd>Indicates whether the value of this field is required. This will be `1` if required or `0` if the field is optional.</dd> + * <dt>int <var>id_field_type</var></dt> + * <dd>The type of field. One of the {@link WlFieldTypeSid} constants.</dd> + * <dt>string <var>k_field</var></dt> + * <dd>The field ID (<var>k_field</var>). A copy of the key of this array element.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The title of the field.</dd> + * <dt>mixed <var>x_value</var></dt> + * <dd>The value of the field. This value is defined by individual fields.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_structure; + + /** + * Registration source ID. + * One of {@link RegisterSourceSid} constants. + * + * Used only to register new clients. + * * If the client is already authorized, the field value will not be used. + * * If the client is not authorized and no value is set, {@link RegisterSourceSid::SELF} will be used. + * + * @get get + * @post get + * @put get + * @var int|null + */ + public $id_register_source = null; + + /** + * Indicates whether to display the full profile edit form or the short version. + * This is assumed to be used only in user registration mode. + * + * @get result + * @post get + * @var bool + */ + public $is_short = 0; + + /** + * This will be `true` to sign in a created user. Otherwise, this will be `false`. + * + * @post post + * @var bool + */ + public $is_sing_in = false; + + /** + * Indicates whether to display the form as a user or as a staff member. + * Staff members may have access to different fields than the user. + * + * @get get + * @post get + * @put get + * @var bool + */ + public $is_staff = false; + + /** + * The key of the business you're editing. + * + * An empty value will return the system-wide fields. + * + * @get get + * @post get + * @put get + * @var string + */ + public $k_business = ''; + + /** + * Exception class name. + * `null` if there was no mistake. + * + * @get result + * @post result + * @var string|null + */ + public $s_class = null; + + /** + * Code of the error. + * `null` if there was no mistake. + * + * @field code + * @get result + * @post result + * @var string|null + */ + public $s_code = null; + + /** + * Status of the request. + * `null` if there was no mistake. + * + * @field status + * @post result + * @var string|null + */ + public $s_status = null; + + /** + * Compound key delimited wit a colon. First part is business key, where selected client exists. + * Second part - uid of already existed user we want to add. + * Empty if non-existent client is being added. + * + * @post get + * @var string + */ + public $text_business_uid_key = ''; + + /** + * Error message. + * `null` if there was no mistake. + * + * @field message + * @get result + * @post result + * @var string|null + */ + public $text_message = null; + + /** + * The password to be set for a new user. + * + * @post post + * @var string + */ + public $text_password = ''; + + /** + * The security token. + * + * @get get + * @var string + */ + public $text_token = ''; + + /** + * The key of the user to edit. + * + * If empty, an empty form will be displayed to add a new user. + * + * @get get + * @post get,result + * @put get + * @var string + */ + public $uid = ''; + + /** + * The UID of an existing user in another business to add to the current business. + * + * @post get + * @var string + */ + public $uid_existed = ''; + + /** + * UID of the user, whose email was inherited by the existing client we want to add. + * Empty if non-existent user is being added or user to add is the one, whose email is inherited. + * + * @post get + * @var string + */ + public $uid_relative_key = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Edit/EditPasswordModel.php b/WellnessLiving/Wl/Profile/Edit/EditPasswordModel.php index 616b8684..93019488 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditPasswordModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditPasswordModel.php @@ -1,63 +1,63 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Edit; - -use WellnessLiving\WlModelAbstract; - -/** - * Model to change user's password. - */ -class EditPasswordModel extends WlModelAbstract -{ - /** - * Checks if the current password is required or not to update the password. - * - * @post post - * @var bool - */ - public $is_old_password_required = true; - - /** - * The key ID of business where actions take place. - * - * Business is necessary for mail sending only. - * - * @post post - * @var string - */ - public $k_business = '0'; - - /** - * The confirmation of new password. - * - * @post post - * @var string - */ - public $s_password_confirm = ''; - - /** - * The new password. - * - * @post post - * @var string - */ - public $s_password_new = ''; - - /** - * The old password. - * - * @post post - * @var string - */ - public $s_password_old = ''; - - /** - * The user key. - * - * @post post - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Edit; + +use WellnessLiving\WlModelAbstract; + +/** + * Model to change user's password. + */ +class EditPasswordModel extends WlModelAbstract +{ + /** + * Checks if the current password is required or not to update the password. + * + * @post post + * @var bool + */ + public $is_old_password_required = true; + + /** + * The key ID of business where actions take place. + * + * Business is necessary for mail sending only. + * + * @post post + * @var string + */ + public $k_business = '0'; + + /** + * The confirmation of new password. + * + * @post post + * @var string + */ + public $s_password_confirm = ''; + + /** + * The new password. + * + * @post post + * @var string + */ + public $s_password_new = ''; + + /** + * The old password. + * + * @post post + * @var string + */ + public $s_password_old = ''; + + /** + * The user key. + * + * @post post + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php index 7fd864b8..581806e2 100644 --- a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php +++ b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php @@ -1,108 +1,108 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Form\Response; - -use WellnessLiving\Core\Quiz\ResponseStatusSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Quiz\Response\SourceSid; - -/** - * Retrieves a list of a user's quiz responses. - */ -class ResponseListModel extends WlModelAbstract -{ - /** - * The list of uncompleted quiz responses. Each element has the next structure: <dl> - * <dt>string <var>dtl_date</var></dt> - * <dd>The date of the request to fill out a quiz form.</dd> - * <dt>int <var>id_source</var></dt> - * <dd>The place where the request to fill out a quiz form occurred. One of the {@link SourceSid} constants.</dd> - * <dt>bool <var>is_private</var></dt> - * <dd> - * Determines whether the form can be viewed by staff member only after confirmation. - * `true` - the form can be viewed only after confirmation. - * `false` - the form can always be viewed. - * </dd> - * <dt>string <var>k_quiz</var></dt> - * <dd>The quiz key.</dd> - * <dt>string <var>k_quiz_login</var></dt> - * <dd>The key of the request.</dd> - * <dt>string|null <var>k_quiz_response</var></dt> - * <dd> - * Key of the response. - * Not `null` in case when response in draft status. - * </dd> - * <dt>string <var>text_title</var></dt> - * <dd>The quiz title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_quiz_login = []; - - /** - * The list of completed quiz responses. Each element has the next structure: <dl> - * <dt>string <var>dtl_date</var></dt> - * <dd>The date of the request to fill out a quiz form.</dd> - * <dt>int <var>id_source</var></dt> - * <dd>The place where the request to fill out the quiz form occurred. One of the {@link SourceSid} constants.</dd> - * <dt>int <var>id_status</var></dt> - * <dd>Status of the response. One of {@link ResponseStatusSid} constants.</dd> - * <dt>bool <var>is_private</var></dt> - * <dd> - * Determines whether the form can be viewed by staff member only after confirmation. - * `true` - the form can be viewed only after confirmation. - * `false` - the form can always be viewed. - * </dd> - * <dt>string <var>k_quiz</var></dt> - * <dd>The quiz key.</dd> - * <dt>string <var>k_quiz_login</var></dt> - * <dd>The quiz response key.</dd> - * <dt>string|null <var>text_amend_date</var></dt> - * <dd> - * Date when response amended. - * `null` if response was not edited. - * </dd> - * <dt>string|null <var>text_amend_user</var></dt> - * <dd> - * Name of the user who amend the response. - * `null` if response was not edited. - * </dd> - * <dt>string <var>text_title</var></dt> - * <dd>The quiz title.</dd> - * <dt>string <var>text_user</var></dt> - * <dd>Name of user who complete response or start a draft.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_quiz_response = []; - - /** - * This will be `true` if the API is being used from the backend. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $is_backend = false; - - /** - * The key of the business to show information for. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The key of the user to show information for. - * - * @get get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Form\Response; + +use WellnessLiving\Core\Quiz\ResponseStatusSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Quiz\Response\SourceSid; + +/** + * Retrieves a list of a user's quiz responses. + */ +class ResponseListModel extends WlModelAbstract +{ + /** + * The list of uncompleted quiz responses. Each element has the next structure: <dl> + * <dt>string <var>dtl_date</var></dt> + * <dd>The date of the request to fill out a quiz form.</dd> + * <dt>int <var>id_source</var></dt> + * <dd>The place where the request to fill out a quiz form occurred. One of the {@link SourceSid} constants.</dd> + * <dt>bool <var>is_private</var></dt> + * <dd> + * Determines whether the form can be viewed by staff member only after confirmation. + * `true` - the form can be viewed only after confirmation. + * `false` - the form can always be viewed. + * </dd> + * <dt>string <var>k_quiz</var></dt> + * <dd>The quiz key.</dd> + * <dt>string <var>k_quiz_login</var></dt> + * <dd>The key of the request.</dd> + * <dt>string|null <var>k_quiz_response</var></dt> + * <dd> + * Key of the response. + * Not `null` in case when response in draft status. + * </dd> + * <dt>string <var>text_title</var></dt> + * <dd>The quiz title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_quiz_login = []; + + /** + * The list of completed quiz responses. Each element has the next structure: <dl> + * <dt>string <var>dtl_date</var></dt> + * <dd>The date of the request to fill out a quiz form.</dd> + * <dt>int <var>id_source</var></dt> + * <dd>The place where the request to fill out the quiz form occurred. One of the {@link SourceSid} constants.</dd> + * <dt>int <var>id_status</var></dt> + * <dd>Status of the response. One of {@link ResponseStatusSid} constants.</dd> + * <dt>bool <var>is_private</var></dt> + * <dd> + * Determines whether the form can be viewed by staff member only after confirmation. + * `true` - the form can be viewed only after confirmation. + * `false` - the form can always be viewed. + * </dd> + * <dt>string <var>k_quiz</var></dt> + * <dd>The quiz key.</dd> + * <dt>string <var>k_quiz_login</var></dt> + * <dd>The quiz response key.</dd> + * <dt>string|null <var>text_amend_date</var></dt> + * <dd> + * Date when response amended. + * `null` if response was not edited. + * </dd> + * <dt>string|null <var>text_amend_user</var></dt> + * <dd> + * Name of the user who amend the response. + * `null` if response was not edited. + * </dd> + * <dt>string <var>text_title</var></dt> + * <dd>The quiz title.</dd> + * <dt>string <var>text_user</var></dt> + * <dd>Name of user who complete response or start a draft.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_quiz_response = []; + + /** + * This will be `true` if the API is being used from the backend. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_backend = false; + + /** + * The key of the business to show information for. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The key of the user to show information for. + * + * @get get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php index 3e30f722..88bcef4e 100644 --- a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php +++ b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php @@ -1,810 +1,810 @@ -<?php - -namespace WellnessLiving\Wl\Profile\PurchaseList; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\WlActivationSid; -use WellnessLiving\Wl\WlCommissionTypeSid; -use WellnessLiving\Wl\WlDurationTypeSid; -use WellnessLiving\Wl\WlProgramTypeSid; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Gets the details of a specified purchase. - * - * This endpoint may require different IDs to be specified for different types of purchases. The IDs required for a - * specific item will be the same IDs returned from the {@link PurchaseListModel} endpoint. - */ -class PurchaseListElementModel extends WlModelAbstract -{ - /** - * A list of components. This won't be empty if this purchase element is a package. Every element has keys: - * <dl> - * <dt> - * string [<var>k_enrollment_book</var>] - * </dt> - * <dd> - * The booking enrollment key. - * </dd> - * <dt> - * string [<var>k_login_product</var>] - * </dt> - * <dd> - * The key referencing the product a user purchased. - * </dd> - * <dt> - * string [<var>k_login_promotion</var>] - * </dt> - * <dd> - * The key of a user's Purchase Option. - * </dd> - * <dt> - * string [<var>k_session_pass</var>] - * </dt> - * <dd> - * The key of a user's session pass. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_component; - - /** - * An array containing information about the image of the purchased item. Every element has the following keys: - * <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * The height of the image. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * The width of the image. - * </dd> - * <dt> - * bool <var>is_empty</var> - * </dt> - * <dd> - * If `true`, then the purchased item doesn't have an image. If `false`, then the item has an image. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_logo; - - /** - * This field is used only for promotions. It contains restrictions that will apply to bookings made with - * this promotion. Every element has the following keys: - * <dl> - * <dt> - * int <var>i_limit</var> - * </dt> - * <dd> - * The number of sessions that may be booked during this period. - * </dd> - * <dt> - * int <var>i_remain</var> - * </dt> - * <dd> - * The number of sessions that remain available. - * </dd> - * <dt> - * string <var>text_date</var> - * </dt> - * <dd> - * The name of the period type. - * </dd> - * </dl>This will be an empty array for other purchased items. - * - * @get result - * @var array[] - */ - public $a_restrict; - - /** - * The list of taxes paid for the purchased item. Every element has the following fields: - * <dl> - * <dt> - * string <var>f_tax_discount</var> - * </dt> - * <dd> - * The amount of tax. - * </dd> - * <dt> - * string <var>s_tax</var> - * </dt> - * <dd> - * The name of the tax. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_tax; - - /** - * This is `true` only if the purchased item is a promotion and the user can control the renewal of the promotion. - * Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $can_renew; - - /** - * The expiration date of the promotion. This is used only if the purchased item is a promotion. - * - * @get result - * @var string - */ - public $dl_end; - - /** - * The local date of the purchase in MySQL format. - * - * @get result - * @var string - */ - public $dl_purchase; - - /** - * The local date in MySQL format when mail about purchasing was sent (or will be sent) to the user. - * This won't be empty only for gift cards. - * - * @get result - * @var string - */ - public $dl_send; - - /** - * The start date of the promotion. This is used only if the purchased item is a promotion. - * - * @get result - * @var string - */ - public $dl_start; - - /** - * The end date of the promotion hold. This is used only for promotions on hold. - * This value may be empty if the hold is eternal. - * - * @get result - * @var string - */ - public $dt_hold_end; - - /** - * The start date of the promotion hold. This is used only for promotions on hold. - * - * @get result - * @var string - */ - public $dt_hold_start; - - /** - * The purchase date of the purchased item. This is given in UTC in MySQL format. - * - * @get result - * @var string - */ - public $dt_purchase; - - /** - * The date in MySQL format when gift card was redeemed. This won't be empty only for gift cards. - * - * @get result - * @var string - */ - public $dt_redeem; - - /** - * The percentage value of the discount for the client type. This will be empty if a discount wasn't applied. - * - * @get result - * @var float - */ - public $f_discount_login_type_percent; - - /** - * The description of the purchased item. - * - * @get result - * @var string - */ - public $html_description; - - /** - * The number of sessions remaining for a promotion. This value is used only for promotions. This value will be `0` if - * the purchased item isn't a promotion or if there are no remaining sessions. - * - * @get result - * @var int - */ - public $i_book; - - /** - * Displays the number of minutes of sessions that were booked by this promotion. This isn't `0` only for promotions. - * - * @get result - * @var int - */ - public $i_book_duration; - - /** - * The number of purchased items bought at the time of purchase. - * This will be `0` for purchase items obtained via a redemption code or as a result of an import. - * - * @get result - * @var int - */ - public $i_buy; - - /** - * The percentage value of the discount given by a reward prize. This will be `0` if a discount wasn't applied. - * - * @get result - * @var int - */ - public $i_discount_count; - - /** - * The duration of the promotion. The measurement unit is <var>id_duration</var>. This field is only added for promotions. - * - * @get result - * @var int - */ - public $i_duration; - - /** - * Image Height in pixels. Please specify this value if you need purchase image to be returned in specific size. - * In case this value is not specified returned image will have default purchase size. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * Image Width in pixels. Please specify this value if you need purchase image to be returned in specific size. - * In case this value is not specified returned image will have default purchase size. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The number of bookings left with this promotion. This value is used only for non-sequential promotions. - * - * @get result - * @var int - */ - public $i_left; - - /** - * The number of visits that can be made with this promotion. This value is used only for promotions. - * - * @get result - * @var int - */ - public $i_limit; - - /** - * The interval duration of the regular payments. This value is used only for membership-type promotions. - * - * @get result - * @var int - */ - public $i_payment_period; - - /** - * The number of remaining bookings for the promotion. This is used only for promotions. - * - * @get result - * @var int - */ - public $i_remain; - - /** - * The number of minutes remaining for the promotion. - * This is used only for promotions that work with a limited number of minutes. - * - * @get result - * @var int - */ - public $i_remain_duration; - - /** - * Displays how many times promotion was updated. This isn't `0` only for promotions. - * - * @get result - * @var int - */ - public $i_renew; - - /** - * The number of visits that were attended for the promotion. This is used only for promotions. - * - * @get result - * @var int - */ - public $i_use; - - /** - * The number of minutes the user has already used with this purchase of this promotion. This isn't `0` only for promotions. - * - * @get result - * @var int - */ - public $i_use_duration; - - /** - * The activation mode. One of the {@link WlActivationSid} constants. This field is only added for promotions. - * - * @get result - * @var int - */ - public $id_activation; - - /** - * The type of discount given via a reward prize. One of the {@link WlCommissionTypeSid} constants. This will be empty - * if this discount wasn't applied. - * - * @get result - * @var int - */ - public $id_discount_commission_type; - - /** - * The type of duration for the promotion. This is used only for membership-type promotions. This determines - * whether the promotion lasts indefinitely, has a fixed duration, or ends on a specific date. The measurement unit - * for key <var>i_payment_period</var>. One of the {@link WlDurationTypeSid} constants. - * - * @get result - * @var int - */ - public $id_duration; - - /** - * The ID of the promotion program. This is used only for promotions. - * The measurement unit for key <var>i_payment_period</var>. The ID of promotion program type. - * One of the {@link WlProgramTypeSid} constants. - * - * @get result - * @var int - */ - public $id_program_type; - - /** - * The ID of the purchase item type. The measurement unit for key <var>i_payment_period</var>. - * The ID of purchase item type. One of the {@link WlPurchaseItemSid} constants. - * - * @get result - * @var int - */ - public $id_purchase_item; - - /** - * The ID of the sale category. One of the constants {@link WlSaleSid}. - * - * @get result - * @var int - */ - public $id_sale; - - /** - * If `true`, then the purchase item is active. If `false`, then the purchase item isn't active. - * - * @get result - * @var bool - */ - public $is_active; - - /** - * Whether the purchase item is asset. - * - * @get result - * @var bool - */ - public $is_asset; - - /** - * If `true`, then the purchased item is a component of another purchase item, as is the case of a package. - * If `false`, then the purchased item isn't a component of another purchase item. - * - * @get result - * @var bool - */ - public $is_component; - - /** - * If `true`, then this promotion will be converted to a different promotion after it expires. If `false`, then the - * promotion won't be converted to a different promotion after it expires. This can only be true for certain - * promotions. - * - * @get result - * @var bool - */ - public $is_convert; - - /** - * This is `true` only if the purchased item is a promotion that has expired. Otherwise, this will be `false` - * in all other cases. - * - * @get result - * @var bool - */ - public $is_expire; - - /** - * This is `true` only if the purchased item is a promotion and has been placed on hold. - * Otherwise, this is `false` in all other cases. - * - * @get result - * @var bool - */ - public $is_hold; - - /** - * If `true`, then the usage of this purchased item is disabled. - * If `false`, then the usage of this purchased item is enabled. - * - * @get result - * @var bool - */ - public $is_limit; - - /** - * If `true`, then the discount was applied for the member type. - * If `false`, then the discount was applied for the pass holder type. - * If `null`, then the discount was applied for the prospect type. This won't be `null` only if a discount based - * on a client type was applied. - * - * @get result - * @var bool|null - */ - public $is_login_type_member; - - /** - * If `true`, then the gift card email notification will be sent to the receiver. This is `true` only if the - * purchased item is a gift card. Otherwise, this will be `false` in all other cases. - * - * @get result - * @var bool - */ - public $is_mail; - - /** - * If `true`, then the gift card email notification has been sent. This can only be `true` if the purchased item - * is a gift card. Otherwise, this will be `false` in all other cases. - * - * @get result - * @var bool - */ - public $is_past; - - /** - * This is `true` if the gift card has been redeemed. - * This can only be `true` if the purchased item is a gift card. Otherwise, this will be `false` in all other cases. - * - * @get result - * @var bool - */ - public $is_redeem; - - /** - * This is `true` if the promotion is auto-renewable. This can only be `true` if the purchased item is a promotion. - * Otherwise, this will be `false` in all other cases. - * - * @get result - * @var bool - */ - public $is_renew; - - /** - * This is `true` if the promotion has been transferred. This can only be true if the purchased item is a promotion. - * This is `false` if the promotion hasn't been transferred or in all other cases. - * - * @get result - * @var bool - */ - public $is_transfer; - - /** - * The ID of the redemption code used to obtain the item. This should be specified only for items obtained via - * redemption code (not for ordinary purchases or for purchased promotions without purchases). - * This will be `null` if not set yet. - * - * @get get - * @var string - */ - public $k_code = '0'; - - /** - * The key of the redemption code. This value will not be `0` if the purchased item is obtained via a redemption - * code or if it's a component of a package obtained via a redemption code. - * - * @get result - * @var string - */ - public $k_code_result; - - /** - * The key of the currency used to make the purchase. - * - * @get result - * @var string - */ - public $k_currency; - - /** - * The key of an entirely booked event. This must be specified if the purchased item is a whole event - * and part of a package. - * - * @get get - * @var string - */ - public $k_enrollment_book = '0'; - - /** - * The key of the item. This can correspond to one of many values depending on {@link PurchaseListElementModel::$id_sale}. - * - * @get result - * @var string - */ - public $k_id = '0'; - - /** - * The key of a purchased product. This must be specified if the purchased item is a product and part of a package. - * - * @get get - * @var string - */ - public $k_login_product = '0'; - - /** - * The key of the user's promotion. This should only be specified for promotions given without a purchase. - * This isn't for ordinary purchases or for promotions obtained via redemption codes. This will be `null` if not set yet. - * - * @get get - * @var string - */ - public $k_login_promotion = '0'; - - /** - * The key of the purchased promotion. This won't be `0` only for promotions. - * - * @get result - * @var string - */ - public $k_login_promotion_result; - - /** - * The key of the purchased item. This should be specified only for ordinary purchases - * and not for purchases obtained via redemption codes or as a result of an old import. - * - * @get get - * @var string - */ - public $k_purchase_item = '0'; - - /** - * The key of the whole purchase, including the given purchased item. - * - * @get result - * @var string - */ - public $k_purchase_result; - - /** - * The ID of the makeup session used to attend an event. - * - * This must be specified if the purchase item is a component of a package and a whole event booking. - * And only for items which aren't components of package. - * - * @get get - * @var string - */ - public $k_session_pass = '0'; - - /** - * The cost of the purchased item. - * - * @get result - * @var string - */ - public $m_cost_item; - - /** - * The total cost of the purchase, including taxes and fees. - * - * @get result - * @var string - */ - public $m_cost_total; - - /** - * The amount of the discount via prize. This will be empty if this discount wasn't applied. - * - * @get result - * @var string - */ - public $m_discount_amount; - - /** - * The amount of the discount for the client type. This value will be empty if the discount wasn't applied. - * - * @get result - * @var string - */ - public $m_discount_login_type_amount; - - /** - * The amount of the manual discount. This will be empty if this discount wasn't applied. - * - * @get result - * @var string - */ - public $m_discount_manual; - - /** - * The amount to pay for each payment period. This is used only for promotions with the membership program type. - * - * @get result - * @var string - */ - public $m_period_price; - - /** - * The source price of item. - * - * @get result - * @var string - */ - public $m_price; - - /** - * The amount refunded. This will be `0` if there are no refunds. - * - * @get result - * @var string - */ - public $m_refund; - - /** - * The redemption code. This value is used only if the purchase is bought via a redemption code. - * - * @get result - * @var string - */ - public $s_code; - - /** - * The code to redeem the gift card. This isn't empty only for gift cards. - * - * This can be auto-generated or custom (entered manually by the staff member during purchase). - * The max length is 20 characters, including numbers and letters. - * - * @get result - * @var string - */ - public $s_gift_code; - - /** - * The name of gift recipient. This isn't empty only for gift cards. - * - * @get result - * @var string - */ - public $s_gift_recipient; - - /** - * The name of the staff member who disabled the usage of the purchased item. - * This will be empty if the purchased item is enabled. - * - * @get result - * @var string - */ - public $s_limit_actor; - - /** - * The email address to which the gift card was sent. This is used only for gift cards. - * - * @get result - * @var string - */ - public $s_mail; - - /** - * The test of the message sent to the gift card recipient. This is used only for gift cards. - * This will be empty if an email notification shouldn't be sent. - * - * @get result - * @var string - */ - public $s_message; - - /** - * The name of the user who paid for this purchase. - * - * @get result - * @var string - */ - public $s_payer; - - /** - * The title of the converted promotion. This value is used only for promotions that must be converted to another - * promotion after expiration. - * - * @get result - * @var string - */ - public $s_promotion_convert; - - /** - * The purchase ID number as it appears on the receipt. This value will also include the leading 0s for the ID number. - * - * @get result - * @var string - */ - public $s_purchase; - - /** - * The name of the user who paid for this purchase. - * - * @get result - * @var string - */ - public $s_recipient; - - /** - * The name of the sender. This value is used only for gift cards. - * - * @get result - * @var string - */ - public $s_sender; - - /** - * The name of the purchased item. - * - * @get result - * @var string - */ - public $s_title; - - /** - * The string ID of the purchased item. This ID may be used to change the view of the purchased item. - * - * @get result - * @var string - */ - public $sid_value; - - /** - * The key of the user who paid for this purchase. - * - * @get result - * @var string - */ - public $uid_payer; - - /** - * The key of the user who paid for this purchase. - * - * @get result - * @var string - */ - public $uid_recipient; -} - +<?php + +namespace WellnessLiving\Wl\Profile\PurchaseList; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\WlActivationSid; +use WellnessLiving\Wl\WlCommissionTypeSid; +use WellnessLiving\Wl\WlDurationTypeSid; +use WellnessLiving\Wl\WlProgramTypeSid; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Gets the details of a specified purchase. + * + * This endpoint may require different IDs to be specified for different types of purchases. The IDs required for a + * specific item will be the same IDs returned from the {@link PurchaseListModel} endpoint. + */ +class PurchaseListElementModel extends WlModelAbstract +{ + /** + * A list of components. This won't be empty if this purchase element is a package. Every element has keys: + * <dl> + * <dt> + * string [<var>k_enrollment_book</var>] + * </dt> + * <dd> + * The booking enrollment key. + * </dd> + * <dt> + * string [<var>k_login_product</var>] + * </dt> + * <dd> + * The key referencing the product a user purchased. + * </dd> + * <dt> + * string [<var>k_login_promotion</var>] + * </dt> + * <dd> + * The key of a user's Purchase Option. + * </dd> + * <dt> + * string [<var>k_session_pass</var>] + * </dt> + * <dd> + * The key of a user's session pass. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_component; + + /** + * An array containing information about the image of the purchased item. Every element has the following keys: + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * The height of the image. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * The width of the image. + * </dd> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * If `true`, then the purchased item doesn't have an image. If `false`, then the item has an image. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_logo; + + /** + * This field is used only for promotions. It contains restrictions that will apply to bookings made with + * this promotion. Every element has the following keys: + * <dl> + * <dt> + * int <var>i_limit</var> + * </dt> + * <dd> + * The number of sessions that may be booked during this period. + * </dd> + * <dt> + * int <var>i_remain</var> + * </dt> + * <dd> + * The number of sessions that remain available. + * </dd> + * <dt> + * string <var>text_date</var> + * </dt> + * <dd> + * The name of the period type. + * </dd> + * </dl>This will be an empty array for other purchased items. + * + * @get result + * @var array[] + */ + public $a_restrict; + + /** + * The list of taxes paid for the purchased item. Every element has the following fields: + * <dl> + * <dt> + * string <var>f_tax_discount</var> + * </dt> + * <dd> + * The amount of tax. + * </dd> + * <dt> + * string <var>s_tax</var> + * </dt> + * <dd> + * The name of the tax. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_tax; + + /** + * This is `true` only if the purchased item is a promotion and the user can control the renewal of the promotion. + * Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $can_renew; + + /** + * The expiration date of the promotion. This is used only if the purchased item is a promotion. + * + * @get result + * @var string + */ + public $dl_end; + + /** + * The local date of the purchase in MySQL format. + * + * @get result + * @var string + */ + public $dl_purchase; + + /** + * The local date in MySQL format when mail about purchasing was sent (or will be sent) to the user. + * This won't be empty only for gift cards. + * + * @get result + * @var string + */ + public $dl_send; + + /** + * The start date of the promotion. This is used only if the purchased item is a promotion. + * + * @get result + * @var string + */ + public $dl_start; + + /** + * The end date of the promotion hold. This is used only for promotions on hold. + * This value may be empty if the hold is eternal. + * + * @get result + * @var string + */ + public $dt_hold_end; + + /** + * The start date of the promotion hold. This is used only for promotions on hold. + * + * @get result + * @var string + */ + public $dt_hold_start; + + /** + * The purchase date of the purchased item. This is given in UTC in MySQL format. + * + * @get result + * @var string + */ + public $dt_purchase; + + /** + * The date in MySQL format when gift card was redeemed. This won't be empty only for gift cards. + * + * @get result + * @var string + */ + public $dt_redeem; + + /** + * The percentage value of the discount for the client type. This will be empty if a discount wasn't applied. + * + * @get result + * @var float + */ + public $f_discount_login_type_percent; + + /** + * The description of the purchased item. + * + * @get result + * @var string + */ + public $html_description; + + /** + * The number of sessions remaining for a promotion. This value is used only for promotions. This value will be `0` if + * the purchased item isn't a promotion or if there are no remaining sessions. + * + * @get result + * @var int + */ + public $i_book; + + /** + * Displays the number of minutes of sessions that were booked by this promotion. This isn't `0` only for promotions. + * + * @get result + * @var int + */ + public $i_book_duration; + + /** + * The number of purchased items bought at the time of purchase. + * This will be `0` for purchase items obtained via a redemption code or as a result of an import. + * + * @get result + * @var int + */ + public $i_buy; + + /** + * The percentage value of the discount given by a reward prize. This will be `0` if a discount wasn't applied. + * + * @get result + * @var int + */ + public $i_discount_count; + + /** + * The duration of the promotion. The measurement unit is <var>id_duration</var>. This field is only added for promotions. + * + * @get result + * @var int + */ + public $i_duration; + + /** + * Image Height in pixels. Please specify this value if you need purchase image to be returned in specific size. + * In case this value is not specified returned image will have default purchase size. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * Image Width in pixels. Please specify this value if you need purchase image to be returned in specific size. + * In case this value is not specified returned image will have default purchase size. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The number of bookings left with this promotion. This value is used only for non-sequential promotions. + * + * @get result + * @var int + */ + public $i_left; + + /** + * The number of visits that can be made with this promotion. This value is used only for promotions. + * + * @get result + * @var int + */ + public $i_limit; + + /** + * The interval duration of the regular payments. This value is used only for membership-type promotions. + * + * @get result + * @var int + */ + public $i_payment_period; + + /** + * The number of remaining bookings for the promotion. This is used only for promotions. + * + * @get result + * @var int + */ + public $i_remain; + + /** + * The number of minutes remaining for the promotion. + * This is used only for promotions that work with a limited number of minutes. + * + * @get result + * @var int + */ + public $i_remain_duration; + + /** + * Displays how many times promotion was updated. This isn't `0` only for promotions. + * + * @get result + * @var int + */ + public $i_renew; + + /** + * The number of visits that were attended for the promotion. This is used only for promotions. + * + * @get result + * @var int + */ + public $i_use; + + /** + * The number of minutes the user has already used with this purchase of this promotion. This isn't `0` only for promotions. + * + * @get result + * @var int + */ + public $i_use_duration; + + /** + * The activation mode. One of the {@link WlActivationSid} constants. This field is only added for promotions. + * + * @get result + * @var int + */ + public $id_activation; + + /** + * The type of discount given via a reward prize. One of the {@link WlCommissionTypeSid} constants. This will be empty + * if this discount wasn't applied. + * + * @get result + * @var int + */ + public $id_discount_commission_type; + + /** + * The type of duration for the promotion. This is used only for membership-type promotions. This determines + * whether the promotion lasts indefinitely, has a fixed duration, or ends on a specific date. The measurement unit + * for key <var>i_payment_period</var>. One of the {@link WlDurationTypeSid} constants. + * + * @get result + * @var int + */ + public $id_duration; + + /** + * The ID of the promotion program. This is used only for promotions. + * The measurement unit for key <var>i_payment_period</var>. The ID of promotion program type. + * One of the {@link WlProgramTypeSid} constants. + * + * @get result + * @var int + */ + public $id_program_type; + + /** + * The ID of the purchase item type. The measurement unit for key <var>i_payment_period</var>. + * The ID of purchase item type. One of the {@link WlPurchaseItemSid} constants. + * + * @get result + * @var int + */ + public $id_purchase_item; + + /** + * The ID of the sale category. One of the constants {@link WlSaleSid}. + * + * @get result + * @var int + */ + public $id_sale; + + /** + * If `true`, then the purchase item is active. If `false`, then the purchase item isn't active. + * + * @get result + * @var bool + */ + public $is_active; + + /** + * Whether the purchase item is asset. + * + * @get result + * @var bool + */ + public $is_asset; + + /** + * If `true`, then the purchased item is a component of another purchase item, as is the case of a package. + * If `false`, then the purchased item isn't a component of another purchase item. + * + * @get result + * @var bool + */ + public $is_component; + + /** + * If `true`, then this promotion will be converted to a different promotion after it expires. If `false`, then the + * promotion won't be converted to a different promotion after it expires. This can only be true for certain + * promotions. + * + * @get result + * @var bool + */ + public $is_convert; + + /** + * This is `true` only if the purchased item is a promotion that has expired. Otherwise, this will be `false` + * in all other cases. + * + * @get result + * @var bool + */ + public $is_expire; + + /** + * This is `true` only if the purchased item is a promotion and has been placed on hold. + * Otherwise, this is `false` in all other cases. + * + * @get result + * @var bool + */ + public $is_hold; + + /** + * If `true`, then the usage of this purchased item is disabled. + * If `false`, then the usage of this purchased item is enabled. + * + * @get result + * @var bool + */ + public $is_limit; + + /** + * If `true`, then the discount was applied for the member type. + * If `false`, then the discount was applied for the pass holder type. + * If `null`, then the discount was applied for the prospect type. This won't be `null` only if a discount based + * on a client type was applied. + * + * @get result + * @var bool|null + */ + public $is_login_type_member; + + /** + * If `true`, then the gift card email notification will be sent to the receiver. This is `true` only if the + * purchased item is a gift card. Otherwise, this will be `false` in all other cases. + * + * @get result + * @var bool + */ + public $is_mail; + + /** + * If `true`, then the gift card email notification has been sent. This can only be `true` if the purchased item + * is a gift card. Otherwise, this will be `false` in all other cases. + * + * @get result + * @var bool + */ + public $is_past; + + /** + * This is `true` if the gift card has been redeemed. + * This can only be `true` if the purchased item is a gift card. Otherwise, this will be `false` in all other cases. + * + * @get result + * @var bool + */ + public $is_redeem; + + /** + * This is `true` if the promotion is auto-renewable. This can only be `true` if the purchased item is a promotion. + * Otherwise, this will be `false` in all other cases. + * + * @get result + * @var bool + */ + public $is_renew; + + /** + * This is `true` if the promotion has been transferred. This can only be true if the purchased item is a promotion. + * This is `false` if the promotion hasn't been transferred or in all other cases. + * + * @get result + * @var bool + */ + public $is_transfer; + + /** + * The ID of the redemption code used to obtain the item. This should be specified only for items obtained via + * redemption code (not for ordinary purchases or for purchased promotions without purchases). + * This will be `null` if not set yet. + * + * @get get + * @var string + */ + public $k_code = '0'; + + /** + * The key of the redemption code. This value will not be `0` if the purchased item is obtained via a redemption + * code or if it's a component of a package obtained via a redemption code. + * + * @get result + * @var string + */ + public $k_code_result; + + /** + * The key of the currency used to make the purchase. + * + * @get result + * @var string + */ + public $k_currency; + + /** + * The key of an entirely booked event. This must be specified if the purchased item is a whole event + * and part of a package. + * + * @get get + * @var string + */ + public $k_enrollment_book = '0'; + + /** + * The key of the item. This can correspond to one of many values depending on {@link PurchaseListElementModel::$id_sale}. + * + * @get result + * @var string + */ + public $k_id = '0'; + + /** + * The key of a purchased product. This must be specified if the purchased item is a product and part of a package. + * + * @get get + * @var string + */ + public $k_login_product = '0'; + + /** + * The key of the user's promotion. This should only be specified for promotions given without a purchase. + * This isn't for ordinary purchases or for promotions obtained via redemption codes. This will be `null` if not set yet. + * + * @get get + * @var string + */ + public $k_login_promotion = '0'; + + /** + * The key of the purchased promotion. This won't be `0` only for promotions. + * + * @get result + * @var string + */ + public $k_login_promotion_result; + + /** + * The key of the purchased item. This should be specified only for ordinary purchases + * and not for purchases obtained via redemption codes or as a result of an old import. + * + * @get get + * @var string + */ + public $k_purchase_item = '0'; + + /** + * The key of the whole purchase, including the given purchased item. + * + * @get result + * @var string + */ + public $k_purchase_result; + + /** + * The ID of the makeup session used to attend an event. + * + * This must be specified if the purchase item is a component of a package and a whole event booking. + * And only for items which aren't components of package. + * + * @get get + * @var string + */ + public $k_session_pass = '0'; + + /** + * The cost of the purchased item. + * + * @get result + * @var string + */ + public $m_cost_item; + + /** + * The total cost of the purchase, including taxes and fees. + * + * @get result + * @var string + */ + public $m_cost_total; + + /** + * The amount of the discount via prize. This will be empty if this discount wasn't applied. + * + * @get result + * @var string + */ + public $m_discount_amount; + + /** + * The amount of the discount for the client type. This value will be empty if the discount wasn't applied. + * + * @get result + * @var string + */ + public $m_discount_login_type_amount; + + /** + * The amount of the manual discount. This will be empty if this discount wasn't applied. + * + * @get result + * @var string + */ + public $m_discount_manual; + + /** + * The amount to pay for each payment period. This is used only for promotions with the membership program type. + * + * @get result + * @var string + */ + public $m_period_price; + + /** + * The source price of item. + * + * @get result + * @var string + */ + public $m_price; + + /** + * The amount refunded. This will be `0` if there are no refunds. + * + * @get result + * @var string + */ + public $m_refund; + + /** + * The redemption code. This value is used only if the purchase is bought via a redemption code. + * + * @get result + * @var string + */ + public $s_code; + + /** + * The code to redeem the gift card. This isn't empty only for gift cards. + * + * This can be auto-generated or custom (entered manually by the staff member during purchase). + * The max length is 20 characters, including numbers and letters. + * + * @get result + * @var string + */ + public $s_gift_code; + + /** + * The name of gift recipient. This isn't empty only for gift cards. + * + * @get result + * @var string + */ + public $s_gift_recipient; + + /** + * The name of the staff member who disabled the usage of the purchased item. + * This will be empty if the purchased item is enabled. + * + * @get result + * @var string + */ + public $s_limit_actor; + + /** + * The email address to which the gift card was sent. This is used only for gift cards. + * + * @get result + * @var string + */ + public $s_mail; + + /** + * The test of the message sent to the gift card recipient. This is used only for gift cards. + * This will be empty if an email notification shouldn't be sent. + * + * @get result + * @var string + */ + public $s_message; + + /** + * The name of the user who paid for this purchase. + * + * @get result + * @var string + */ + public $s_payer; + + /** + * The title of the converted promotion. This value is used only for promotions that must be converted to another + * promotion after expiration. + * + * @get result + * @var string + */ + public $s_promotion_convert; + + /** + * The purchase ID number as it appears on the receipt. This value will also include the leading 0s for the ID number. + * + * @get result + * @var string + */ + public $s_purchase; + + /** + * The name of the user who paid for this purchase. + * + * @get result + * @var string + */ + public $s_recipient; + + /** + * The name of the sender. This value is used only for gift cards. + * + * @get result + * @var string + */ + public $s_sender; + + /** + * The name of the purchased item. + * + * @get result + * @var string + */ + public $s_title; + + /** + * The string ID of the purchased item. This ID may be used to change the view of the purchased item. + * + * @get result + * @var string + */ + public $sid_value; + + /** + * The key of the user who paid for this purchase. + * + * @get result + * @var string + */ + public $uid_payer; + + /** + * The key of the user who paid for this purchase. + * + * @get result + * @var string + */ + public $uid_recipient; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListModel.php b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListModel.php index 520c47c9..5cc9e094 100644 --- a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListModel.php +++ b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListModel.php @@ -1,164 +1,164 @@ -<?php - -namespace WellnessLiving\Wl\Profile\PurchaseList; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\WlSaleSid; - -/** - * Gets a list of purchases for a user. - */ -class PurchaseListModel extends WlModelAbstract -{ - /** - * A list of purchased items. Every element contains a sub-array with the following fields: - * <dl> - * <dt> - * bool[] <var>a_active</var> - * </dt> - * <dd> - * The value of <var>a_purchase['is_active']</var>. For packages, this also contains the values of <var>a_purchase['is_active']</var> of every component. - * </dd> - * <dt> - * int[] <var>a_sale</var> - * </dt> - * <dd> - * The value of <var>a_purchase['id_sale']</var>. For packages, this also contains the values of <var>a_purchase['id_sale']</var> of every component. - * </dd> - * <dt> - * string <var>dt_add</var> - * </dt> - * <dd> - * The date that the purchase was added. - * </dd> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of the purchase type. One of the constants {@link WlPurchaseItemSid}. - * </dd> - * <dt> - * int <var>id_sale</var> - * </dt> - * <dd> - * The ID of the sale category in the store. One of the constants {@link WlSaleSid}. - * </dd> - * <dt> - * bool <var>is_active</var> - * </dt> - * <dd> - * If `true`, then the purchase item is active. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool [<var>is_component</var>] - * </dt> - * <dd> - * If `true`, then the purchase item is a package component. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>k_appointment</var> - * </dt> - * <dd> - * Appointment key. - * </dd> - * <dt> - * string <var>k_code</var> - * </dt> - * <dd> - * The redemption code key that was used to make a purchase. - * This is used only if <var>k_login_promotion</var> and <var>k_purchase</var> are empty. - * </dd> - * <dt> - * string [<var>k_enrollment_book</var>] - * </dt> - * <dd> - * The key of an event that requires clients to book every session at once. - * This is used only if the event is part of a package. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the purchase type referring to different types of keys depending on the value of <var>id_sale</var>. - * </dd> - * <dt> - * string [<var>k_login_product</var>] - * </dt> - * <dd> - * The key of the purchased product. - * This is used only if the event is part of a package. - * </dd> - * <dt> - * string <var>k_login_promotion</var> - * </dt> - * <dd> - * The key of the user's existing purchase options. - * This is used only if `k_code` and `k_purchase` are empty. - * </dd> - * <dt> - * string <var>k_purchase</var> - * </dt> - * <dd> - * The key of a purchase where no special case rules are in effect. - * This is used only used if `k_code` is empty. - * </dd> - * <dt> - * string <var>k_purchase_item</var> - * </dt> - * <dd> - * The key of a purchase item where no special case rules are in effect. - * This is used only if <var>k_code</var> is empty. - * </dd> - * <dt> - * string <var>k_service</var> - * </dt> - * <dd> - * Service key. - * </dd> - * <dt> - * string [<var>k_session_pass</var>] - * </dt> - * <dd> - * In certain cases a session can be canceled and makeup sessions can be granted to a client in lieu of - * other compensation. This is the key of one of the makeup sessions used to attend an event. This is also - * present for a repeat purchase of an event. - * - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The name of the purchase item. - * </dd> - * <dt> - * string <var>uid</var> - * </dt> - * <dd> - * The ID of the purchase owner. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_purchase; - - /** - * The key of a business to show information for. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The key of a user to show information for. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Profile\PurchaseList; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Gets a list of purchases for a user. + */ +class PurchaseListModel extends WlModelAbstract +{ + /** + * A list of purchased items. Every element contains a sub-array with the following fields: + * <dl> + * <dt> + * bool[] <var>a_active</var> + * </dt> + * <dd> + * The value of <var>a_purchase['is_active']</var>. For packages, this also contains the values of <var>a_purchase['is_active']</var> of every component. + * </dd> + * <dt> + * int[] <var>a_sale</var> + * </dt> + * <dd> + * The value of <var>a_purchase['id_sale']</var>. For packages, this also contains the values of <var>a_purchase['id_sale']</var> of every component. + * </dd> + * <dt> + * string <var>dt_add</var> + * </dt> + * <dd> + * The date that the purchase was added. + * </dd> + * <dt> + * int <var>id_purchase_item</var> + * </dt> + * <dd> + * The ID of the purchase type. One of the constants {@link WlPurchaseItemSid}. + * </dd> + * <dt> + * int <var>id_sale</var> + * </dt> + * <dd> + * The ID of the sale category in the store. One of the constants {@link WlSaleSid}. + * </dd> + * <dt> + * bool <var>is_active</var> + * </dt> + * <dd> + * If `true`, then the purchase item is active. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool [<var>is_component</var>] + * </dt> + * <dd> + * If `true`, then the purchase item is a package component. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>k_appointment</var> + * </dt> + * <dd> + * Appointment key. + * </dd> + * <dt> + * string <var>k_code</var> + * </dt> + * <dd> + * The redemption code key that was used to make a purchase. + * This is used only if <var>k_login_promotion</var> and <var>k_purchase</var> are empty. + * </dd> + * <dt> + * string [<var>k_enrollment_book</var>] + * </dt> + * <dd> + * The key of an event that requires clients to book every session at once. + * This is used only if the event is part of a package. + * </dd> + * <dt> + * string <var>k_id</var> + * </dt> + * <dd> + * The key of the purchase type referring to different types of keys depending on the value of <var>id_sale</var>. + * </dd> + * <dt> + * string [<var>k_login_product</var>] + * </dt> + * <dd> + * The key of the purchased product. + * This is used only if the event is part of a package. + * </dd> + * <dt> + * string <var>k_login_promotion</var> + * </dt> + * <dd> + * The key of the user's existing purchase options. + * This is used only if `k_code` and `k_purchase` are empty. + * </dd> + * <dt> + * string <var>k_purchase</var> + * </dt> + * <dd> + * The key of a purchase where no special case rules are in effect. + * This is used only used if `k_code` is empty. + * </dd> + * <dt> + * string <var>k_purchase_item</var> + * </dt> + * <dd> + * The key of a purchase item where no special case rules are in effect. + * This is used only if <var>k_code</var> is empty. + * </dd> + * <dt> + * string <var>k_service</var> + * </dt> + * <dd> + * Service key. + * </dd> + * <dt> + * string [<var>k_session_pass</var>] + * </dt> + * <dd> + * In certain cases a session can be canceled and makeup sessions can be granted to a client in lieu of + * other compensation. This is the key of one of the makeup sessions used to attend an event. This is also + * present for a repeat purchase of an event. + * + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The name of the purchase item. + * </dd> + * <dt> + * string <var>uid</var> + * </dt> + * <dd> + * The ID of the purchase owner. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_purchase; + + /** + * The key of a business to show information for. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The key of a user to show information for. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/RegisterSourceSid.php b/WellnessLiving/Wl/Profile/RegisterSourceSid.php index 5b4388f1..afa4d848 100644 --- a/WellnessLiving/Wl/Profile/RegisterSourceSid.php +++ b/WellnessLiving/Wl/Profile/RegisterSourceSid.php @@ -1,28 +1,28 @@ -<?php - -namespace WellnessLiving\Wl\Profile; - -/** - * List of sources from where the user registers. - */ -class RegisterSourceSid -{ - /** - * Source when user register during purchase or booking. - * - * <b> - * Don't use for edit existing user profile. - * Used only to register new clients during booking or purchase. - * </b> - */ - const BOOKING_AND_PURCHASE = 1; - - /** - * Source when user register on self registration web app, self registration web app URL etc. - * - * <b>Don't use for edit existing user profile.</b> - */ - const SELF = 2; -} - +<?php + +namespace WellnessLiving\Wl\Profile; + +/** + * List of sources from where the user registers. + */ +class RegisterSourceSid +{ + /** + * Source when user register during purchase or booking. + * + * <b> + * Don't use for edit existing user profile. + * Used only to register new clients during booking or purchase. + * </b> + */ + const BOOKING_AND_PURCHASE = 1; + + /** + * Source when user register on self registration web app, self registration web app URL etc. + * + * <b>Don't use for edit existing user profile.</b> + */ + const SELF = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Setting/SettingModel.php b/WellnessLiving/Wl/Profile/Setting/SettingModel.php index 73ddbbdb..b187ec4a 100644 --- a/WellnessLiving/Wl/Profile/Setting/SettingModel.php +++ b/WellnessLiving/Wl/Profile/Setting/SettingModel.php @@ -1,95 +1,95 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Setting; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves the user’s notification settings. - * - * Alternatively, this endpoint can be used to change a user’s notification settings. - */ -class SettingModel extends WlModelAbstract -{ - /** - * Determines whether email notifications related to purchases, contracts, and other activity in a client's account are enabled. - * - * @get result - * @post post - * @var bool - */ - public $is_account_management_email = true; - - /** - * Determines whether SMS notifications related to purchases, contracts, and other activity in a client's account are enabled. - * - * @get result - * @post post - * @var bool - */ - public $is_account_management_sms = true; - - /** - * Determines whether email notifications related to news and updates from the business regarding their services, availability, and promotions are enabled. - * - * @get result - * @post post - * @var bool - */ - public $is_news_and_updates_email = true; - - /** - * Whether sms notifications related to news and updates from the business regarding their services, availability and promotions are enabled. - * - * @get result - * @post post - * @var bool - */ - public $is_news_and_updates_sms = true; - - /** - * Determines whether email notifications related to the services a client has booked are enabled. - * - * @get result - * @post post - * @var bool - */ - public $is_schedule_and_reminders_email = true; - - /** - * Determines whether SMS notifications related to the services a client has booked are enabled. - * - * @get result - * @post post - * @var bool - */ - public $is_schedule_and_reminders_sms = true; - - /** - * The key of the business to show information for. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * SID of language code. - * - * @get result - * @var string - */ - public $text_language = ''; - - /** - * The key of the user to show information for. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Setting; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves the user’s notification settings. + * + * Alternatively, this endpoint can be used to change a user’s notification settings. + */ +class SettingModel extends WlModelAbstract +{ + /** + * Determines whether email notifications related to purchases, contracts, and other activity in a client's account are enabled. + * + * @get result + * @post post + * @var bool + */ + public $is_account_management_email = true; + + /** + * Determines whether SMS notifications related to purchases, contracts, and other activity in a client's account are enabled. + * + * @get result + * @post post + * @var bool + */ + public $is_account_management_sms = true; + + /** + * Determines whether email notifications related to news and updates from the business regarding their services, availability, and promotions are enabled. + * + * @get result + * @post post + * @var bool + */ + public $is_news_and_updates_email = true; + + /** + * Whether sms notifications related to news and updates from the business regarding their services, availability and promotions are enabled. + * + * @get result + * @post post + * @var bool + */ + public $is_news_and_updates_sms = true; + + /** + * Determines whether email notifications related to the services a client has booked are enabled. + * + * @get result + * @post post + * @var bool + */ + public $is_schedule_and_reminders_email = true; + + /** + * Determines whether SMS notifications related to the services a client has booked are enabled. + * + * @get result + * @post post + * @var bool + */ + public $is_schedule_and_reminders_sms = true; + + /** + * The key of the business to show information for. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * SID of language code. + * + * @get result + * @var string + */ + public $text_language = ''; + + /** + * The key of the user to show information for. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Term/TermModel.php b/WellnessLiving/Wl/Profile/Term/TermModel.php index 16c6e44d..cc90758a 100644 --- a/WellnessLiving/Wl/Profile/Term/TermModel.php +++ b/WellnessLiving/Wl/Profile/Term/TermModel.php @@ -1,89 +1,89 @@ -<?php - -namespace WellnessLiving\Wl\Profile\Term; - -use WellnessLiving\WlModelAbstract; - -/** - * Displays information about online waiver. - */ -class TermModel extends WlModelAbstract -{ - /** - * The date/time of the waiver confirmation. - * <tt>null</tt> if waiver is not confirmed. - * - * @get result - * @var string|null - */ - public $dt_agree; - - /** - * The text of the online waiver. - * - * @get result - * @var string - */ - public $html_contract; - - /** - * Age of minor which documents can be signed by parent or legal guardian. - * - * @get result - * @var int - */ - public $i_minor_age; - - /** - * The IP address from which the confirmation was carried out. - * <tt>null</tt> if waiver is not confirmed. - * - * @get result - * @var string|null - */ - public $ip_agree; - - /** - * Flag of successful saving agreement. - * <tt>true</tt> if agreement was sign up successful <tt>false</tt> - otherwise. - * - * @get result - * @var bool - */ - public $is_agree; - - /** - * The key of the current business. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The user's name. - * - * @get result - * @var string - */ - public $s_name; - - /** - * The key of the user to show information for. - * - * @get get - * @var string - */ - public $uid = '0'; - - /** - * The URL to the image with the client's signature. - * <tt>false</tt> if waiver is not confirmed. - * - * @get result - * @var string|false - */ - public $url_signature; -} - +<?php + +namespace WellnessLiving\Wl\Profile\Term; + +use WellnessLiving\WlModelAbstract; + +/** + * Displays information about online waiver. + */ +class TermModel extends WlModelAbstract +{ + /** + * The date/time of the waiver confirmation. + * <tt>null</tt> if waiver is not confirmed. + * + * @get result + * @var string|null + */ + public $dt_agree; + + /** + * The text of the online waiver. + * + * @get result + * @var string + */ + public $html_contract; + + /** + * Age of minor which documents can be signed by parent or legal guardian. + * + * @get result + * @var int + */ + public $i_minor_age; + + /** + * The IP address from which the confirmation was carried out. + * <tt>null</tt> if waiver is not confirmed. + * + * @get result + * @var string|null + */ + public $ip_agree; + + /** + * Flag of successful saving agreement. + * <tt>true</tt> if agreement was sign up successful <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_agree; + + /** + * The key of the current business. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The user's name. + * + * @get result + * @var string + */ + public $s_name; + + /** + * The key of the user to show information for. + * + * @get get + * @var string + */ + public $uid = '0'; + + /** + * The URL to the image with the client's signature. + * <tt>false</tt> if waiver is not confirmed. + * + * @get result + * @var string|false + */ + public $url_signature; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php b/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php index 850a9243..aaf7da69 100644 --- a/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php +++ b/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php @@ -1,28 +1,28 @@ -<?php - -namespace WellnessLiving\Wl\Promotion\Convert; - -/** - * List of options to convert promotion. - * - * Last used ID: 3. - */ -class PromotionConvertSid -{ - /** - * Promotion conversion downgraded. - */ - const DOWNGRADE = 1; - - /** - * Type of the promotion conversion. - */ - const EQUAL_VALUE = 2; - - /** - * Promotion conversion upgraded. - */ - const UPGRADE = 3; -} - +<?php + +namespace WellnessLiving\Wl\Promotion\Convert; + +/** + * List of options to convert promotion. + * + * Last used ID: 3. + */ +class PromotionConvertSid +{ + /** + * Promotion conversion downgraded. + */ + const DOWNGRADE = 1; + + /** + * Type of the promotion conversion. + */ + const EQUAL_VALUE = 2; + + /** + * Promotion conversion upgraded. + */ + const UPGRADE = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php b/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php index c8c018ad..3f9fc4b2 100644 --- a/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php +++ b/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php @@ -1,21 +1,21 @@ -<?php - -namespace WellnessLiving\Wl\Promotion\Edit\Limit\Cycle; - -/** - * Attendance Restriction cycle type. - */ -class Sid -{ - /** - * Attendance Restriction is applied at the start of the calendar cycle. - */ - const CALENDAR = 1; - - /** - * Attendance Restriction is applied at the start of the payment cycle. - */ - const PAYMENT = 2; -} - +<?php + +namespace WellnessLiving\Wl\Promotion\Edit\Limit\Cycle; + +/** + * Attendance Restriction cycle type. + */ +class Sid +{ + /** + * Attendance Restriction is applied at the start of the calendar cycle. + */ + const CALENDAR = 1; + + /** + * Attendance Restriction is applied at the start of the payment cycle. + */ + const PAYMENT = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php b/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php index dedfb8ed..5e1b6225 100644 --- a/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php +++ b/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php @@ -1,309 +1,309 @@ -<?php - -namespace WellnessLiving\Wl\Promotion\Index; - -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Event\EventListModel; -use WellnessLiving\Wl\Promotion\Edit\Limit\Cycle\Sid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; -use WellnessLiving\Wl\WlDurationTypeSid; -use WellnessLiving\Wl\WlProgramCategorySid; -use WellnessLiving\Wl\WlProgramSid; -use WellnessLiving\Wl\WlProgramTypeSid; - -/** - * Gets a list of introductory promotion offers of a specified type available at a given location. - */ -class PromotionIndexModel extends WlModelAbstract -{ - /** - * A list of introductory promotion offers available at the location. - * Every element is an array with the following keys: - * <dl> - * <dt> - * array <var>a_access</var> - * </dt> - * <dd> - * Information about services that can be attended with this pass or membership. - * <dl> - * <dt>array[] <var>a_class</var></dt> - * <dd> - * A list of available classes. Each element has the key `k_class`, where the primary key of the class can be found. - * - * </dd> - * <dt>array[] <var>a_event</var></dt> - * <dd> - * A list of available events. Each element has the key `k_class`, where the primary key of the event can be found. - * - * </dd> - * <dt>array[] <var>a_resource</var></dt> - * <dd> - * A list of available assets. Each element has the key `k_resource`, where the primary key of the asset can be found. - * - * </dd> - * <dt>array[] <var>a_service</var></dt> - * <dd> - * A list of available appointment types. Each element has the key `k_service`, where the primary key of the - * appointment type can be found. - * - * </dd> - * <dt>bool <var>is_class_all</var></dt> - * <dd>If `true`, any class in the business can be visited with this Purchase Option. If `false`, only selected classes can be visited. - * Selected classes can be found in the list of available classes and events.</dd> - * <dt>bool <var>is_event_all</var></dt> - * <dd>If `true`, if any event in the business can be visited with this Purchase Option. If `false`, if only selected events can be visited. - * Selected events can be found in the list of available classes and events.</dd> - * </dl> - * </dd> - * <dt> - * array[] <var>a_component</var> - * </dt> - * <dd> - * A list of components included in the Purchase Option if this Purchase Option is a package. - * If it's not a package, the list will be always empty. - * If it's a package, the list can still be empty if all its components were deactivated. - * This means that this array can't be used to determine whether this is a package or not (check `id_program` or `id_program_type` - * value instead). - * There can be three types of components: events, Purchase Options, and products. - * Some fields can be different depending on type of the component, but each element of the array includes: - * <dl> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The type of the component. This can only be {@link WlPurchaseItemSid::ENROLLMENT}, - * {@link WlPurchaseItemSid::PROMOTION} or {@link WlPurchaseItemSid::PRODUCT}.</dd> - * <dt>string <var>k_id</var></dt> - * <dd> - * The primary key of the component in the related table. This depends on the type of the component. - * The key of the event for {@link WlPurchaseItemSid::ENROLLMENT}, the key of the Purchase Option for the - * {@link WlPurchaseItemSid::PROMOTION}, the key of the product option for the {@link WlPurchaseItemSid::PRODUCT}. - * Full information about events can be taken from the {@link EventListModel}. Purchase Options from the {@link PromotionIndexModel}. - * Full information about products are not available at this moment though API. - * </dd> - * <dt>int <var>i_quantity</var></dt> - * <dd>The quantity. If empty, it means the quantity is 1.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The name of the component.</dd> - * </dl> - * </dd> - * <dt> - * array <var>a_image</var> - * </dt> - * <dd> - * This will be an empty array if the Purchase Option doesn't have image. - * Otherwise, this will display the following information about the Purchase Option image: - * <dl> - * <dt>string <var>i_height</var></dt> - * <dd>The height of the image.</dd> - * <dt>string <var>i_width</var></dt> - * <dd>The width of the image.</dd> - * <dt>string <var>url-thumbnail</var></dt> - * <dd>The link to the image.</dd> - * </dl> - * </dd> - * <dt> - * array <var>a_visit_limit</var> - * </dt> - * <dd> - * Attendance restrictions, if available. If unavailable, this will be an empty array. Every element has a key, which is a type of - * the time period {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}, - * {@link ADurationSid::YEAR}. - * The values are: - * <dl> - * <dt>int <var>i_limit</var></dt> - * <dd>The quantity of sessions every <var>i_period</var>.</dd> - * <dt>int <var>i_period</var></dt> - * <dd>The duration of the time period. This depends on a key of <var>a_visit_limit</var> array.</dd> - * <dt>int <var>i_roll_over_cap</var></dt> - * <dd>The limit number of rollover sessions.</dd> - * <dt>int <var>i_roll_over_expire</var></dt> - * <dd>The duration of the time period after which rolled over session will expire.</dd> - * <dt>int <var>id_roll_over_expire</var></dt> - * <dd> - * The type of <var>i_roll_over_expire</var> {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, - * {@link ADurationSid::MONTH}, {@link ADurationSid::YEAR}. - * </dd> - * <dt>int <var>id_limit_cycle</var></dt> - * <dd>The type of the limit cycle {@link Sid}.</dd> - * <dt>bool <var>is_reconcile_visit</var></dt> - * <dd>Determines whether to reconcile unpaid sessions on restrictions reset.</dd> - * <dt>bool <var>is_roll_over_expire</var></dt> - * <dd>Determines if the rolled over session is expired.</dd> - * <dt>bool <var>is_roll_over_renew</var></dt> - * <dd>Determines whether to rollover sessions upon auto-renew.</dd> - * <dt>bool <var>is_rollup</var></dt> - * <dd>Determines Whether to rollover sessions.</dd> - * <dt>bool <var>is_visit_conversion</var></dt> - * <dd>Determines whether to convert remaining visits.</dd> - * </dl> - * </dd> - * <dt> - * string <var>dl_expire</var> - * </dt> - * <dd> - * The local expiration date. This is the last day of the Purchase Option's active status. - * This is used only for the 'Expires on a certain date' duration type. Otherwise, this should be ignored. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The number of periods for the "Period" duration type. - * For example, if the duration of the Purchase Option is 12 months, this field will be 12. - * </dd> - * <dt> - * int <var>i_limit</var> - * </dt> - * <dd> - * The number of visits that the owner of the Purchase Option can use. - * This will be `0` if the Purchase Option has unlimited visits. - * </dd> - * <dt> - * int <var>i_limit_duration</var> - * </dt> - * <dd> - * The maximum number of minutes or hours depending on <var>id_limit_duration</var> that the current promotion can be used in. - * </dd> - * <dt> - * int <var>id_limit_duration</var> - * </dt> - * <dd> - * The type of <var>i_limit_duration</var> {@link ADurationSid::MINUTE} or {@link ADurationSid::HOUR}. - * </dd> - * <dt> - * int <var>id_duration</var> - * </dt> - * <dd> - * The type of periods for the duration type "Period". - * For example, if the duration of the Purchase Option is 12 months, this field will be the ID of the month. - * See all the possible options here: {@link ADurationSid}. - * </dd> - * <dt> - * int <var>id_duration_type</var> - * </dt> - * <dd> - * The type of the duration. This can be "Without End", "Expires on a certain date", "Period". - * See more information here: {@link WlDurationTypeSid}. - * </dd> - * <dt> - * int <var>id_program</var> - * </dt> - * <dd> - * The type of the Purchase Option. The <var>id_program</var> relates to only one <var>id_program_type</var> and one - * <var>id_program_category</var>. - * See more information here: {@link WlProgramSid}. - * </dd> - * <dt> - * int <var>id_program_category</var> - * </dt> - * <dd> - * The category of the program for promotions. The <var>id_program_category</var> relates to more than one - * <var>id_program</var>. - * See more information here: {@link WlProgramCategorySid}. - * </dd> - * <dt> - * int <var>id_program_type</var> - * </dt> - * <dd> - * The ID of the promotion program type. The <var>id_program_type</var> relates to more than one <var>id_program</var>. - * See more information here: {@link WlProgramTypeSid}. - * </dd> - * <dt> - * bool <var>is_direct_buy_only</var> - * </dt> - * <dd> - * If `true`, the pricing option can be sold only by direct link. This means it shouldn't be shown in the store or - * explorer. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_introductory</var> - * </dt> - * <dd> - * If `true`, this promotion is for introductory clients. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_online</var> - * </dt> - * <dd> - * If `true` this promotion is available for online purchase. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>k_promotion</var> - * </dt> - * <dd> - * The promotion key. - * </dd> - * <dt> - * string <var>m_price</var> - * </dt> - * <dd> - * The price. - * </dd> - * <dt> - * string <var>text_description</var> - * </dt> - * <dd> - * The description. - * </dd> - * <dt> - * int <var>text_program</var> - * </dt> - * <dd> - * The localized promotion program name corresponding to the value of <var>id_program</var>. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title. - * </dd> - * <dt> - * string <var>url_buy</var> - * </dt> - * <dd> - * The direct URL to the promotion purchase page. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_promotion; - - /** - * Image height in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default size. - * - * @get get - * @var int - */ - public $i_image_height = 0; - - /** - * Image width in pixels. Please specify this value if you need image to be returned in specific size. - * In case this value is not specified returned image will have default size. - * - * @get get - * @var int - */ - public $i_image_width = 0; - - /** - * The program type ID, which will be one of the {@link WlProgramTypeSid} constants. - * - * `0` to not filter Purchase Options with type of the Purchase Option. - * - * @get get - * @var int - */ - public $id_program_type = 0; - - /** - * The location key. - * - * @get get - * @var string - */ - public $k_location = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Promotion\Index; + +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Event\EventListModel; +use WellnessLiving\Wl\Promotion\Edit\Limit\Cycle\Sid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; +use WellnessLiving\Wl\WlDurationTypeSid; +use WellnessLiving\Wl\WlProgramCategorySid; +use WellnessLiving\Wl\WlProgramSid; +use WellnessLiving\Wl\WlProgramTypeSid; + +/** + * Gets a list of introductory promotion offers of a specified type available at a given location. + */ +class PromotionIndexModel extends WlModelAbstract +{ + /** + * A list of introductory promotion offers available at the location. + * Every element is an array with the following keys: + * <dl> + * <dt> + * array <var>a_access</var> + * </dt> + * <dd> + * Information about services that can be attended with this pass or membership. + * <dl> + * <dt>array[] <var>a_class</var></dt> + * <dd> + * A list of available classes. Each element has the key `k_class`, where the primary key of the class can be found. + * + * </dd> + * <dt>array[] <var>a_event</var></dt> + * <dd> + * A list of available events. Each element has the key `k_class`, where the primary key of the event can be found. + * + * </dd> + * <dt>array[] <var>a_resource</var></dt> + * <dd> + * A list of available assets. Each element has the key `k_resource`, where the primary key of the asset can be found. + * + * </dd> + * <dt>array[] <var>a_service</var></dt> + * <dd> + * A list of available appointment types. Each element has the key `k_service`, where the primary key of the + * appointment type can be found. + * + * </dd> + * <dt>bool <var>is_class_all</var></dt> + * <dd>If `true`, any class in the business can be visited with this Purchase Option. If `false`, only selected classes can be visited. + * Selected classes can be found in the list of available classes and events.</dd> + * <dt>bool <var>is_event_all</var></dt> + * <dd>If `true`, if any event in the business can be visited with this Purchase Option. If `false`, if only selected events can be visited. + * Selected events can be found in the list of available classes and events.</dd> + * </dl> + * </dd> + * <dt> + * array[] <var>a_component</var> + * </dt> + * <dd> + * A list of components included in the Purchase Option if this Purchase Option is a package. + * If it's not a package, the list will be always empty. + * If it's a package, the list can still be empty if all its components were deactivated. + * This means that this array can't be used to determine whether this is a package or not (check `id_program` or `id_program_type` + * value instead). + * There can be three types of components: events, Purchase Options, and products. + * Some fields can be different depending on type of the component, but each element of the array includes: + * <dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The type of the component. This can only be {@link WlPurchaseItemSid::ENROLLMENT}, + * {@link WlPurchaseItemSid::PROMOTION} or {@link WlPurchaseItemSid::PRODUCT}.</dd> + * <dt>string <var>k_id</var></dt> + * <dd> + * The primary key of the component in the related table. This depends on the type of the component. + * The key of the event for {@link WlPurchaseItemSid::ENROLLMENT}, the key of the Purchase Option for the + * {@link WlPurchaseItemSid::PROMOTION}, the key of the product option for the {@link WlPurchaseItemSid::PRODUCT}. + * Full information about events can be taken from the {@link EventListModel}. Purchase Options from the {@link PromotionIndexModel}. + * Full information about products are not available at this moment though API. + * </dd> + * <dt>int <var>i_quantity</var></dt> + * <dd>The quantity. If empty, it means the quantity is 1.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The name of the component.</dd> + * </dl> + * </dd> + * <dt> + * array <var>a_image</var> + * </dt> + * <dd> + * This will be an empty array if the Purchase Option doesn't have image. + * Otherwise, this will display the following information about the Purchase Option image: + * <dl> + * <dt>string <var>i_height</var></dt> + * <dd>The height of the image.</dd> + * <dt>string <var>i_width</var></dt> + * <dd>The width of the image.</dd> + * <dt>string <var>url-thumbnail</var></dt> + * <dd>The link to the image.</dd> + * </dl> + * </dd> + * <dt> + * array <var>a_visit_limit</var> + * </dt> + * <dd> + * Attendance restrictions, if available. If unavailable, this will be an empty array. Every element has a key, which is a type of + * the time period {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}, + * {@link ADurationSid::YEAR}. + * The values are: + * <dl> + * <dt>int <var>i_limit</var></dt> + * <dd>The quantity of sessions every <var>i_period</var>.</dd> + * <dt>int <var>i_period</var></dt> + * <dd>The duration of the time period. This depends on a key of <var>a_visit_limit</var> array.</dd> + * <dt>int <var>i_roll_over_cap</var></dt> + * <dd>The limit number of rollover sessions.</dd> + * <dt>int <var>i_roll_over_expire</var></dt> + * <dd>The duration of the time period after which rolled over session will expire.</dd> + * <dt>int <var>id_roll_over_expire</var></dt> + * <dd> + * The type of <var>i_roll_over_expire</var> {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, + * {@link ADurationSid::MONTH}, {@link ADurationSid::YEAR}. + * </dd> + * <dt>int <var>id_limit_cycle</var></dt> + * <dd>The type of the limit cycle {@link Sid}.</dd> + * <dt>bool <var>is_reconcile_visit</var></dt> + * <dd>Determines whether to reconcile unpaid sessions on restrictions reset.</dd> + * <dt>bool <var>is_roll_over_expire</var></dt> + * <dd>Determines if the rolled over session is expired.</dd> + * <dt>bool <var>is_roll_over_renew</var></dt> + * <dd>Determines whether to rollover sessions upon auto-renew.</dd> + * <dt>bool <var>is_rollup</var></dt> + * <dd>Determines Whether to rollover sessions.</dd> + * <dt>bool <var>is_visit_conversion</var></dt> + * <dd>Determines whether to convert remaining visits.</dd> + * </dl> + * </dd> + * <dt> + * string <var>dl_expire</var> + * </dt> + * <dd> + * The local expiration date. This is the last day of the Purchase Option's active status. + * This is used only for the 'Expires on a certain date' duration type. Otherwise, this should be ignored. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The number of periods for the "Period" duration type. + * For example, if the duration of the Purchase Option is 12 months, this field will be 12. + * </dd> + * <dt> + * int <var>i_limit</var> + * </dt> + * <dd> + * The number of visits that the owner of the Purchase Option can use. + * This will be `0` if the Purchase Option has unlimited visits. + * </dd> + * <dt> + * int <var>i_limit_duration</var> + * </dt> + * <dd> + * The maximum number of minutes or hours depending on <var>id_limit_duration</var> that the current promotion can be used in. + * </dd> + * <dt> + * int <var>id_limit_duration</var> + * </dt> + * <dd> + * The type of <var>i_limit_duration</var> {@link ADurationSid::MINUTE} or {@link ADurationSid::HOUR}. + * </dd> + * <dt> + * int <var>id_duration</var> + * </dt> + * <dd> + * The type of periods for the duration type "Period". + * For example, if the duration of the Purchase Option is 12 months, this field will be the ID of the month. + * See all the possible options here: {@link ADurationSid}. + * </dd> + * <dt> + * int <var>id_duration_type</var> + * </dt> + * <dd> + * The type of the duration. This can be "Without End", "Expires on a certain date", "Period". + * See more information here: {@link WlDurationTypeSid}. + * </dd> + * <dt> + * int <var>id_program</var> + * </dt> + * <dd> + * The type of the Purchase Option. The <var>id_program</var> relates to only one <var>id_program_type</var> and one + * <var>id_program_category</var>. + * See more information here: {@link WlProgramSid}. + * </dd> + * <dt> + * int <var>id_program_category</var> + * </dt> + * <dd> + * The category of the program for promotions. The <var>id_program_category</var> relates to more than one + * <var>id_program</var>. + * See more information here: {@link WlProgramCategorySid}. + * </dd> + * <dt> + * int <var>id_program_type</var> + * </dt> + * <dd> + * The ID of the promotion program type. The <var>id_program_type</var> relates to more than one <var>id_program</var>. + * See more information here: {@link WlProgramTypeSid}. + * </dd> + * <dt> + * bool <var>is_direct_buy_only</var> + * </dt> + * <dd> + * If `true`, the pricing option can be sold only by direct link. This means it shouldn't be shown in the store or + * explorer. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_introductory</var> + * </dt> + * <dd> + * If `true`, this promotion is for introductory clients. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_online</var> + * </dt> + * <dd> + * If `true` this promotion is available for online purchase. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>k_promotion</var> + * </dt> + * <dd> + * The promotion key. + * </dd> + * <dt> + * string <var>m_price</var> + * </dt> + * <dd> + * The price. + * </dd> + * <dt> + * string <var>text_description</var> + * </dt> + * <dd> + * The description. + * </dd> + * <dt> + * int <var>text_program</var> + * </dt> + * <dd> + * The localized promotion program name corresponding to the value of <var>id_program</var>. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title. + * </dd> + * <dt> + * string <var>url_buy</var> + * </dt> + * <dd> + * The direct URL to the promotion purchase page. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_promotion; + + /** + * Image height in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default size. + * + * @get get + * @var int + */ + public $i_image_height = 0; + + /** + * Image width in pixels. Please specify this value if you need image to be returned in specific size. + * In case this value is not specified returned image will have default size. + * + * @get get + * @var int + */ + public $i_image_width = 0; + + /** + * The program type ID, which will be one of the {@link WlProgramTypeSid} constants. + * + * `0` to not filter Purchase Options with type of the Purchase Option. + * + * @get get + * @var int + */ + public $id_program_type = 0; + + /** + * The location key. + * + * @get get + * @var string + */ + public $k_location = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/PromotionListModel.php b/WellnessLiving/Wl/Promotion/PromotionListModel.php index 22e8bf5c..0f4822de 100644 --- a/WellnessLiving/Wl/Promotion/PromotionListModel.php +++ b/WellnessLiving/Wl/Promotion/PromotionListModel.php @@ -1,59 +1,59 @@ -<?php - -namespace WellnessLiving\Wl\Promotion; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlProgramSid; - -/** - * Gets a promotion list of the specified business. - */ -class PromotionListModel extends WlModelAbstract -{ - /** - * A list of promotions. - * <dl> - * <dt> - * int <var>id_program</var> - * </dt> - * <dd> - * The promotion program. One of the {@link WlProgramSid} constants. - * </dd> - * <dt> - * string <var>k_promotion</var> - * </dt> - * <dd> - * The key of the promotion. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title of the promotion. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_promotion; - - /** - * Determines whether to return promotions created by Enterprise Locations (for Enterprise Cloud businesses only). - * If `true`, promotions created by Enterprise Locations are included. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $is_franchise = false; - - /** - * The business key used to get the promotions. - * - * @get get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Promotion; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlProgramSid; + +/** + * Gets a promotion list of the specified business. + */ +class PromotionListModel extends WlModelAbstract +{ + /** + * A list of promotions. + * <dl> + * <dt> + * int <var>id_program</var> + * </dt> + * <dd> + * The promotion program. One of the {@link WlProgramSid} constants. + * </dd> + * <dt> + * string <var>k_promotion</var> + * </dt> + * <dd> + * The key of the promotion. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title of the promotion. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_promotion; + + /** + * Determines whether to return promotions created by Enterprise Locations (for Enterprise Cloud businesses only). + * If `true`, promotions created by Enterprise Locations are included. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_franchise = false; + + /** + * The business key used to get the promotions. + * + * @get get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/PromotionModel.php b/WellnessLiving/Wl/Promotion/PromotionModel.php index cc405413..7ad49756 100644 --- a/WellnessLiving/Wl/Promotion/PromotionModel.php +++ b/WellnessLiving/Wl/Promotion/PromotionModel.php @@ -1,165 +1,165 @@ -<?php - -namespace WellnessLiving\Wl\Promotion; - -use WellnessLiving\Core\a\ADurationSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlDurationTypeSid; -use WellnessLiving\Wl\WlProgramSid; - -/** - * Gets promotions for the specified business and promotion keys. - */ -class PromotionModel extends WlModelAbstract -{ - /** - * Promotion information. - * <dl> - * <dt> - * array <var>a_access</var> - * </dt> - * <dd> - * Information about services that can be attended with this pass or membership. - * <dl> - * <dt>array[] <var>a_class</var></dt> - * <dd>A list of available classes.</dd> - * <dt>array[] <var>a_event</var></dt> - * <dd>A list of available events.</dd> - * <dt>array[] <var>a_resource</var></dt> - * <dd>A list of available assets.</dd> - * <dt>array[] <var>a_service</var></dt> - * <dd>A list of available appointment types.</dd> - * <dt>bool <var>is_class_all</var></dt> - * <dd>This will be `true` if any class in the business can be visited with this Purchase Option. Otherwise, this - * will be `false` if only selected classes can be visited with this Purchase Option. Selected classes can be found - * in the list of available classes and events.</dd> - * <dt>bool <var>is_event_all</var></dt> - * <dd>This will be `true` if any event in the business can be visited with this Purchase Option. Otherwise, this - * will be `false` if only selected events can be visited with this Purchase Option. Selected events can be found - * in the list of available classes and events.</dd> - * </dl> - * </dd> - * <dt> - * array <var>a_image</var> - * </dt> - * <dd> - * Information about Purchase Option image. This will be an empty array if the Purchase Option doesn't have an image. - * <dl> - * <dt>string <var>i_height</var></dt> - * <dd>The height of the image.</dd> - * <dt>string <var>i_width</var></dt> - * <dd>The width of the image.</dd> - * <dt>string <var>url-thumbnail</var></dt> - * <dd>The link to the image.</dd> - * </dl> - * </dd> - * <dt> - * string <var>dl_expire</var> - * </dt> - * <dd> - * The local expiration date. This is the last day when the Purchase Option is active. - * This is used only when the 'Expires on a certain date' duration type is set. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The number of periods for the 'Period' duration type. - * For example, if the duration of the Purchase Option is 12 months, this field will be 12. - * </dd> - * <dt> - * int <var>i_limit</var> - * </dt> - * <dd> - * The number of visits that the owner can use for the Purchase Option. - * This will be `0` if the Purchase Option allows for unlimited visits. - * </dd> - * <dt> - * int <var>id_duration</var> - * </dt> - * <dd> - * The type of period for the 'Period' duration type. - * For example, if the duration of the Purchase Option is 12 months, this field will display the ID of the month. - * For all possible options, see {@link ADurationSid}. - * </dd> - * <dt> - * int <var>id_duration_type</var> - * </dt> - * <dd> - * The duration type. Possible duration types can be 'Without End', 'Expires on a certain date', 'Period'. - * For more information, see {@link WlDurationTypeSid}. - * </dd> - * <dt> - * int <var>id_program</var> - * </dt> - * <dd> - * The Purchase Option type. - * For more information, see {@link WlProgramSid}. - * </dd> - * <dt> - * bool <var>is_introductory</var> - * </dt> - * <dd> - * If `true`, this promotion is for introductory clients. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_online</var> - * </dt> - * <dd> - * If `true`, this promotion is available for online purchase. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>k_promotion</var> - * </dt> - * <dd> - * The key of the promotion. - * </dd> - * <dt> - * string <var>m_price</var> - * </dt> - * <dd> - * The price. - * </dd> - * <dt> - * string <var>text_description</var> - * </dt> - * <dd> - * The description of the Purchase Option. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The title of the Purchase Option. - * </dd> - * <dt> - * string <var>url_buy</var> - * </dt> - * <dd> - * The direct URL to the promotion purchase page. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_promotion; - - /** - * The key of the business. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The key of the promotion. - * - * @get get - * @var string - */ - public $k_promotion = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Promotion; + +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlDurationTypeSid; +use WellnessLiving\Wl\WlProgramSid; + +/** + * Gets promotions for the specified business and promotion keys. + */ +class PromotionModel extends WlModelAbstract +{ + /** + * Promotion information. + * <dl> + * <dt> + * array <var>a_access</var> + * </dt> + * <dd> + * Information about services that can be attended with this pass or membership. + * <dl> + * <dt>array[] <var>a_class</var></dt> + * <dd>A list of available classes.</dd> + * <dt>array[] <var>a_event</var></dt> + * <dd>A list of available events.</dd> + * <dt>array[] <var>a_resource</var></dt> + * <dd>A list of available assets.</dd> + * <dt>array[] <var>a_service</var></dt> + * <dd>A list of available appointment types.</dd> + * <dt>bool <var>is_class_all</var></dt> + * <dd>This will be `true` if any class in the business can be visited with this Purchase Option. Otherwise, this + * will be `false` if only selected classes can be visited with this Purchase Option. Selected classes can be found + * in the list of available classes and events.</dd> + * <dt>bool <var>is_event_all</var></dt> + * <dd>This will be `true` if any event in the business can be visited with this Purchase Option. Otherwise, this + * will be `false` if only selected events can be visited with this Purchase Option. Selected events can be found + * in the list of available classes and events.</dd> + * </dl> + * </dd> + * <dt> + * array <var>a_image</var> + * </dt> + * <dd> + * Information about Purchase Option image. This will be an empty array if the Purchase Option doesn't have an image. + * <dl> + * <dt>string <var>i_height</var></dt> + * <dd>The height of the image.</dd> + * <dt>string <var>i_width</var></dt> + * <dd>The width of the image.</dd> + * <dt>string <var>url-thumbnail</var></dt> + * <dd>The link to the image.</dd> + * </dl> + * </dd> + * <dt> + * string <var>dl_expire</var> + * </dt> + * <dd> + * The local expiration date. This is the last day when the Purchase Option is active. + * This is used only when the 'Expires on a certain date' duration type is set. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The number of periods for the 'Period' duration type. + * For example, if the duration of the Purchase Option is 12 months, this field will be 12. + * </dd> + * <dt> + * int <var>i_limit</var> + * </dt> + * <dd> + * The number of visits that the owner can use for the Purchase Option. + * This will be `0` if the Purchase Option allows for unlimited visits. + * </dd> + * <dt> + * int <var>id_duration</var> + * </dt> + * <dd> + * The type of period for the 'Period' duration type. + * For example, if the duration of the Purchase Option is 12 months, this field will display the ID of the month. + * For all possible options, see {@link ADurationSid}. + * </dd> + * <dt> + * int <var>id_duration_type</var> + * </dt> + * <dd> + * The duration type. Possible duration types can be 'Without End', 'Expires on a certain date', 'Period'. + * For more information, see {@link WlDurationTypeSid}. + * </dd> + * <dt> + * int <var>id_program</var> + * </dt> + * <dd> + * The Purchase Option type. + * For more information, see {@link WlProgramSid}. + * </dd> + * <dt> + * bool <var>is_introductory</var> + * </dt> + * <dd> + * If `true`, this promotion is for introductory clients. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_online</var> + * </dt> + * <dd> + * If `true`, this promotion is available for online purchase. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>k_promotion</var> + * </dt> + * <dd> + * The key of the promotion. + * </dd> + * <dt> + * string <var>m_price</var> + * </dt> + * <dd> + * The price. + * </dd> + * <dt> + * string <var>text_description</var> + * </dt> + * <dd> + * The description of the Purchase Option. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The title of the Purchase Option. + * </dd> + * <dt> + * string <var>url_buy</var> + * </dt> + * <dd> + * The direct URL to the promotion purchase page. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_promotion; + + /** + * The key of the business. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The key of the promotion. + * + * @get get + * @var string + */ + public $k_promotion = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Purchase/Mail/PurchaseMailModel.php b/WellnessLiving/Wl/Purchase/Mail/PurchaseMailModel.php index 4ec5a5ee..340b5c9f 100644 --- a/WellnessLiving/Wl/Purchase/Mail/PurchaseMailModel.php +++ b/WellnessLiving/Wl/Purchase/Mail/PurchaseMailModel.php @@ -1,29 +1,29 @@ -<?php - -namespace WellnessLiving\Wl\Purchase\Mail; - -use WellnessLiving\WlModelAbstract; - -/** - * Emails a receipt for a purchase. - */ -class PurchaseMailModel extends WlModelAbstract -{ - /** - * Determines whether mail sending should be forced. - * - * @post post - * @var bool - */ - public $is_send_force = false; - - /** - * The key of the purchase. - * - * @post post - * @var string - */ - public $k_purchase = ''; -} - +<?php + +namespace WellnessLiving\Wl\Purchase\Mail; + +use WellnessLiving\WlModelAbstract; + +/** + * Emails a receipt for a purchase. + */ +class PurchaseMailModel extends WlModelAbstract +{ + /** + * Determines whether mail sending should be forced. + * + * @post post + * @var bool + */ + public $is_send_force = false; + + /** + * The key of the purchase. + * + * @post post + * @var string + */ + public $k_purchase = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php index 71cdc972..9459a75c 100644 --- a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php +++ b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php @@ -1,425 +1,425 @@ -<?php - -namespace WellnessLiving\Wl\Purchase\Receipt; - -use WellnessLiving\Core\a\ACardSystemSid; -use WellnessLiving\WlModelAbstract; - -/** - * Returns receipt data of certain purchase. - */ -class PurchaseReceiptModel extends WlModelAbstract -{ - /** - * Information about the account balance for a user's account after payment for the purchase. Every element has the following keys: - * <dl> - * <dt> - * string <var>m_amount</var> - * </dt> - * <dd> - * The account balance on the user's account. - * </dd> - * <dt> - * string <var>text_currency</var> - * </dt> - * <dd> - * The currency of the amount. - * </dd> - * <dt> - * string <var>text_method</var> - * </dt> - * <dd> - * The payment method title. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_account_rest; - - /** - * Information about the business. - * <dl> - * <dt> - * array <var>a_logo</var> - * </dt> - * <dd> - * The business logo. - * <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * The image height. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * The image width. - * </dd> - * <dt> - * bool <var>is_empty</var> - * </dt> - * <dd> - * This will be `true` if the image is empty. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>text_url</var> - * </dt> - * <dd> - * The URL of the image. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>text_address</var> - * </dt> - * <dd> - * The business's address. - * </dd> - * <dt> - * string <var>text_mail</var> - * </dt> - * <dd> - * The business's email address. - * </dd> - * <dt> - * string <var>text_phone</var> - * </dt> - * <dd> - * The business's phone number. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The business name. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_business; - - /** - * Payment transaction information. Every element has the following keys: - * <dl> - * <dt> - * string <var>text_card_number</var> - * </dt> - * <dd> - * The card or account number. - * </dd> - * <dt> - * string <var>text_card_system</var> - * </dt> - * <dd> - * The card system name from {@link ACardSystemSid}. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The payment account title. This will be 'Account number' for ACH, 'Card' for all other cases. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_card; - - /** - * Information about the customer. - * <dl> - * <dt> - * string <var>text_address</var> - * </dt> - * <dd> - * The customer's address. - * </dd> - * <dt> - * string <var>text_mail</var> - * </dt> - * <dd> - * The customer's email address. - * </dd> - * <dt> - * string <var>text_name</var> - * </dt> - * <dd> - * The customer's name. - * </dd> - * <dt> - * string <var>text_phone</var> - * </dt> - * <dd> - * The customer's phone number. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_customer; - - /** - * A list of payment methods for the current purchase. Every element has the following keys: - * <dl> - * <dt> - * string <var>m_amount</var> - * </dt> - * <dd> - * The amount of the payment. - * </dd> - * <dt> - * string <var>text_currency</var> - * </dt> - * <dd> - * The currency of the amount. - * </dd> - * <dt> - * string <var>text_pay_method</var> - * </dt> - * <dd> - * The payment method title. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_pay_method; - - /** - * Complete information about price information for the purchase. - * <dl> - * <dt> - * string <var>m_discount</var> - * </dt> - * <dd> - * The discount amount. - * </dd> - * <dt> - * string <var>m_discount_code</var> - * </dt> - * <dd> - * The discount amount for a discount code. - * </dd> - * <dt> - * string <var>m_sum</var> - * </dt> - * <dd> - * The subtotal amount (the sum of the prices). - * </dd> - * <dt> - * string <var>m_tax</var> - * </dt> - * <dd> - * The amount of taxes. - * </dd> - * <dt> - * string <var>m_tip</var> - * </dt> - * <dd> - * The amount of tips. - * </dd> - * <dt> - * string <var>m_total</var> - * </dt> - * <dd> - * The total amount. - * </dd> - * <dt> - * string <var>text_currency</var> - * </dt> - * <dd> - * The currency of the purchase. - * </dd> - * <dt> - * string <var>text_discount_code</var> - * </dt> - * <dd> - * The discount code applied to the purchase. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_price; - - /** - * A list of purchase items. Every element has the following keys: - * <dl> - * <dt> - * array <var>a_logo</var> - * </dt> - * <dd> - * The purchase item logo. - * <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * The image height. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * The image width. - * </dd> - * <dt> - * bool <var>is_empty</var> - * </dt> - * <dd> - * Determines whether the image is empty. - * </dd> - * <dt> - * string <var>text_url</var> - * </dt> - * <dd> - * The URL of the image. - * </dd> - * </dl> - * </dd> - * <dt> - * int <var>i_count</var> - * </dt> - * <dd> - * The number of items in the purchase. - * </dd> - * <dt> - * string <var>k_purchase_item</var> - * </dt> - * <dd> - * The key of the purchase item. - * </dd> - * <dt> - * string <var>m_price</var> - * </dt> - * <dd> - * The price of the single item. - * </dd> - * <dt> - * string <var>m_price_total</var> - * </dt> - * <dd> - * The price of all items. - * </dd> - * <dt> - * string <var>text_category</var> - * </dt> - * <dd> - * The type of the item (for example, a pass or membership). - * </dd> - * <dt> - * string <var>text_currency</var> - * </dt> - * <dd> - * The currency of the price. - * </dd> - * <dt> - * string <var>text_info</var> - * </dt> - * <dd> - * Additional information about the purchase item. - * </dd> - * <dt> - * string <var>text_title</var> - * </dt> - * <dd> - * The name of the purchase item. - * </dd> - * <dt> - * string <var>text_description</var> - * </dt> - * <dd> - * The description of the purchase item. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_purchase_item; - - /** - * The local date of the purchase in MySQL format. - * - * @get result - * @var string - */ - public $dtl_purchase; - - /** - * Determines whether the payment contained a signature. - * - * @get result - * @var bool - */ - public $has_signature; - - /** - * HTML representation of the purchase receipt. - * - * @get result - * @var string - */ - public $html_receipt; - - /** - * Whether the print receipt URL requires authentication. If `true`, the URL contains a token that temporarily - * allows access to the print receipt without a login. `false` otherwise. - * - * @get get - * @var bool - */ - public $is_url_public = false; - - /** - * The key of the purchase. - * - * @get get - * @var string|null - */ - public $k_purchase = null; - - /** - * The normalized purchase ID. - * - * @get result - * @var string - */ - public $text_purchase_id; - - /** - * The receipt text set in the store settings. - * - * @get result - * @var string - */ - public $text_receipt; - - /** - * The URL for printing on a normal printer. - * - * @get result - * @var string - */ - public $url_print; - - /** - * The URL for printing on a receipt printer. - * - * @get result - * @var string - */ - public $url_print_receipt; -} - +<?php + +namespace WellnessLiving\Wl\Purchase\Receipt; + +use WellnessLiving\Core\a\ACardSystemSid; +use WellnessLiving\WlModelAbstract; + +/** + * Returns receipt data of certain purchase. + */ +class PurchaseReceiptModel extends WlModelAbstract +{ + /** + * Information about the account balance for a user's account after payment for the purchase. Every element has the following keys: + * <dl> + * <dt> + * string <var>m_amount</var> + * </dt> + * <dd> + * The account balance on the user's account. + * </dd> + * <dt> + * string <var>text_currency</var> + * </dt> + * <dd> + * The currency of the amount. + * </dd> + * <dt> + * string <var>text_method</var> + * </dt> + * <dd> + * The payment method title. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_account_rest; + + /** + * Information about the business. + * <dl> + * <dt> + * array <var>a_logo</var> + * </dt> + * <dd> + * The business logo. + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * The image height. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * The image width. + * </dd> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * This will be `true` if the image is empty. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>text_url</var> + * </dt> + * <dd> + * The URL of the image. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>text_address</var> + * </dt> + * <dd> + * The business's address. + * </dd> + * <dt> + * string <var>text_mail</var> + * </dt> + * <dd> + * The business's email address. + * </dd> + * <dt> + * string <var>text_phone</var> + * </dt> + * <dd> + * The business's phone number. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The business name. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_business; + + /** + * Payment transaction information. Every element has the following keys: + * <dl> + * <dt> + * string <var>text_card_number</var> + * </dt> + * <dd> + * The card or account number. + * </dd> + * <dt> + * string <var>text_card_system</var> + * </dt> + * <dd> + * The card system name from {@link ACardSystemSid}. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The payment account title. This will be 'Account number' for ACH, 'Card' for all other cases. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_card; + + /** + * Information about the customer. + * <dl> + * <dt> + * string <var>text_address</var> + * </dt> + * <dd> + * The customer's address. + * </dd> + * <dt> + * string <var>text_mail</var> + * </dt> + * <dd> + * The customer's email address. + * </dd> + * <dt> + * string <var>text_name</var> + * </dt> + * <dd> + * The customer's name. + * </dd> + * <dt> + * string <var>text_phone</var> + * </dt> + * <dd> + * The customer's phone number. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_customer; + + /** + * A list of payment methods for the current purchase. Every element has the following keys: + * <dl> + * <dt> + * string <var>m_amount</var> + * </dt> + * <dd> + * The amount of the payment. + * </dd> + * <dt> + * string <var>text_currency</var> + * </dt> + * <dd> + * The currency of the amount. + * </dd> + * <dt> + * string <var>text_pay_method</var> + * </dt> + * <dd> + * The payment method title. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_pay_method; + + /** + * Complete information about price information for the purchase. + * <dl> + * <dt> + * string <var>m_discount</var> + * </dt> + * <dd> + * The discount amount. + * </dd> + * <dt> + * string <var>m_discount_code</var> + * </dt> + * <dd> + * The discount amount for a discount code. + * </dd> + * <dt> + * string <var>m_sum</var> + * </dt> + * <dd> + * The subtotal amount (the sum of the prices). + * </dd> + * <dt> + * string <var>m_tax</var> + * </dt> + * <dd> + * The amount of taxes. + * </dd> + * <dt> + * string <var>m_tip</var> + * </dt> + * <dd> + * The amount of tips. + * </dd> + * <dt> + * string <var>m_total</var> + * </dt> + * <dd> + * The total amount. + * </dd> + * <dt> + * string <var>text_currency</var> + * </dt> + * <dd> + * The currency of the purchase. + * </dd> + * <dt> + * string <var>text_discount_code</var> + * </dt> + * <dd> + * The discount code applied to the purchase. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_price; + + /** + * A list of purchase items. Every element has the following keys: + * <dl> + * <dt> + * array <var>a_logo</var> + * </dt> + * <dd> + * The purchase item logo. + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * The image height. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * The image width. + * </dd> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * Determines whether the image is empty. + * </dd> + * <dt> + * string <var>text_url</var> + * </dt> + * <dd> + * The URL of the image. + * </dd> + * </dl> + * </dd> + * <dt> + * int <var>i_count</var> + * </dt> + * <dd> + * The number of items in the purchase. + * </dd> + * <dt> + * string <var>k_purchase_item</var> + * </dt> + * <dd> + * The key of the purchase item. + * </dd> + * <dt> + * string <var>m_price</var> + * </dt> + * <dd> + * The price of the single item. + * </dd> + * <dt> + * string <var>m_price_total</var> + * </dt> + * <dd> + * The price of all items. + * </dd> + * <dt> + * string <var>text_category</var> + * </dt> + * <dd> + * The type of the item (for example, a pass or membership). + * </dd> + * <dt> + * string <var>text_currency</var> + * </dt> + * <dd> + * The currency of the price. + * </dd> + * <dt> + * string <var>text_info</var> + * </dt> + * <dd> + * Additional information about the purchase item. + * </dd> + * <dt> + * string <var>text_title</var> + * </dt> + * <dd> + * The name of the purchase item. + * </dd> + * <dt> + * string <var>text_description</var> + * </dt> + * <dd> + * The description of the purchase item. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_purchase_item; + + /** + * The local date of the purchase in MySQL format. + * + * @get result + * @var string + */ + public $dtl_purchase; + + /** + * Determines whether the payment contained a signature. + * + * @get result + * @var bool + */ + public $has_signature; + + /** + * HTML representation of the purchase receipt. + * + * @get result + * @var string + */ + public $html_receipt; + + /** + * Whether the print receipt URL requires authentication. If `true`, the URL contains a token that temporarily + * allows access to the print receipt without a login. `false` otherwise. + * + * @get get + * @var bool + */ + public $is_url_public = false; + + /** + * The key of the purchase. + * + * @get get + * @var string|null + */ + public $k_purchase = null; + + /** + * The normalized purchase ID. + * + * @get result + * @var string + */ + public $text_purchase_id; + + /** + * The receipt text set in the store settings. + * + * @get result + * @var string + */ + public $text_receipt; + + /** + * The URL for printing on a normal printer. + * + * @get result + * @var string + */ + public $url_print; + + /** + * The URL for printing on a receipt printer. + * + * @get result + * @var string + */ + public $url_print_receipt; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Purchase/Share/PurchaseShareModel.php b/WellnessLiving/Wl/Purchase/Share/PurchaseShareModel.php index 7322fb7f..4a138a63 100644 --- a/WellnessLiving/Wl/Purchase/Share/PurchaseShareModel.php +++ b/WellnessLiving/Wl/Purchase/Share/PurchaseShareModel.php @@ -1,38 +1,38 @@ -<?php - -namespace WellnessLiving\Wl\Purchase\Share; - -use WellnessLiving\Core\a\ASocialSid; -use WellnessLiving\WlModelAbstract; - -/** - * Shares a purchase to a specified social network. - */ -class PurchaseShareModel extends WlModelAbstract -{ - /** - * The social network. One of the {@link ASocialSid} constants. - * - * @post post - * @var int - */ - public $id_social; - - /** - * The key of the purchase. - * - * @post post - * @var string - */ - public $k_purchase; - - /** - * The URL to the sharing page. - * - * @post result - * @var string - */ - public $url_share; -} - +<?php + +namespace WellnessLiving\Wl\Purchase\Share; + +use WellnessLiving\Core\a\ASocialSid; +use WellnessLiving\WlModelAbstract; + +/** + * Shares a purchase to a specified social network. + */ +class PurchaseShareModel extends WlModelAbstract +{ + /** + * The social network. One of the {@link ASocialSid} constants. + * + * @post post + * @var int + */ + public $id_social; + + /** + * The key of the purchase. + * + * @post post + * @var string + */ + public $k_purchase; + + /** + * The URL to the sharing page. + * + * @post result + * @var string + */ + public $url_share; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index e1d55823..5b15ac44 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -1,138 +1,138 @@ -<?php - -namespace WellnessLiving\Wl\Quiz; - -use WellnessLiving\WlModelAbstract; - -/** - * Manages a single quiz. - */ -class QuizElementModel extends WlModelAbstract -{ - /** - * List of quiz elements. - * - * Order of the element in array corresponds to order of elements on the form. - * - * @get result - * @post post - * @var array - */ - public $a_element = []; - - /** - * Quiz settings. - * - * @get result - * @post post - * @put result - * @var array - */ - public $a_setting = []; - - /** - * Whether user has privileges to amend form. - * - * @get result - * @var bool - */ - public $can_amend = false; - - /** - * Checks whether unauthorized user should be permitted to operate with form and make a response. - * In general all quizzes should have users in response but it some cases such as registration process - * user might not exist yet, and we need ability to ignore check for user existence. - * `true` - add possibility load form and accept response for non-registered user, `false` otherwise. - * - * @get get - * @post get - * @var bool - */ - public $can_anonymous = false; - - /** - * Number of responses for specific quiz. - * - * @get result - * @var int - */ - public $i_responses = 0; - - /** - * Quiz active status. - * - * `true` if quiz is active. - * `false` if quiz is not active. - * - * @get result - * @post post - * @put post - * @var bool - */ - public $is_active = true; - - /** - * List of quiz elements in json format. - * - * Order of the element in array corresponds to order of elements on the form. - * - * @post post - * @var string - */ - public $json_element = ''; - - /** - * Business key within which quiz is managed. - * - * @delete get - * @get get - * @post get - * @put get - * @var string - */ - public $k_business = ''; - - /** - * Quiz key. - * - * @delete get - * @get get - * @post get,result - * @put get - * @var string - */ - public $k_quiz = ''; - - /** - * Quiz login key. - * - * @delete get - * @post get - * @put get - * @var string - */ - public $k_quiz_login = ''; - - /** - * Whether to show numbering of the form elements that supports numbering. - * - * `true` to show numbering on the form for elements that supports numbering. - * `false` to not show numbering. - * - * @get result - * @post post - * @var bool - */ - public $show_numbering = true; - - /** - * Quiz form title. - * - * @get result - * @post post - * @var string - */ - public $text_title = ''; -} - +<?php + +namespace WellnessLiving\Wl\Quiz; + +use WellnessLiving\WlModelAbstract; + +/** + * Manages a single quiz. + */ +class QuizElementModel extends WlModelAbstract +{ + /** + * List of quiz elements. + * + * Order of the element in array corresponds to order of elements on the form. + * + * @get result + * @post post + * @var array + */ + public $a_element = []; + + /** + * Quiz settings. + * + * @get result + * @post post + * @put result + * @var array + */ + public $a_setting = []; + + /** + * Whether user has privileges to amend form. + * + * @get result + * @var bool + */ + public $can_amend = false; + + /** + * Checks whether unauthorized user should be permitted to operate with form and make a response. + * In general all quizzes should have users in response but it some cases such as registration process + * user might not exist yet, and we need ability to ignore check for user existence. + * `true` - add possibility load form and accept response for non-registered user, `false` otherwise. + * + * @get get + * @post get + * @var bool + */ + public $can_anonymous = false; + + /** + * Number of responses for specific quiz. + * + * @get result + * @var int + */ + public $i_responses = 0; + + /** + * Quiz active status. + * + * `true` if quiz is active. + * `false` if quiz is not active. + * + * @get result + * @post post + * @put post + * @var bool + */ + public $is_active = true; + + /** + * List of quiz elements in json format. + * + * Order of the element in array corresponds to order of elements on the form. + * + * @post post + * @var string + */ + public $json_element = ''; + + /** + * Business key within which quiz is managed. + * + * @delete get + * @get get + * @post get + * @put get + * @var string + */ + public $k_business = ''; + + /** + * Quiz key. + * + * @delete get + * @get get + * @post get,result + * @put get + * @var string + */ + public $k_quiz = ''; + + /** + * Quiz login key. + * + * @delete get + * @post get + * @put get + * @var string + */ + public $k_quiz_login = ''; + + /** + * Whether to show numbering of the form elements that supports numbering. + * + * `true` to show numbering on the form for elements that supports numbering. + * `false` to not show numbering. + * + * @get result + * @post post + * @var bool + */ + public $show_numbering = true; + + /** + * Quiz form title. + * + * @get result + * @post post + * @var string + */ + public $text_title = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Quiz/Response/QuizResponse.php b/WellnessLiving/Wl/Quiz/Response/QuizResponse.php index b9c96aea..d31d6ccc 100644 --- a/WellnessLiving/Wl/Quiz/Response/QuizResponse.php +++ b/WellnessLiving/Wl/Quiz/Response/QuizResponse.php @@ -1,16 +1,16 @@ -<?php - -namespace WellnessLiving\Wl\Quiz\Response; - -/** - * A class for quiz responses. - */ -class QuizResponse -{ - /** - * The special value if the quiz is skipped during the booking or purchase process. - */ - const RESPONSE_SKIP = 'skip'; -} - +<?php + +namespace WellnessLiving\Wl\Quiz\Response; + +/** + * A class for quiz responses. + */ +class QuizResponse +{ + /** + * The special value if the quiz is skipped during the booking or purchase process. + */ + const RESPONSE_SKIP = 'skip'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Quiz/Response/SourceSid.php b/WellnessLiving/Wl/Quiz/Response/SourceSid.php index ff66e42b..78620d49 100644 --- a/WellnessLiving/Wl/Quiz/Response/SourceSid.php +++ b/WellnessLiving/Wl/Quiz/Response/SourceSid.php @@ -1,45 +1,45 @@ -<?php - -namespace WellnessLiving\Wl\Quiz\Response; - -/** - * List of sources where quiz response can be generated. - * - * Last used ID: 6 - */ -class SourceSid -{ - /** - * Quiz response received during booking process. - */ - const BOOKING = 2; - - /** - * Quiz response was imported. - */ - const IMPORT = 6; - - /** - * Quiz response received by direct link. - */ - const LINK = 1; - - /** - * Quiz response received by direct link. - * - * @title Studio - */ - const MANUAL = 5; - - /** - * Quiz response received during purchase process. - */ - const PURCHASE = 4; - - /** - * Quiz response received during registration process. - */ - const REGISTRATION = 3; -} - +<?php + +namespace WellnessLiving\Wl\Quiz\Response; + +/** + * List of sources where quiz response can be generated. + * + * Last used ID: 6 + */ +class SourceSid +{ + /** + * Quiz response received during booking process. + */ + const BOOKING = 2; + + /** + * Quiz response was imported. + */ + const IMPORT = 6; + + /** + * Quiz response received by direct link. + */ + const LINK = 1; + + /** + * Quiz response received by direct link. + * + * @title Studio + */ + const MANUAL = 5; + + /** + * Quiz response received during purchase process. + */ + const PURCHASE = 4; + + /** + * Quiz response received during registration process. + */ + const REGISTRATION = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reception/Application/MemberInfoColorSid.php b/WellnessLiving/Wl/Reception/Application/MemberInfoColorSid.php index 96c11411..d0127a95 100644 --- a/WellnessLiving/Wl/Reception/Application/MemberInfoColorSid.php +++ b/WellnessLiving/Wl/Reception/Application/MemberInfoColorSid.php @@ -1,36 +1,36 @@ -<?php - -namespace WellnessLiving\Wl\Reception\Application; - -/** - * Define colors of notice messages. - * - * Describes the connotation behind messages. An available balance notice has a positive connotation and should be - * displayed in a different color from notices of an expiring credit card or pass, which are negative. - * - * Last ID: 4. - */ -abstract class MemberInfoColorSid -{ - /** - * Default for neutral, informative messages. Displayed in blue. - */ - const BLUE = 1; - - /** - * Positive messages. Displayed in green. - */ - const GREEN = 2; - - /** - * Mild negative messages to warn the user. Displayed in orange. - */ - const ORANGE = 3; - - /** - * Negative messages with strong importance or urgency. Displayed in red. - */ - const RED = 4; -} - +<?php + +namespace WellnessLiving\Wl\Reception\Application; + +/** + * Define colors of notice messages. + * + * Describes the connotation behind messages. An available balance notice has a positive connotation and should be + * displayed in a different color from notices of an expiring credit card or pass, which are negative. + * + * Last ID: 4. + */ +abstract class MemberInfoColorSid +{ + /** + * Default for neutral, informative messages. Displayed in blue. + */ + const BLUE = 1; + + /** + * Positive messages. Displayed in green. + */ + const GREEN = 2; + + /** + * Mild negative messages to warn the user. Displayed in orange. + */ + const ORANGE = 3; + + /** + * Negative messages with strong importance or urgency. Displayed in red. + */ + const RED = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reception/Application/MemberInfoIconSid.php b/WellnessLiving/Wl/Reception/Application/MemberInfoIconSid.php index f42a19f4..00b61965 100644 --- a/WellnessLiving/Wl/Reception/Application/MemberInfoIconSid.php +++ b/WellnessLiving/Wl/Reception/Application/MemberInfoIconSid.php @@ -1,63 +1,63 @@ -<?php - -namespace WellnessLiving\Wl\Reception\Application; - -/** - * Define types of icons for notice messages. - * - * Last ID: 10. - */ -class MemberInfoIconSid -{ - /** - * Icon of an award ribbon. For celebration of an occasion (e.g. a client's first visit). - */ - const AWARD = 1; - - /** - * Icon of a birthday cake. For birthday messages. - */ - const CAKE = 2; - - /** - * Icon of a signed contract. - */ - const CONTRACT = 3; - - /** - * Icon of a document with a slash. For the unsigned waiver message. - */ - const DOCUMENT_SLASH = 4; - - /** - * Icon of dollar sign. For messages relating to personal balance and amounts due. - */ - const DOLLAR = 5; - - /** - * Icon of a dumbbell. For messages relating to visits. - */ - const DUMBBELL = 6; - - /** - * Icon of a form. - */ - const FORM = 7; - - /** - * Icon of an "i". Used for general informative messages. - */ - const INFO = 8; - - /** - * Icon of an "x". For messages communicating some important or urgent issue for the user. - */ - const PROBLEM = 9; - - /** - * Icon of an exclamation mark. For messages communicating a mild issue or cautioning the user. - */ - const WARNING = 10; -} - +<?php + +namespace WellnessLiving\Wl\Reception\Application; + +/** + * Define types of icons for notice messages. + * + * Last ID: 10. + */ +class MemberInfoIconSid +{ + /** + * Icon of an award ribbon. For celebration of an occasion (e.g. a client's first visit). + */ + const AWARD = 1; + + /** + * Icon of a birthday cake. For birthday messages. + */ + const CAKE = 2; + + /** + * Icon of a signed contract. + */ + const CONTRACT = 3; + + /** + * Icon of a document with a slash. For the unsigned waiver message. + */ + const DOCUMENT_SLASH = 4; + + /** + * Icon of dollar sign. For messages relating to personal balance and amounts due. + */ + const DOLLAR = 5; + + /** + * Icon of a dumbbell. For messages relating to visits. + */ + const DUMBBELL = 6; + + /** + * Icon of a form. + */ + const FORM = 7; + + /** + * Icon of an "i". Used for general informative messages. + */ + const INFO = 8; + + /** + * Icon of an "x". For messages communicating some important or urgent issue for the user. + */ + const PROBLEM = 9; + + /** + * Icon of an exclamation mark. For messages communicating a mild issue or cautioning the user. + */ + const WARNING = 10; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reception/Application/MemberInfoModel.php b/WellnessLiving/Wl/Reception/Application/MemberInfoModel.php index c3c09e7d..6d695a39 100644 --- a/WellnessLiving/Wl/Reception/Application/MemberInfoModel.php +++ b/WellnessLiving/Wl/Reception/Application/MemberInfoModel.php @@ -1,197 +1,197 @@ -<?php - -namespace WellnessLiving\Wl\Reception\Application; - -use WellnessLiving\WlModelAbstract; - -/** - * Returns information about user for self check in application. - */ -class MemberInfoModel extends WlModelAbstract -{ - /** - * Additional member data or `null` if any data can be shown. - * - * @get result - * @var array|null - */ - public $a_info = null; - - /** - * The options presented in the web app. - * - * The items are generated this way due to JavaScript limitations around translated messages. - * - * <dl> - * <dt>string <var>id_color</var></dt> - * <dd> - * ID of color the notice is displayed in. - * One of {@link MemberInfoColorSid} constants. - * </dd> - * <dt>string <var>id_icon</var></dt> - * <dd> - * ID of icon that accompanies the message. - * One of {@link MemberInfoIconSid} constants. - * </dd> - * <dt>string <var>text_class</var></dt> - * <dd>Name of the class for styles.</dd> - * <dt>string <var>text_message</var></dt> - * <dd>Plain message for info box.</dd> - * <dt>string <var>html_message</var></dt> - * <dd>Message for info box.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_items = []; - - /** - * List of users data. - * Keys - users primary keys. - * Keys refer to clients' primary keys, and values refer to clients' data. - * If `null`, data for a single client is being requested. - * - * @get result - * @var array|null - */ - public $a_result_list = null; - - /** - * Primary keys of users whose information must be returned. - * - * `null` if data of a single user is requested. - * - * @get get - * @var string[]|null - */ - public $a_uid = null; - - /** - * Date of the session, if we show it on the appointment info window or on the attendance list. - * - * @get get - * @var string - */ - public $dt_date = ''; - - /** - * `true` - if API is being used from backend, `false` - otherwise. - * - * @get get - * @var bool - */ - public $is_backend = false; - - /** - * If you need to return additional information set to `true` or `false` if not. - * - * @get get - * @var bool - */ - public $is_full = false; - - /** - * If `true`, the client is a traveler. Otherwise, this will be `false`. - * This will be `null` in cases when the client is a walk-in. Or when {@link MemberInfoModel::$is_full} is `false`. - * - * @get result - * @var bool|null - */ - public $is_traveller = null; - - /** - * The business ID required to access client information. - * - * Specify this as `0` to retrieve the system-wide version of the information. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The location where the Self Check-In Web App is running. - * - * @get get - * @var string - */ - public $k_location = ''; - - /** - * ID of the visit, if we show icons on the attendance list and information that depends on visit is required. - * - * @get get - * @var string - */ - public $k_visit = ''; - - /** - * The member ID. - * - * If `null`, the specified client isn't a member of the specified business. - * - * @get result - * @var string|null - */ - public $s_member = null; - - /** - * Key of the Check In application. - * - * @get get - * @var string - */ - public $s_secret = ''; - - /** - * A list of icons with additional information about the business member. - * If empty, all available icons will be displayed. - * - * @get get - * @var string - */ - public $s_show = ''; - - /** - * First user's name. - * - * @get result - * @var string - */ - public $text_first_name = ''; - - /** - * Full user's name. - * - * @get result - * @var string - */ - public $text_fullname = ''; - - /** - * ID of a user to retrieve member information for. - * - * @get get - * @var string - */ - public $uid = ''; - - /** - * URL to barcode image. - * - * @get result - * @var string - */ - public $url_barcode; - - /** - * URL to email. - * - * @get result - * @var string - */ - public $url_email = ''; -} - +<?php + +namespace WellnessLiving\Wl\Reception\Application; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns information about user for self check in application. + */ +class MemberInfoModel extends WlModelAbstract +{ + /** + * Additional member data or `null` if any data can be shown. + * + * @get result + * @var array|null + */ + public $a_info = null; + + /** + * The options presented in the web app. + * + * The items are generated this way due to JavaScript limitations around translated messages. + * + * <dl> + * <dt>string <var>id_color</var></dt> + * <dd> + * ID of color the notice is displayed in. + * One of {@link MemberInfoColorSid} constants. + * </dd> + * <dt>string <var>id_icon</var></dt> + * <dd> + * ID of icon that accompanies the message. + * One of {@link MemberInfoIconSid} constants. + * </dd> + * <dt>string <var>text_class</var></dt> + * <dd>Name of the class for styles.</dd> + * <dt>string <var>text_message</var></dt> + * <dd>Plain message for info box.</dd> + * <dt>string <var>html_message</var></dt> + * <dd>Message for info box.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_items = []; + + /** + * List of users data. + * Keys - users primary keys. + * Keys refer to clients' primary keys, and values refer to clients' data. + * If `null`, data for a single client is being requested. + * + * @get result + * @var array|null + */ + public $a_result_list = null; + + /** + * Primary keys of users whose information must be returned. + * + * `null` if data of a single user is requested. + * + * @get get + * @var string[]|null + */ + public $a_uid = null; + + /** + * Date of the session, if we show it on the appointment info window or on the attendance list. + * + * @get get + * @var string + */ + public $dt_date = ''; + + /** + * `true` - if API is being used from backend, `false` - otherwise. + * + * @get get + * @var bool + */ + public $is_backend = false; + + /** + * If you need to return additional information set to `true` or `false` if not. + * + * @get get + * @var bool + */ + public $is_full = false; + + /** + * If `true`, the client is a traveler. Otherwise, this will be `false`. + * This will be `null` in cases when the client is a walk-in. Or when {@link MemberInfoModel::$is_full} is `false`. + * + * @get result + * @var bool|null + */ + public $is_traveller = null; + + /** + * The business ID required to access client information. + * + * Specify this as `0` to retrieve the system-wide version of the information. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The location where the Self Check-In Web App is running. + * + * @get get + * @var string + */ + public $k_location = ''; + + /** + * ID of the visit, if we show icons on the attendance list and information that depends on visit is required. + * + * @get get + * @var string + */ + public $k_visit = ''; + + /** + * The member ID. + * + * If `null`, the specified client isn't a member of the specified business. + * + * @get result + * @var string|null + */ + public $s_member = null; + + /** + * Key of the Check In application. + * + * @get get + * @var string + */ + public $s_secret = ''; + + /** + * A list of icons with additional information about the business member. + * If empty, all available icons will be displayed. + * + * @get get + * @var string + */ + public $s_show = ''; + + /** + * First user's name. + * + * @get result + * @var string + */ + public $text_first_name = ''; + + /** + * Full user's name. + * + * @get result + * @var string + */ + public $text_fullname = ''; + + /** + * ID of a user to retrieve member information for. + * + * @get get + * @var string + */ + public $uid = ''; + + /** + * URL to barcode image. + * + * @get result + * @var string + */ + public $url_barcode; + + /** + * URL to email. + * + * @get result + * @var string + */ + public $url_email = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reception/Application/ReceptionScheduleModel.php b/WellnessLiving/Wl/Reception/Application/ReceptionScheduleModel.php index 939ea5cc..62baa114 100644 --- a/WellnessLiving/Wl/Reception/Application/ReceptionScheduleModel.php +++ b/WellnessLiving/Wl/Reception/Application/ReceptionScheduleModel.php @@ -1,235 +1,235 @@ -<?php - -namespace WellnessLiving\Wl\Reception\Application; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Service\ServiceSid; -use WellnessLiving\Wl\WlProgramTypeSid; - -/** - * Shows the schedule for the check-in process. - * - * Returns the HTML code that is normally presented for the check-in process. - */ -class ReceptionScheduleModel extends WlModelAbstract -{ - /** - * A list of sessions to display with the following fields: - * <dl> - * <dt>array <var>a_resources_shared</var></dt> - * <dd>A list of shared resources containing:<dl> - * <dt>string <var>k_resource</var></dt><dd>The resource key.</dd> - * <dt>string <var>s_title</var></dt><dd>The resource title.</dd> - * </dl></dd> - * <dt>array <var>a_staff_all</var></dt> - * <dd>A list of staff members instructing the service, containing:<dl> - * <dt>string <var>s_name_full</var></dt><dd>The staff member's full name.</dd> - * </dl></dd> - * <dt>string <var>dtu_date</var></dt> - * <dd>The session date.</dd> - * <dt>string <var>html_class_js</var></dt> - * <dd>The name of the HTML class that JavaScript uses to display the icon, depending on the service type.</dd> - * <dt>int <var>i_duration</var></dt> - * <dd>The session duration in minutes.</dd> - * <dt>int <var>id_service</var></dt> - * <dd>Service ID. One of the {@link ServiceSid} constants.</dd> - * <dt>bool <var>is_auto</var></dt> - * <dd>If `true`, the session can be checked in automatically. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_book</var></dt> - * <dd>If `true`, the client should be notified that the visit is booked. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_wait</var></dt> - * <dd>If `true`, the client should be notified that they're on the wait list. Otherwise, this will be `false`.</dd> - * <dt>string|null <var>k_appointment</var></dt> - * <dd>The appointment key. If `null`, this isn't an appointment.</dd> - * <dt>string|null <var>k_class_period</var></dt> - * <dd>The class period key. If `null`, this isn't a class or event.</dd> - * <dt>string|null <var>k_visit</var></dt> - * <dd>The visit key if the session has been checked in. Otherwise, this will be `null`.</dd> - * <dt>string <var>s_class</var></dt> - * <dd>The service name.</dd> - * <dt>string <var>s_duration</var></dt> - * <dd>The session duration, formatted by the business configuration.</dd> - * <dt>string <var>s_time</var></dt> - * <dd>The time the session takes place.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_class = []; - - /** - * Data for the confirmation screen with the following fields: - * <dl> - * <dt>array <var>a_payment</var></dt> - * <dd>Data for the promotion payment informational card. Each element contains:<dl> - * <dt>array <var>a_restrict</var></dt> - * <dd>Calendar restrictions. A duration pass will only have elements if a restriction has been met. This contains: <dl> - * <dt>int <var>i_limit</var></dt><dd>The count of possible visits.</dd> - * <dt>int <var>i_remain</var></dt><dd>The count of remaining visits.</dd> - * <dt>bool <var>s_date</var></dt><dd>The calendar period name.</dd> - * </dl></dd> - * <dt>bool <var>has_visit_past</var></dt> - * <dd>If `true`, the promotion was renewed in the past. Otherwise, this will be `false`.</dd> - * <dt>bool <var>hide_visit_additional_info</var></dt> - * <dd>If `true`, additional info should be excluded. Otherwise, this will be `false`.</dd> - * <dt>int <var>i_book</var></dt><dd>The count of upcoming uses of the promotion.</dd> - * <dt>int <var>i_book_duration</var></dt> - * <dd> - * Number of minutes used for upcoming visits. - * Has sense only for promotions of program type {@link WlProgramTypeSid::DURATION}. - * </dd> - * <dt>int <var>i_limit</var></dt><dd>The promotion's visit count limit.</dd> - * <dt>int <var>i_remain</var></dt><dd>The remaining count of visits.</dd> - * <dt>int <var>i_remain_duration</var></dt> - * <dd> - * Number of minutes left in this promotion. - * Has sense only for promotions of program type {@link WlProgramTypeSid::DURATION}. - * </dd> - * <dt>int <var>i_use</var></dt><dd>Count of held uses in the pass.</dd> - * <dt>int <var>i_use_duration</var></dt> - * <dd> - * Number of minutes used for past visits by this promotion. - * Has sense only for promotions of program type {@link WlProgramTypeSid::DURATION}. - * </dd> - * <dt>int <var>i_visit_past</var></dt> - * <dd> - * The count of attended sessions before the last renewal. - * If `0`, there were no sessions before last renewal or the promotion doesn't auto-renew. - * </dd> - * <dt>int <var>id_program_type</var></dt><dd>The promotion's program type ID.</dd> - * <dt>bool <var>is_last_use</var></dt> - * <dd>If `true`, the promotion has a usage limit and no remaining visits. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_package</var></dt><dd>If `true`, the promotion is a package. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_restrict_multiply</var></dt> - * <dd>If `true`, there's more than one calendar restriction on the pass. Otherwise, this will be `false`.</dd> - * <dt>string <var>k_login_promotion</var></dt> - * <dd>The login promotion key.</dd> - * <dt>string <var>s_remain_measure</var></dt><dd>The formatted remaining duration on the promotion.</dd> - * <dt>bool <var>show_remain</var></dt> - * <dd>If `true`, there's a rollover on the pass with calendar restrictions. Otherwise, this will be `false`.</dd> - * <dt>string <var>sid_program_type</var></dt><dd>The promotion's program type SID.</dd> - * </dl></dd> - * <dt>array <var>a_resources_not_shared</var></dt> - * <dd>The list of assets reserved individually at the time of booking containing:<dl> - * <dt>int <var>i_index</var></dt><dd>The busy resource index.</dd> - * <dt>string <var>s_title</var></dt><dd>The resource name.</dd> - * </dl></dd> - * <dt>string <var>dl_renew</var></dt> - * <dd>The promotion renewal date in local time.</dd> - * <dt>int <var>i_visits</var></dt> - * <dd>The total workouts attended.</dd> - * <dt>string <var>s_expire</var></dt> - * <dd>The short format of the promotion expiration date.</dd> - * <dt>string <var>s_payment</var></dt> - * <dd>The payment method used to book (free, unpaid, single buy, or promotion name).</dd> - * <dt>string <var>s_renew</var></dt> - * <dd>The short format of the promotion renewal date.</dd> - * <dt>string <var>show_visits</var></dt> - * <dd>Determines whether to show the client's total workouts attended on the confirmation screen.</dd> - * </dl> - * - * @post result - * @var array - */ - public $a_confirmation_data = []; - - /** - * All types of services that appear in the schedule. - * Keys are constants from {@link ServiceSid}. Values are the HTML classes associated with that service. - * - * @get result - * @var array - */ - public $a_schedule_class_all; - - /** - * The date and time of the visit in UTC and MySQL format. - * - * @post post - * @var string - */ - public $dtu_date = ''; - - /** - * The confirmation template to be shown in the Self Check-In Web App for the selected user. - * - * @post result - * @var string - */ - public $html_confirmation = ''; - - /** - * The schedule to be shown in the Self Check-In Web App for the selected user. - * - * @get result - * @var string - */ - public $html_schedule = ''; - - /** - * The key of the appointment to check in. - * - * If `null`, this is class visit or gym visit. - * - * @post post - * @var string|null - */ - public $k_appointment = null; - - /** - * The business key, where the Self Check-In Web App is started. - * - * @get get - * @post get - * @var string - */ - public $k_business = ''; - - /** - * The key of the class schedule to check in. - * - * If `null`, this is an appointment visit or gym visit. - * - * @post post - * @var string|null - */ - public $k_class_period = null; - - /** - * The location key, where the Self Check-In Web App is started. - * - * @get get - * @post get - * @var string - */ - public $k_location = ''; - - /** - * The visit key, which was added or checked in. - * - * @post result - * @var string - */ - public $k_visit = ''; - - /** - * The key of the Self Check-In Web App. - * - * @get get - * @post get - * @var string - */ - public $s_secret = ''; - - /** - * The key of the user to show the schedule for. - * - * @get get - * @post get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\Reception\Application; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Service\ServiceSid; +use WellnessLiving\Wl\WlProgramTypeSid; + +/** + * Shows the schedule for the check-in process. + * + * Returns the HTML code that is normally presented for the check-in process. + */ +class ReceptionScheduleModel extends WlModelAbstract +{ + /** + * A list of sessions to display with the following fields: + * <dl> + * <dt>array <var>a_resources_shared</var></dt> + * <dd>A list of shared resources containing:<dl> + * <dt>string <var>k_resource</var></dt><dd>The resource key.</dd> + * <dt>string <var>s_title</var></dt><dd>The resource title.</dd> + * </dl></dd> + * <dt>array <var>a_staff_all</var></dt> + * <dd>A list of staff members instructing the service, containing:<dl> + * <dt>string <var>s_name_full</var></dt><dd>The staff member's full name.</dd> + * </dl></dd> + * <dt>string <var>dtu_date</var></dt> + * <dd>The session date.</dd> + * <dt>string <var>html_class_js</var></dt> + * <dd>The name of the HTML class that JavaScript uses to display the icon, depending on the service type.</dd> + * <dt>int <var>i_duration</var></dt> + * <dd>The session duration in minutes.</dd> + * <dt>int <var>id_service</var></dt> + * <dd>Service ID. One of the {@link ServiceSid} constants.</dd> + * <dt>bool <var>is_auto</var></dt> + * <dd>If `true`, the session can be checked in automatically. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_book</var></dt> + * <dd>If `true`, the client should be notified that the visit is booked. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_wait</var></dt> + * <dd>If `true`, the client should be notified that they're on the wait list. Otherwise, this will be `false`.</dd> + * <dt>string|null <var>k_appointment</var></dt> + * <dd>The appointment key. If `null`, this isn't an appointment.</dd> + * <dt>string|null <var>k_class_period</var></dt> + * <dd>The class period key. If `null`, this isn't a class or event.</dd> + * <dt>string|null <var>k_visit</var></dt> + * <dd>The visit key if the session has been checked in. Otherwise, this will be `null`.</dd> + * <dt>string <var>s_class</var></dt> + * <dd>The service name.</dd> + * <dt>string <var>s_duration</var></dt> + * <dd>The session duration, formatted by the business configuration.</dd> + * <dt>string <var>s_time</var></dt> + * <dd>The time the session takes place.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_class = []; + + /** + * Data for the confirmation screen with the following fields: + * <dl> + * <dt>array <var>a_payment</var></dt> + * <dd>Data for the promotion payment informational card. Each element contains:<dl> + * <dt>array <var>a_restrict</var></dt> + * <dd>Calendar restrictions. A duration pass will only have elements if a restriction has been met. This contains: <dl> + * <dt>int <var>i_limit</var></dt><dd>The count of possible visits.</dd> + * <dt>int <var>i_remain</var></dt><dd>The count of remaining visits.</dd> + * <dt>bool <var>s_date</var></dt><dd>The calendar period name.</dd> + * </dl></dd> + * <dt>bool <var>has_visit_past</var></dt> + * <dd>If `true`, the promotion was renewed in the past. Otherwise, this will be `false`.</dd> + * <dt>bool <var>hide_visit_additional_info</var></dt> + * <dd>If `true`, additional info should be excluded. Otherwise, this will be `false`.</dd> + * <dt>int <var>i_book</var></dt><dd>The count of upcoming uses of the promotion.</dd> + * <dt>int <var>i_book_duration</var></dt> + * <dd> + * Number of minutes used for upcoming visits. + * Has sense only for promotions of program type {@link WlProgramTypeSid::DURATION}. + * </dd> + * <dt>int <var>i_limit</var></dt><dd>The promotion's visit count limit.</dd> + * <dt>int <var>i_remain</var></dt><dd>The remaining count of visits.</dd> + * <dt>int <var>i_remain_duration</var></dt> + * <dd> + * Number of minutes left in this promotion. + * Has sense only for promotions of program type {@link WlProgramTypeSid::DURATION}. + * </dd> + * <dt>int <var>i_use</var></dt><dd>Count of held uses in the pass.</dd> + * <dt>int <var>i_use_duration</var></dt> + * <dd> + * Number of minutes used for past visits by this promotion. + * Has sense only for promotions of program type {@link WlProgramTypeSid::DURATION}. + * </dd> + * <dt>int <var>i_visit_past</var></dt> + * <dd> + * The count of attended sessions before the last renewal. + * If `0`, there were no sessions before last renewal or the promotion doesn't auto-renew. + * </dd> + * <dt>int <var>id_program_type</var></dt><dd>The promotion's program type ID.</dd> + * <dt>bool <var>is_last_use</var></dt> + * <dd>If `true`, the promotion has a usage limit and no remaining visits. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_package</var></dt><dd>If `true`, the promotion is a package. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_restrict_multiply</var></dt> + * <dd>If `true`, there's more than one calendar restriction on the pass. Otherwise, this will be `false`.</dd> + * <dt>string <var>k_login_promotion</var></dt> + * <dd>The login promotion key.</dd> + * <dt>string <var>s_remain_measure</var></dt><dd>The formatted remaining duration on the promotion.</dd> + * <dt>bool <var>show_remain</var></dt> + * <dd>If `true`, there's a rollover on the pass with calendar restrictions. Otherwise, this will be `false`.</dd> + * <dt>string <var>sid_program_type</var></dt><dd>The promotion's program type SID.</dd> + * </dl></dd> + * <dt>array <var>a_resources_not_shared</var></dt> + * <dd>The list of assets reserved individually at the time of booking containing:<dl> + * <dt>int <var>i_index</var></dt><dd>The busy resource index.</dd> + * <dt>string <var>s_title</var></dt><dd>The resource name.</dd> + * </dl></dd> + * <dt>string <var>dl_renew</var></dt> + * <dd>The promotion renewal date in local time.</dd> + * <dt>int <var>i_visits</var></dt> + * <dd>The total workouts attended.</dd> + * <dt>string <var>s_expire</var></dt> + * <dd>The short format of the promotion expiration date.</dd> + * <dt>string <var>s_payment</var></dt> + * <dd>The payment method used to book (free, unpaid, single buy, or promotion name).</dd> + * <dt>string <var>s_renew</var></dt> + * <dd>The short format of the promotion renewal date.</dd> + * <dt>string <var>show_visits</var></dt> + * <dd>Determines whether to show the client's total workouts attended on the confirmation screen.</dd> + * </dl> + * + * @post result + * @var array + */ + public $a_confirmation_data = []; + + /** + * All types of services that appear in the schedule. + * Keys are constants from {@link ServiceSid}. Values are the HTML classes associated with that service. + * + * @get result + * @var array + */ + public $a_schedule_class_all; + + /** + * The date and time of the visit in UTC and MySQL format. + * + * @post post + * @var string + */ + public $dtu_date = ''; + + /** + * The confirmation template to be shown in the Self Check-In Web App for the selected user. + * + * @post result + * @var string + */ + public $html_confirmation = ''; + + /** + * The schedule to be shown in the Self Check-In Web App for the selected user. + * + * @get result + * @var string + */ + public $html_schedule = ''; + + /** + * The key of the appointment to check in. + * + * If `null`, this is class visit or gym visit. + * + * @post post + * @var string|null + */ + public $k_appointment = null; + + /** + * The business key, where the Self Check-In Web App is started. + * + * @get get + * @post get + * @var string + */ + public $k_business = ''; + + /** + * The key of the class schedule to check in. + * + * If `null`, this is an appointment visit or gym visit. + * + * @post post + * @var string|null + */ + public $k_class_period = null; + + /** + * The location key, where the Self Check-In Web App is started. + * + * @get get + * @post get + * @var string + */ + public $k_location = ''; + + /** + * The visit key, which was added or checked in. + * + * @post result + * @var string + */ + public $k_visit = ''; + + /** + * The key of the Self Check-In Web App. + * + * @get get + * @post get + * @var string + */ + public $s_secret = ''; + + /** + * The key of the user to show the schedule for. + * + * @get get + * @post get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php b/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php index e2a418a2..ab0aa322 100644 --- a/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php +++ b/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php @@ -1,88 +1,88 @@ -<?php - -namespace WellnessLiving\Wl\Report\Generator; - -/** - * Lists statuses of reports from point of view of its generation. - */ -class ReportGeneratorStatusSid -{ - /** - * Report is in an inconsistent state. - * - * There was an aborted operation which means this report is available partially. - * - * The following transitions are possible: - * - * * `ABORTED` => `DELETING` when a background task finds that this report is old and should be deleted. - * - * * `ABORTED` => `QUEUED` if user clicks to regenerate this report - */ - const ABORTED = 6; - - /** - * Current operation is being aborted now. - * - * The following transitions are possible: - * - * * `ABORTING` => `ABORTED` when current operation completes. - * This transition is performed in two places: before the beginning of the actual generation, - * and after completion of the generation. - */ - const ABORTING = 5; - - /** - * This report is being deleted now. - * - * The following transitions are possible: - * - * * `DELETING` => (report does not exist anymore) when deletion of this report completes. - */ - const DELETING = 4; - - /** - * This report is being generated now. - * - * This status is set when report is generated from zero point. - * This status basically means that not all partition of the report present. - * It also means that all partitions that exist have the newest values. - * - * All new reports are created in this status. - * - * The following transitions are possible: - * - * * `GENERATING` => `ABORTING` when generation of this report aborted by user. - * * `GENERATING` => `READY` when generation of this report completes. - * This transition is performed when generation completes successfully. - */ - const GENERATING = 2; - - /** - * Generation of this report is queued. - * It will start automatically when generation of other reports completes. - * - * The following transitions are possible: - * - * * `QUEUED` => (report does not exist anymore) If generation of this report was aborted while no data was generated. - * * `QUEUED` => `ABORTED` If generation of this report was aborted while there is data from previous generation of - * this report. - * - * This transition also occurs if a report stayed in the queue more than the set duration and - * there is some data left from the previous generation of this report. - * * `QUEUED` => `GENERATING` when there is a free thread slot to start generation of this report immediately. - */ - const QUEUED = 1; - - /** - * Generation of this report is now completed. - * - * The following transitions are possible: - * - * * `READY` => `DELETING` when a background tasks identifies that this report is old and starts deleting it. - * - * * `READY` => `QUEUED` when user clicks to regenerate this report - */ - const READY = 3; -} - +<?php + +namespace WellnessLiving\Wl\Report\Generator; + +/** + * Lists statuses of reports from point of view of its generation. + */ +class ReportGeneratorStatusSid +{ + /** + * Report is in an inconsistent state. + * + * There was an aborted operation which means this report is available partially. + * + * The following transitions are possible: + * + * * `ABORTED` => `DELETING` when a background task finds that this report is old and should be deleted. + * + * * `ABORTED` => `QUEUED` if user clicks to regenerate this report + */ + const ABORTED = 6; + + /** + * Current operation is being aborted now. + * + * The following transitions are possible: + * + * * `ABORTING` => `ABORTED` when current operation completes. + * This transition is performed in two places: before the beginning of the actual generation, + * and after completion of the generation. + */ + const ABORTING = 5; + + /** + * This report is being deleted now. + * + * The following transitions are possible: + * + * * `DELETING` => (report does not exist anymore) when deletion of this report completes. + */ + const DELETING = 4; + + /** + * This report is being generated now. + * + * This status is set when report is generated from zero point. + * This status basically means that not all partition of the report present. + * It also means that all partitions that exist have the newest values. + * + * All new reports are created in this status. + * + * The following transitions are possible: + * + * * `GENERATING` => `ABORTING` when generation of this report aborted by user. + * * `GENERATING` => `READY` when generation of this report completes. + * This transition is performed when generation completes successfully. + */ + const GENERATING = 2; + + /** + * Generation of this report is queued. + * It will start automatically when generation of other reports completes. + * + * The following transitions are possible: + * + * * `QUEUED` => (report does not exist anymore) If generation of this report was aborted while no data was generated. + * * `QUEUED` => `ABORTED` If generation of this report was aborted while there is data from previous generation of + * this report. + * + * This transition also occurs if a report stayed in the queue more than the set duration and + * there is some data left from the previous generation of this report. + * * `QUEUED` => `GENERATING` when there is a free thread slot to start generation of this report immediately. + */ + const QUEUED = 1; + + /** + * Generation of this report is now completed. + * + * The following transitions are possible: + * + * * `READY` => `DELETING` when a background tasks identifies that this report is old and starts deleting it. + * + * * `READY` => `QUEUED` when user clicks to regenerate this report + */ + const READY = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Image/ImageIconSid.php b/WellnessLiving/Wl/Resource/Image/ImageIconSid.php index 99608ef1..5208f6f4 100644 --- a/WellnessLiving/Wl/Resource/Image/ImageIconSid.php +++ b/WellnessLiving/Wl/Resource/Image/ImageIconSid.php @@ -1,158 +1,158 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Image; - -/** - * Predefined icons for assets. - * - * Last used ID: 29. - */ -class ImageIconSid -{ - /** - * Training bench. - */ - const BENCH = 1; - - /** - * Exercise bike. - */ - const BIKE_1 = 2; - - /** - * Exercise bike. - */ - const BIKE_2 = 3; - - /** - * Exercise bike. - */ - const BIKE_3 = 4; - - /** - * Exercise bike. - */ - const BIKE_4 = 5; - - /** - * Exercise bike. - */ - const BIKE_5 = 6; - - /** - * Exercise bike. - */ - const BIKE_6 = 7; - - /** - * Boot. - */ - const BOOT = 8; - - /** - * Door. - */ - const DOOR = 9; - - /** - * Fan. - */ - const FAN_1 = 10; - - /** - * Fan. - */ - const FAN_2 = 11; - - /** - * Man. - */ - const MAN = 12; - - /** - * Mat. - */ - const MAT = 13; - - /** - * Mirror. - */ - const MIRROR = 14; - - /** - * Orbitrack. - */ - const ORBITRACK_1 = 15; - - /** - * Orbitrack. - */ - const ORBITRACK_2 = 16; - - /** - * Orbitrack. - */ - const ORBITRACK_3 = 17; - - /** - * Orbitrack. - */ - const ORBITRACK_4 = 18; - - /** - * Orbitrack. - */ - const ORBITRACK_5 = 19; - - /** - * Orbitrack. - */ - const ORBITRACK_6 = 20; - - /** - * Boxing punch. - */ - const PUNCH_1 = 21; - - /** - * Boxing punch. - */ - const PUNCH_2 = 22; - - /** - * Rectangle. - */ - const RECTANGLE = 23; - - /** - * Loudspeaker. - */ - const SPEAKER = 24; - - /** - * Treadmill. - */ - const TREADMILL_1 = 25; - - /** - * Treadmill. - */ - const TREADMILL_2 = 26; - - /** - * TV. - */ - const TV = 27; - - /** - * Twines. - */ - const TWINE = 28; - - /** - * Weight. - */ - const WEIGHT = 29; -} - +<?php + +namespace WellnessLiving\Wl\Resource\Image; + +/** + * Predefined icons for assets. + * + * Last used ID: 29. + */ +class ImageIconSid +{ + /** + * Training bench. + */ + const BENCH = 1; + + /** + * Exercise bike. + */ + const BIKE_1 = 2; + + /** + * Exercise bike. + */ + const BIKE_2 = 3; + + /** + * Exercise bike. + */ + const BIKE_3 = 4; + + /** + * Exercise bike. + */ + const BIKE_4 = 5; + + /** + * Exercise bike. + */ + const BIKE_5 = 6; + + /** + * Exercise bike. + */ + const BIKE_6 = 7; + + /** + * Boot. + */ + const BOOT = 8; + + /** + * Door. + */ + const DOOR = 9; + + /** + * Fan. + */ + const FAN_1 = 10; + + /** + * Fan. + */ + const FAN_2 = 11; + + /** + * Man. + */ + const MAN = 12; + + /** + * Mat. + */ + const MAT = 13; + + /** + * Mirror. + */ + const MIRROR = 14; + + /** + * Orbitrack. + */ + const ORBITRACK_1 = 15; + + /** + * Orbitrack. + */ + const ORBITRACK_2 = 16; + + /** + * Orbitrack. + */ + const ORBITRACK_3 = 17; + + /** + * Orbitrack. + */ + const ORBITRACK_4 = 18; + + /** + * Orbitrack. + */ + const ORBITRACK_5 = 19; + + /** + * Orbitrack. + */ + const ORBITRACK_6 = 20; + + /** + * Boxing punch. + */ + const PUNCH_1 = 21; + + /** + * Boxing punch. + */ + const PUNCH_2 = 22; + + /** + * Rectangle. + */ + const RECTANGLE = 23; + + /** + * Loudspeaker. + */ + const SPEAKER = 24; + + /** + * Treadmill. + */ + const TREADMILL_1 = 25; + + /** + * Treadmill. + */ + const TREADMILL_2 = 26; + + /** + * TV. + */ + const TV = 27; + + /** + * Twines. + */ + const TWINE = 28; + + /** + * Weight. + */ + const WEIGHT = 29; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php b/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php index 8d56b809..7d85e73a 100644 --- a/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php +++ b/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Image; - -/** - * The kinds of shapes that can be used as an assets' images. - */ -class ImageShapeSid -{ - /** - * Circle. - */ - const CIRCLE = 1; - - /** - * Rectangle. - */ - const RECTANGLE = 2; - - /** - * Square. - */ - const SQUARE = 3; - - /** - * Triangle. - */ - const TRIANGLE = 4; -} - +<?php + +namespace WellnessLiving\Wl\Resource\Image; + +/** + * The kinds of shapes that can be used as an assets' images. + */ +class ImageShapeSid +{ + /** + * Circle. + */ + const CIRCLE = 1; + + /** + * Rectangle. + */ + const RECTANGLE = 2; + + /** + * Square. + */ + const SQUARE = 3; + + /** + * Triangle. + */ + const TRIANGLE = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Layout/LayoutModel.php b/WellnessLiving/Wl/Resource/Layout/LayoutModel.php index bf140e58..b79f8bab 100644 --- a/WellnessLiving/Wl/Resource/Layout/LayoutModel.php +++ b/WellnessLiving/Wl/Resource/Layout/LayoutModel.php @@ -1,258 +1,258 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Layout; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Resource\Image\ImageIconSid; - -/** - * Displays information about an asset layout. - */ -class LayoutModel extends WlModelAbstract -{ - /** - * The list of assets. Every element contains the following keys: - * <dl> - * <dt> - * array <var>a_image</var> - * </dt> - * <dd> - * The asset's appearance information. - * - * </dd> - * <dt> - * int <var>i_cell_x</var> - * </dt> - * <dd> - * The vertical cell number. Not empty if assets are snapped to grid. - * </dd> - * <dt> - * int <var>i_cell_y</var> - * </dt> - * <dd> - * The horizontal cell number. Not empty if assets are snapped to grid. - * </dd> - * <dt> - * int <var>i_left</var> - * </dt> - * <dd> - * The horizontal offset in pixels. Not empty if assets aren't snapped to grid. - * </dd> - * <dt> - * int <var>i_top</var> - * </dt> - * <dd> - * The vertical offset in pixels. Not empty if assets aren't snapped to grid. - * </dd> - * <dt> - * int <var>i_index</var> - * </dt> - * <dd> - * Asset number. - * </dd> - * <dt> - * string <var>k_resource</var> - * </dt> - * <dd> - * The asset key. - * </dd> - * <dt> - * string <var>s_name</var> - * </dt> - * <dd> - * Asset name. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The asset title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_resource; - - /** - * A list of custom shapes. Every element is an array with the following keys: - * <dl> - * <dt> - * float <var>f_height</var> - * </dt> - * <dd> - * The height for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. - * </dd> - * <dt> - * float <var>f_width</var> - * </dt> - * <dd> - * The width for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. - * </dd> - * <dt> - * int <var>i_degree_from</var> - * </dt> - * <dd> - * The start angle for the shape {@link LayoutShapeSid::PIE}. Empty for other shapes. - * </dd> - * <dt> - * int <var>i_degree_to</var> - * </dt> - * <dd> - * The start angle for shape {@link LayoutShapeSid::PIE}. Empty for other shapes. - * </dd> - * <dt> - * int <var>i_left</var> - * </dt> - * <dd> - * The position of the shape by horizontal axis. - * </dd> - * <dt> - * int <var>i_radius</var> - * </dt> - * <dd> - * The radius for shapes {@link LayoutShapeSid::PIE} and - * {@link LayoutShapeSid::CIRCLE}. Empty for other shapes. - * </dd> - * <dt> - * int <var>i_top</var> - * </dt> - * <dd> - * The position of the shape by vertical axis. - * </dd> - * <dt> - * int <var>id_resource_layout_shape</var> - * </dt> - * <dd> - * The shape type ID. One of the {@link LayoutShapeSid} constants. - * </dd> - * <dt> - * string <var>k_resource_layout_shape</var> - * </dt> - * <dd> - * The shape key. - * </dd> - * <dt> - * string <var>s_color_background</var> - * </dt> - * <dd> - * The shape's background color. - * </dd> - * <dt> - * string <var>s_color_foreground</var> - * </dt> - * <dd> - * The shape's foreground color. - * </dd> - * <dt> - * string <var>s_text</var> - * </dt> - * <dd> - * The shape's title. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_shape_custom; - - /** - * A list of shapes and icons. Every element is an array with the following keys: - * <dl> - * <dt> - * int <var>i_cell_x</var> - * </dt> - * <dd> - * The cell number, positioned by the horizontal axis. Empty if grid is turned off. - * </dd> - * <dt> - * int <var>i_cell_y</var> - * </dt> - * <dd> - * The cell number, positioned by the vertical axis. Empty if grid is turned off. - * </dd> - * <dt> - * int <var>i_left</var> - * </dt> - * <dd> - * The horizontal position in pixels. Empty if grid is turned on. - * </dd> - * <dt> - * int <var>i_top</var> - * </dt> - * <dd> - * The vertical position in pixels. Empty if grid is turned on. - * </dd> - * <dt> - * int <var>id_shape_icon</var> - * </dt> - * <dd> - * The icon ID. One of the {@link ImageIconSid} constants. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_shape_icon; - - /** - * The grid size. - * - * @get result - * @var int - */ - public $i_grid; - - /** - * This will be `true` if snap to grid is enabled. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_grid; - - /** - * The key of the layout. - * - * @get get - * @var string - */ - public $k_resource_layout = '0'; - - /** - * The key of the asset category. - * - * @get result - * @var string - */ - public $k_resource_type; - - /** - * The color for active assets. Hex encoding with prefix `#`. - * - * @get result - * @var string - */ - public $s_color_active; - - /** - * This will be `true` if asset names are displayed. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $show_name; - - /** - * This will be `true` if asset numbers are displayed. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $show_number; -} - +<?php + +namespace WellnessLiving\Wl\Resource\Layout; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Resource\Image\ImageIconSid; + +/** + * Displays information about an asset layout. + */ +class LayoutModel extends WlModelAbstract +{ + /** + * The list of assets. Every element contains the following keys: + * <dl> + * <dt> + * array <var>a_image</var> + * </dt> + * <dd> + * The asset's appearance information. + * + * </dd> + * <dt> + * int <var>i_cell_x</var> + * </dt> + * <dd> + * The vertical cell number. Not empty if assets are snapped to grid. + * </dd> + * <dt> + * int <var>i_cell_y</var> + * </dt> + * <dd> + * The horizontal cell number. Not empty if assets are snapped to grid. + * </dd> + * <dt> + * int <var>i_left</var> + * </dt> + * <dd> + * The horizontal offset in pixels. Not empty if assets aren't snapped to grid. + * </dd> + * <dt> + * int <var>i_top</var> + * </dt> + * <dd> + * The vertical offset in pixels. Not empty if assets aren't snapped to grid. + * </dd> + * <dt> + * int <var>i_index</var> + * </dt> + * <dd> + * Asset number. + * </dd> + * <dt> + * string <var>k_resource</var> + * </dt> + * <dd> + * The asset key. + * </dd> + * <dt> + * string <var>s_name</var> + * </dt> + * <dd> + * Asset name. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The asset title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_resource; + + /** + * A list of custom shapes. Every element is an array with the following keys: + * <dl> + * <dt> + * float <var>f_height</var> + * </dt> + * <dd> + * The height for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. + * </dd> + * <dt> + * float <var>f_width</var> + * </dt> + * <dd> + * The width for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. + * </dd> + * <dt> + * int <var>i_degree_from</var> + * </dt> + * <dd> + * The start angle for the shape {@link LayoutShapeSid::PIE}. Empty for other shapes. + * </dd> + * <dt> + * int <var>i_degree_to</var> + * </dt> + * <dd> + * The start angle for shape {@link LayoutShapeSid::PIE}. Empty for other shapes. + * </dd> + * <dt> + * int <var>i_left</var> + * </dt> + * <dd> + * The position of the shape by horizontal axis. + * </dd> + * <dt> + * int <var>i_radius</var> + * </dt> + * <dd> + * The radius for shapes {@link LayoutShapeSid::PIE} and + * {@link LayoutShapeSid::CIRCLE}. Empty for other shapes. + * </dd> + * <dt> + * int <var>i_top</var> + * </dt> + * <dd> + * The position of the shape by vertical axis. + * </dd> + * <dt> + * int <var>id_resource_layout_shape</var> + * </dt> + * <dd> + * The shape type ID. One of the {@link LayoutShapeSid} constants. + * </dd> + * <dt> + * string <var>k_resource_layout_shape</var> + * </dt> + * <dd> + * The shape key. + * </dd> + * <dt> + * string <var>s_color_background</var> + * </dt> + * <dd> + * The shape's background color. + * </dd> + * <dt> + * string <var>s_color_foreground</var> + * </dt> + * <dd> + * The shape's foreground color. + * </dd> + * <dt> + * string <var>s_text</var> + * </dt> + * <dd> + * The shape's title. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_shape_custom; + + /** + * A list of shapes and icons. Every element is an array with the following keys: + * <dl> + * <dt> + * int <var>i_cell_x</var> + * </dt> + * <dd> + * The cell number, positioned by the horizontal axis. Empty if grid is turned off. + * </dd> + * <dt> + * int <var>i_cell_y</var> + * </dt> + * <dd> + * The cell number, positioned by the vertical axis. Empty if grid is turned off. + * </dd> + * <dt> + * int <var>i_left</var> + * </dt> + * <dd> + * The horizontal position in pixels. Empty if grid is turned on. + * </dd> + * <dt> + * int <var>i_top</var> + * </dt> + * <dd> + * The vertical position in pixels. Empty if grid is turned on. + * </dd> + * <dt> + * int <var>id_shape_icon</var> + * </dt> + * <dd> + * The icon ID. One of the {@link ImageIconSid} constants. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_shape_icon; + + /** + * The grid size. + * + * @get result + * @var int + */ + public $i_grid; + + /** + * This will be `true` if snap to grid is enabled. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_grid; + + /** + * The key of the layout. + * + * @get get + * @var string + */ + public $k_resource_layout = '0'; + + /** + * The key of the asset category. + * + * @get result + * @var string + */ + public $k_resource_type; + + /** + * The color for active assets. Hex encoding with prefix `#`. + * + * @get result + * @var string + */ + public $s_color_active; + + /** + * This will be `true` if asset names are displayed. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $show_name; + + /** + * This will be `true` if asset numbers are displayed. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $show_number; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php b/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php index bcc171fa..e88644b2 100644 --- a/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php +++ b/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Layout; - -/** - * Types of the shapes. - */ -class LayoutShapeSid -{ - /** - * Circles. - */ - const CIRCLE = 2; - - /** - * Pies. - */ - const PIE = 3; - - /** - * Rectangles and squares. - */ - const RECTANGLE = 1; -} - +<?php + +namespace WellnessLiving\Wl\Resource\Layout; + +/** + * Types of the shapes. + */ +class LayoutShapeSid +{ + /** + * Circles. + */ + const CIRCLE = 2; + + /** + * Pies. + */ + const PIE = 3; + + /** + * Rectangles and squares. + */ + const RECTANGLE = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewCaptcha.php b/WellnessLiving/Wl/Review/ReviewCaptcha.php index 2124a40b..ecdf8f5a 100644 --- a/WellnessLiving/Wl/Review/ReviewCaptcha.php +++ b/WellnessLiving/Wl/Review/ReviewCaptcha.php @@ -1,16 +1,16 @@ -<?php - -namespace WellnessLiving\Wl\Review; - -/** - * Captcha for post review. - */ -class ReviewCaptcha -{ - /** - * CID of this class. - */ - const CID = 1066; -} - +<?php + +namespace WellnessLiving\Wl\Review; + +/** + * Captcha for post review. + */ +class ReviewCaptcha +{ + /** + * CID of this class. + */ + const CID = 1066; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewFeatureModel.php b/WellnessLiving/Wl/Review/ReviewFeatureModel.php index 454de668..07c149ce 100644 --- a/WellnessLiving/Wl/Review/ReviewFeatureModel.php +++ b/WellnessLiving/Wl/Review/ReviewFeatureModel.php @@ -1,37 +1,37 @@ -<?php - -namespace WellnessLiving\Wl\Review; - -use WellnessLiving\WlModelAbstract; - -/** - * Changes the status of a featured review. - */ -class ReviewFeatureModel extends WlModelAbstract -{ - /** - * Determines if the review is featured. - * - * @post post - * @var bool - */ - public $is_featured = true; - - /** - * The business key. - * - * @post post - * @var string - */ - public $k_business = ''; - - /** - * The review key. - * - * @post post - * @var string - */ - public $k_review = ''; -} - +<?php + +namespace WellnessLiving\Wl\Review; + +use WellnessLiving\WlModelAbstract; + +/** + * Changes the status of a featured review. + */ +class ReviewFeatureModel extends WlModelAbstract +{ + /** + * Determines if the review is featured. + * + * @post post + * @var bool + */ + public $is_featured = true; + + /** + * The business key. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * The review key. + * + * @post post + * @var string + */ + public $k_review = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewList/ReviewElementModel.php b/WellnessLiving/Wl/Review/ReviewList/ReviewElementModel.php index e6595291..9d2af407 100644 --- a/WellnessLiving/Wl/Review/ReviewList/ReviewElementModel.php +++ b/WellnessLiving/Wl/Review/ReviewList/ReviewElementModel.php @@ -1,128 +1,128 @@ -<?php - -namespace WellnessLiving\Wl\Review\ReviewList; - -use WellnessLiving\WlModelAbstract; - -/** - * Returns information about a review. - */ -class ReviewElementModel extends WlModelAbstract -{ - /** - * Review data: - * <dl> - * <dt> - * string <var>dt_add</var> - * </dt> - * <dd> - * Date when review was added by user. - * </dd> - * <dt> - * float <var>f_rate</var> - * </dt> - * <dd> - * Review rate. - * </dd> - * <dt> - * int <var>id_review_status</var> - * </dt> - * <dd> - * Status of the Review - * </dd> - * <dt> - * bool <var>is_featured</var> - * </dt> - * <dd> - * If `true`, the review is featured. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_verify</var> - * </dt> - * <dd> - * <tt>true</tt> if review is verified, <tt>false</tt> otherwise. - * </dd> - * <dt> - * string <var>text_firstname</var> - * </dt> - * <dd> - * Client's first name who added review. - * </dd> - * <dt> - * string <var>text_lastname</var> - * </dt> - * <dd> - * Client's last name who added review. - * </dd> - * <dt> - * string <var>text_reply</var> - * </dt> - * <dd> - * Staff reply. Can be empty. - * </dd> - * <dt> - * string <var>text_review</var> - * </dt> - * <dd> - * Review text. - * </dd> - * <dt> - * string <var>text_business_name</var> - * </dt> - * <dd> - * Business name - * </dd> - * <dt> - * string <var>text_response</var> - * </dt> - * <dd> - * Word "response". - * </dd> - * <dt> - * string <var>uid</var> - * </dt> - * <dd> - * User key. - * </dd> - * <dt> - * string <var>url_logo</var> - * </dt> - * <dd> - * User logo. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_review = []; - - /** - * The key of the business to which the review belongs. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * The review key. - * - * @delete get - * @get get - * @var string - */ - public $k_review = '0'; - - /** - * The user key. - * - * May be empty in the case of a guest. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Review\ReviewList; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns information about a review. + */ +class ReviewElementModel extends WlModelAbstract +{ + /** + * Review data: + * <dl> + * <dt> + * string <var>dt_add</var> + * </dt> + * <dd> + * Date when review was added by user. + * </dd> + * <dt> + * float <var>f_rate</var> + * </dt> + * <dd> + * Review rate. + * </dd> + * <dt> + * int <var>id_review_status</var> + * </dt> + * <dd> + * Status of the Review + * </dd> + * <dt> + * bool <var>is_featured</var> + * </dt> + * <dd> + * If `true`, the review is featured. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_verify</var> + * </dt> + * <dd> + * <tt>true</tt> if review is verified, <tt>false</tt> otherwise. + * </dd> + * <dt> + * string <var>text_firstname</var> + * </dt> + * <dd> + * Client's first name who added review. + * </dd> + * <dt> + * string <var>text_lastname</var> + * </dt> + * <dd> + * Client's last name who added review. + * </dd> + * <dt> + * string <var>text_reply</var> + * </dt> + * <dd> + * Staff reply. Can be empty. + * </dd> + * <dt> + * string <var>text_review</var> + * </dt> + * <dd> + * Review text. + * </dd> + * <dt> + * string <var>text_business_name</var> + * </dt> + * <dd> + * Business name + * </dd> + * <dt> + * string <var>text_response</var> + * </dt> + * <dd> + * Word "response". + * </dd> + * <dt> + * string <var>uid</var> + * </dt> + * <dd> + * User key. + * </dd> + * <dt> + * string <var>url_logo</var> + * </dt> + * <dd> + * User logo. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_review = []; + + /** + * The key of the business to which the review belongs. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The review key. + * + * @delete get + * @get get + * @var string + */ + public $k_review = '0'; + + /** + * The user key. + * + * May be empty in the case of a guest. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php b/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php index b0d6ab5d..abcc67f1 100644 --- a/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php +++ b/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Review\ReviewList; - -/** - * List of possible order for gets review. - */ -class ReviewOrderSid -{ - /** - * Ascending sort review by date. - */ - const LATEST = 1; - - /** - * Ascending sort review by date. - */ - const NEGATIVE = 3; - - /** - * Descending sort review by date. - */ - const OLDEST = 4; - - /** - * Descending sort review by date. - */ - const POSITIVE = 2; -} - +<?php + +namespace WellnessLiving\Wl\Review\ReviewList; + +/** + * List of possible order for gets review. + */ +class ReviewOrderSid +{ + /** + * Ascending sort review by date. + */ + const LATEST = 1; + + /** + * Ascending sort review by date. + */ + const NEGATIVE = 3; + + /** + * Descending sort review by date. + */ + const OLDEST = 4; + + /** + * Descending sort review by date. + */ + const POSITIVE = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewReplyModel.php b/WellnessLiving/Wl/Review/ReviewReplyModel.php index 85ebf4d2..1b485783 100644 --- a/WellnessLiving/Wl/Review/ReviewReplyModel.php +++ b/WellnessLiving/Wl/Review/ReviewReplyModel.php @@ -1,53 +1,53 @@ -<?php - -namespace WellnessLiving\Wl\Review; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlReviewStatusSid; - -/** - * Adds a review reply. - */ -class ReviewReplyModel extends WlModelAbstract -{ - /** - * Status of the Review. One of {@link WlReviewStatusSid} constants. - * - * `null` until passed to the api when admin replies to the review. - * - * @post post - * @var int|null - */ - public $id_review_status = null; - - /** - * Key of the business to which the review belongs. - * - * Empty string to defined business automatically, based on value of <tt>k_review</tt>. - * - * Although this value may be empty, this behavior is deprecated and will be removed in the future. - * You MUST pass key of the business always. - * - * @post post - * @var string - */ - public $k_business; - - /** - * The review key. - * - * @post post - * @var string - */ - public $k_review; - - /** - * The reply text for review. - * - * @post post - * @var string - */ - public $text_reply; -} - +<?php + +namespace WellnessLiving\Wl\Review; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlReviewStatusSid; + +/** + * Adds a review reply. + */ +class ReviewReplyModel extends WlModelAbstract +{ + /** + * Status of the Review. One of {@link WlReviewStatusSid} constants. + * + * `null` until passed to the api when admin replies to the review. + * + * @post post + * @var int|null + */ + public $id_review_status = null; + + /** + * Key of the business to which the review belongs. + * + * Empty string to defined business automatically, based on value of <tt>k_review</tt>. + * + * Although this value may be empty, this behavior is deprecated and will be removed in the future. + * You MUST pass key of the business always. + * + * @post post + * @var string + */ + public $k_business; + + /** + * The review key. + * + * @post post + * @var string + */ + public $k_review; + + /** + * The reply text for review. + * + * @post post + * @var string + */ + public $text_reply; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ClassList/ClassListModel.php b/WellnessLiving/Wl/Schedule/ClassList/ClassListModel.php index 1fd85a3e..48e1b04d 100644 --- a/WellnessLiving/Wl/Schedule/ClassList/ClassListModel.php +++ b/WellnessLiving/Wl/Schedule/ClassList/ClassListModel.php @@ -1,256 +1,256 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\ClassList; - -use WellnessLiving\Core\a\ADateWeekSid; -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves a list of classes and class information for a Class Tab. - */ -class ClassListModel extends WlModelAbstract -{ - /** - * Keys are dates of the days inside requested date range, when there is at least one class in the business. - * If, locations are sent as a parameter, then at least one class in the given locations. - * - * Values are empty arrays for now. This is done to make possible to add some information about certain dates, if we need this. - * - * @get result - * @var array[] - */ - public $a_calendar = []; - - /** - * The list of location keys to filter results. - * If it's empty, schedule for all locations will be returned. - * All given locations should be from the same business, which is sent in {@link ClassListModel::$k_business}. - * - * @get get - * @var string[] - */ - public $a_location = []; - - /** - * A list of classes sessions starting with the date {@link ClassListModel::$dt_date} - * and in the 62 days ahead (or up to {@link ClassListModel::$dt_end}). - * Every element has the following keys: - * <dl> - * <dt> - * string[] <var>a_class_tab</var> - * </dt> - * <dd> - * Keys of class tab. - * </dd> - * <dt> - * string[] <var>a_staff</var> - * </dt> - * <dd> - * The list of staff keys for the staff member conducting the session. - * - * </dd> - * <dt> - * string[] <var>a_virtual_location</var> - * </dt> - * <dd> - * The list of virtual locations keys. Each value is a location key. - * - * </dd> - * <dt> - * string <var>dt_date</var> - * </dt> - * <dd> - * The date/time of the session start in UTC. - * </dd> - * <dt> - * string <var>dt_time</var> - * </dt> - * <dd> - * The time of the session start in the local time zone. - * </dd> - * <dt> - * string <var>dtl_date</var> - * </dt> - * <dd> - * The date/time of session start in the location's time zone. - * </dd> - * <dt> - * bool <var>hide_application</var> - * </dt> - * <dd> - * Specifies whether the class will be hidden in the White Label Achieve Client App. If `true`, it means that the - * class won't be displayed. Otherwise, this will be `false` to indicate that the class will be displayed. - * </dd> - * <dt> - * int <var>i_day</var> - * </dt> - * <dd> - * The day of the week when session is occurred. Constant from {@link ADateWeekSid}. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The duration of the session in minutes. - * </dd> - * <dt> - * bool <var>is_cancel</var> - * </dt> - * <dd> - * If `true`, this class period was canceled. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_event</var> - * </dt> - * <dd> - * If `true`, this is an event. Otherwise, this will be `false`. - * </dd> - * <dt> - * bool <var>is_virtual</var> - * </dt> - * <dd> - * If `true`, this class is virtual. Otherwise, this will be `false`. - * </dd> - * <dt> - * string <var>k_class</var> - * </dt> - * <dd> - * The class key. - * </dd> - * <dt> - * string <var>k_class_period</var> - * </dt> - * <dd> - * The class period key. - * </dd> - * <dt> - * string <var>k_location</var> - * </dt> - * <dd> - * The key of the session's location. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The title of the session. - * </dd> - * <dt> - * string <var>url_book</var> - * </dt> - * <dd> - * The direct link to start booking on the WellnessLiving website. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_session; - - /** - * The list start date in UTC and in MySQL format. - * - * @get get - * @var string - */ - public $dt_date = ''; - - /** - * The list end date in UTC and in MySQL format. - * - * @get get - * @var string - */ - public $dt_end = ''; - - /** - * `true` means to not generate {@link ClassListModel::$a_session} result. - * Can be used, if you do not need full information about existing classes and result in {@link ClassListModel::$a_calendar} is enough. - * - * @get get - * @var bool - */ - public $is_response_short = false; - - /** - * If `true`, sessions from every class tab are returned. If `false`, use the - * {@link ClassListModel::$k_class_tab} value. - * - * @get get - * @var bool - */ - public $is_tab_all = false; - - /** - * If `true`, the list of sessions contains sessions from different time zones. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_timezone_different; - - /** - * If `true`, there exists at least one virtual service by a specified - * {@link ClassListModel::$k_business} and {@link ClassListModel::$k_class_tab}, - * Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_virtual_service; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * The category tab key. - * - * This will be `null` if not set yet. - * This will be ignored if {@link ClassListModel::$is_tab_all} is `true`. - * - * @get get - * @var string - */ - public $k_class_tab = '0'; - - /** - * The list of staff members to filter. - * A comma seperated list of staff keys. - * - * @get get - * @var string - */ - public $s_staff = ''; - - /** - * If `true`, canceled sessions will be returned. If `false`, canceled sessions won't be returned. - * - * @get get - * @var bool - */ - public $show_cancel = false; - - /** - * If `true`, events are also returned. If `false`, only classes are returned. - * - * @get get - * @var bool - */ - public $show_event = false; - - /** - * The user key. - * - * @get get - * @var string - */ - public $uid; -} - +<?php + +namespace WellnessLiving\Wl\Schedule\ClassList; + +use WellnessLiving\Core\a\ADateWeekSid; +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves a list of classes and class information for a Class Tab. + */ +class ClassListModel extends WlModelAbstract +{ + /** + * Keys are dates of the days inside requested date range, when there is at least one class in the business. + * If, locations are sent as a parameter, then at least one class in the given locations. + * + * Values are empty arrays for now. This is done to make possible to add some information about certain dates, if we need this. + * + * @get result + * @var array[] + */ + public $a_calendar = []; + + /** + * The list of location keys to filter results. + * If it's empty, schedule for all locations will be returned. + * All given locations should be from the same business, which is sent in {@link ClassListModel::$k_business}. + * + * @get get + * @var string[] + */ + public $a_location = []; + + /** + * A list of classes sessions starting with the date {@link ClassListModel::$dt_date} + * and in the 62 days ahead (or up to {@link ClassListModel::$dt_end}). + * Every element has the following keys: + * <dl> + * <dt> + * string[] <var>a_class_tab</var> + * </dt> + * <dd> + * Keys of class tab. + * </dd> + * <dt> + * string[] <var>a_staff</var> + * </dt> + * <dd> + * The list of staff keys for the staff member conducting the session. + * + * </dd> + * <dt> + * string[] <var>a_virtual_location</var> + * </dt> + * <dd> + * The list of virtual locations keys. Each value is a location key. + * + * </dd> + * <dt> + * string <var>dt_date</var> + * </dt> + * <dd> + * The date/time of the session start in UTC. + * </dd> + * <dt> + * string <var>dt_time</var> + * </dt> + * <dd> + * The time of the session start in the local time zone. + * </dd> + * <dt> + * string <var>dtl_date</var> + * </dt> + * <dd> + * The date/time of session start in the location's time zone. + * </dd> + * <dt> + * bool <var>hide_application</var> + * </dt> + * <dd> + * Specifies whether the class will be hidden in the White Label Achieve Client App. If `true`, it means that the + * class won't be displayed. Otherwise, this will be `false` to indicate that the class will be displayed. + * </dd> + * <dt> + * int <var>i_day</var> + * </dt> + * <dd> + * The day of the week when session is occurred. Constant from {@link ADateWeekSid}. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The duration of the session in minutes. + * </dd> + * <dt> + * bool <var>is_cancel</var> + * </dt> + * <dd> + * If `true`, this class period was canceled. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_event</var> + * </dt> + * <dd> + * If `true`, this is an event. Otherwise, this will be `false`. + * </dd> + * <dt> + * bool <var>is_virtual</var> + * </dt> + * <dd> + * If `true`, this class is virtual. Otherwise, this will be `false`. + * </dd> + * <dt> + * string <var>k_class</var> + * </dt> + * <dd> + * The class key. + * </dd> + * <dt> + * string <var>k_class_period</var> + * </dt> + * <dd> + * The class period key. + * </dd> + * <dt> + * string <var>k_location</var> + * </dt> + * <dd> + * The key of the session's location. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The title of the session. + * </dd> + * <dt> + * string <var>url_book</var> + * </dt> + * <dd> + * The direct link to start booking on the WellnessLiving website. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_session; + + /** + * The list start date in UTC and in MySQL format. + * + * @get get + * @var string + */ + public $dt_date = ''; + + /** + * The list end date in UTC and in MySQL format. + * + * @get get + * @var string + */ + public $dt_end = ''; + + /** + * `true` means to not generate {@link ClassListModel::$a_session} result. + * Can be used, if you do not need full information about existing classes and result in {@link ClassListModel::$a_calendar} is enough. + * + * @get get + * @var bool + */ + public $is_response_short = false; + + /** + * If `true`, sessions from every class tab are returned. If `false`, use the + * {@link ClassListModel::$k_class_tab} value. + * + * @get get + * @var bool + */ + public $is_tab_all = false; + + /** + * If `true`, the list of sessions contains sessions from different time zones. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_timezone_different; + + /** + * If `true`, there exists at least one virtual service by a specified + * {@link ClassListModel::$k_business} and {@link ClassListModel::$k_class_tab}, + * Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_virtual_service; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The category tab key. + * + * This will be `null` if not set yet. + * This will be ignored if {@link ClassListModel::$is_tab_all} is `true`. + * + * @get get + * @var string + */ + public $k_class_tab = '0'; + + /** + * The list of staff members to filter. + * A comma seperated list of staff keys. + * + * @get get + * @var string + */ + public $s_staff = ''; + + /** + * If `true`, canceled sessions will be returned. If `false`, canceled sessions won't be returned. + * + * @get get + * @var bool + */ + public $show_cancel = false; + + /** + * If `true`, events are also returned. If `false`, only classes are returned. + * + * @get get + * @var bool + */ + public $show_event = false; + + /** + * The user key. + * + * @get get + * @var string + */ + public $uid; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ClassView/ClassViewModel.php b/WellnessLiving/Wl/Schedule/ClassView/ClassViewModel.php index 488ed6ea..1cee4069 100644 --- a/WellnessLiving/Wl/Schedule/ClassView/ClassViewModel.php +++ b/WellnessLiving/Wl/Schedule/ClassView/ClassViewModel.php @@ -1,235 +1,235 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\ClassView; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\ClassList\ClassListModel; - -/** - * Gets information about a specified class session. - * - * A class listing can be retrieved from the {@link ClassListModel} endpoint. - */ -class ClassViewModel extends WlModelAbstract -{ - /** - * Asset list data. - * - * @get result - * @post result - * @var array[]|null - */ - public $a_asset; - - /** - * Detailed information about the class. When loaded, it contains the following fields: - * <dl> - * <dt>array <var>a_image</var></dt> - * <dd>Information describing a class image.<dl> - * <dt>int <var>i_height</var></dt> - * <dd>The image height.</dd> - * <dt>int <var>i_width</var></dt> - * <dd>The image width.</dd> - * <dt>bool <var>is_empty</var></dt> - * <dd>This will be `true` if there's no image and a default is used.</dd> - * <dt>bool|null <var>is_own</var></dt> - * <dd>This field will be `true` if the image used for the class is an image uploaded in class setup. If the image is - * not uploaded in the class setup, but there is at least one image in Setup->Locations image slider, - * this field will be `false`. `null` if class image is not uploaded, and there are no images in location slider, - * in this case empty image is used.</dd> - * <dt>string <var>s_url</var></dt> - * <dd>The URL link to the image.</dd> - * </dl></dd> - * <dt>int[] <var>a_tag</var></dt> - * <dd>A list of tags that can be used to describe the class in the catalog.</dd> - * <dt>bool <var>can_book</var></dt> - * <dd>Determines whether the current client can book this class.</dd> - * <dt>string <var>dt_date_global</var></dt> - * <dd>The session date/time in UTC.</dd> - * <dt>string <var>dt_date_local</var></dt> - * <dd>The start date in the local time zone.</dd> - * <dt>string <var>html_deny_reason</var></dt> - * <dd>The reason why the client can't book this class. - * This will be set only if <var>can_book</var> is `false`.</dd> - * <dt>string <var>html_description</var></dt> - * <dd>The class description.</dd> - * <dt>string <var>html_special</var></dt> - * <dd>The special instructions.</dd> - * <dt>int|null <var>i_age_from</var></dt> - * <dd>The lower bound of age permitted in the class. This will be `null` there's no age limit set.</dd> - * <dt>int|null <var>i_age_to</var></dt> - * <dd>The upper bound of age permitted in the class. This will be `null` there's no age limit.</dd> - * <dt>int <var>i_book</var></dt> - * <dd>The count of booked visits.</dd> - * <dt>int <var>i_capacity</var></dt> - * <dd>The class capacity.</dd> - * <dt>int <var>i_duration</var></dt> - * <dd>The class duration in minutes.</dd> - * <dt> - * int <var>id_deny_reason</var> - * </dt> - * <dd> - * ID of deny reason. One of {@link DenyReasonSid} constants. - * </dd> - * <dt>bool <var>is_book</var></dt> - * <dd>This will be `true` if the current class was booked by the current client.</dd> - * <dt>bool <var>is_cancel</var></dt> - * <dd>This will be `true` if the class period was canceled. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_promotion_only</var></dt> - * <dd>This will be `true` if this class can only be paid for using a Purchase Option. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_wait_list</var></dt> - * <dd>This will be `true` if user is only on the wait list. Otherwise, this will be `false`.</dd> - * <dt>bool <var>is_wait_list_enabled</var></dt> - * <dd>This will be `true` if the wait list is enabled for this class. Otherwise, this will be `false`.</dd> - * <dt>string <var>m_price</var></dt> - * <dd>The session price.</dd> - * <dt>bool <var>hide_price</var></dt> - * <dd>Hide individual price of the class session, if client has applicable pricing option.</dd> - * <dt>string <var>s_duration</var></dt> - * <dd>The class duration in a human readable format.</dd> - * <dt>string <var>s_title</var></dt> - * <dd>The class name.</dd> - * <dt>string <var>text_room</var></dt> - * <dd>The class room.</dd> - * </dl> - * - * This will be `null` if data isn't loaded yet. - * - * @get result - * @post result - * @var array|null - */ - public $a_class; - - /** - * Location data. - * - * This will be `null` if data isn't loaded yet. - * - * @get result - * @post result - * @var array|null - */ - public $a_location; - - /** - * A list of sessions to get information for. Every element has the following keys: - * <dl> - * <dt>string <var>dt_date</var></dt> - * <dd>The date/time of the session in UTC.</dd> - * <dt>string <var>k_class_period</var></dt> - * <dd>The session key.</dd> - * </dl> - * - * `null` if requesting a single session. - * - * @get get - * @post get - * @var array[]|null - */ - public $a_session_request = null; - - /** - * A list of sessions with information, received in a multiple session mode. - * Every element has the following keys: - * <dl> - * <dt>array <var>a_class</var></dt> - * <dd>Class information.</dd> - * <dt>array <var>a_location</var></dt> - * <dd>Location information.</dd> - * <dt>array <var>a_staff</var></dt> - * <dd>Staff member information.</dd> - * <dt>array <var>dt_date</var></dt> - * <dd>The session date/time in UTC.</dd> - * <dt>array <var>k_class_period</var></dt> - * <dd>The session key.</dd> - * </dl> - * - * @get result - * @post result - * @var array[] - */ - public $a_session_result; - - /** - * Staff member list data. - * - * This will be `null` if data isn't loaded yet. - * - * @get result - * @post result - * @var array[]|null - */ - public $a_staff; - - /** - * A list of classes and events that clients should visit before this one. - * - * <dl> - * <dt>int <var>i_count</var></dt> - * <dd>The number of visits.</dd> - * <dt>bool <var>is_event</var></dt> - * <dd>This will be `true` if this is an event. Otherwise, this will be `false` if this is a class.</dd> - * <dt>string <var>k_class</var></dt> - * <dd>The key of the class or event.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The name of the class or event.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_visits_required = []; - - /** - * The date/time of the session. - * - * @get get - * @post get - * @var string - */ - public $dt_date = ''; - - /** - * Key of the business in which the action is performed. - * - * `null` if key of the business was not passed. - * - * Key of the business is required if {@link ClassViewModel} was passed. - * - * @get get - * @post get - * @var string|null - */ - public $k_business = null; - - /** - * The class period key. - * - * @get get - * @post get - * @var string - */ - public $k_class_period = '0'; - - /** - * A list of sessions to get information for. - * A serialized array. See {@link ClassViewModel::$a_session_request} for the array structure. - * Serialization and sending by POST is necessary to send big lists. - * - * @post post - * @var string - */ - public $s_session_request = ''; - - /** - * The user key. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Schedule\ClassView; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\ClassList\ClassListModel; + +/** + * Gets information about a specified class session. + * + * A class listing can be retrieved from the {@link ClassListModel} endpoint. + */ +class ClassViewModel extends WlModelAbstract +{ + /** + * Asset list data. + * + * @get result + * @post result + * @var array[]|null + */ + public $a_asset; + + /** + * Detailed information about the class. When loaded, it contains the following fields: + * <dl> + * <dt>array <var>a_image</var></dt> + * <dd>Information describing a class image.<dl> + * <dt>int <var>i_height</var></dt> + * <dd>The image height.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>The image width.</dd> + * <dt>bool <var>is_empty</var></dt> + * <dd>This will be `true` if there's no image and a default is used.</dd> + * <dt>bool|null <var>is_own</var></dt> + * <dd>This field will be `true` if the image used for the class is an image uploaded in class setup. If the image is + * not uploaded in the class setup, but there is at least one image in Setup->Locations image slider, + * this field will be `false`. `null` if class image is not uploaded, and there are no images in location slider, + * in this case empty image is used.</dd> + * <dt>string <var>s_url</var></dt> + * <dd>The URL link to the image.</dd> + * </dl></dd> + * <dt>int[] <var>a_tag</var></dt> + * <dd>A list of tags that can be used to describe the class in the catalog.</dd> + * <dt>bool <var>can_book</var></dt> + * <dd>Determines whether the current client can book this class.</dd> + * <dt>string <var>dt_date_global</var></dt> + * <dd>The session date/time in UTC.</dd> + * <dt>string <var>dt_date_local</var></dt> + * <dd>The start date in the local time zone.</dd> + * <dt>string <var>html_deny_reason</var></dt> + * <dd>The reason why the client can't book this class. + * This will be set only if <var>can_book</var> is `false`.</dd> + * <dt>string <var>html_description</var></dt> + * <dd>The class description.</dd> + * <dt>string <var>html_special</var></dt> + * <dd>The special instructions.</dd> + * <dt>int|null <var>i_age_from</var></dt> + * <dd>The lower bound of age permitted in the class. This will be `null` there's no age limit set.</dd> + * <dt>int|null <var>i_age_to</var></dt> + * <dd>The upper bound of age permitted in the class. This will be `null` there's no age limit.</dd> + * <dt>int <var>i_book</var></dt> + * <dd>The count of booked visits.</dd> + * <dt>int <var>i_capacity</var></dt> + * <dd>The class capacity.</dd> + * <dt>int <var>i_duration</var></dt> + * <dd>The class duration in minutes.</dd> + * <dt> + * int <var>id_deny_reason</var> + * </dt> + * <dd> + * ID of deny reason. One of {@link DenyReasonSid} constants. + * </dd> + * <dt>bool <var>is_book</var></dt> + * <dd>This will be `true` if the current class was booked by the current client.</dd> + * <dt>bool <var>is_cancel</var></dt> + * <dd>This will be `true` if the class period was canceled. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_promotion_only</var></dt> + * <dd>This will be `true` if this class can only be paid for using a Purchase Option. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_wait_list</var></dt> + * <dd>This will be `true` if user is only on the wait list. Otherwise, this will be `false`.</dd> + * <dt>bool <var>is_wait_list_enabled</var></dt> + * <dd>This will be `true` if the wait list is enabled for this class. Otherwise, this will be `false`.</dd> + * <dt>string <var>m_price</var></dt> + * <dd>The session price.</dd> + * <dt>bool <var>hide_price</var></dt> + * <dd>Hide individual price of the class session, if client has applicable pricing option.</dd> + * <dt>string <var>s_duration</var></dt> + * <dd>The class duration in a human readable format.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The class name.</dd> + * <dt>string <var>text_room</var></dt> + * <dd>The class room.</dd> + * </dl> + * + * This will be `null` if data isn't loaded yet. + * + * @get result + * @post result + * @var array|null + */ + public $a_class; + + /** + * Location data. + * + * This will be `null` if data isn't loaded yet. + * + * @get result + * @post result + * @var array|null + */ + public $a_location; + + /** + * A list of sessions to get information for. Every element has the following keys: + * <dl> + * <dt>string <var>dt_date</var></dt> + * <dd>The date/time of the session in UTC.</dd> + * <dt>string <var>k_class_period</var></dt> + * <dd>The session key.</dd> + * </dl> + * + * `null` if requesting a single session. + * + * @get get + * @post get + * @var array[]|null + */ + public $a_session_request = null; + + /** + * A list of sessions with information, received in a multiple session mode. + * Every element has the following keys: + * <dl> + * <dt>array <var>a_class</var></dt> + * <dd>Class information.</dd> + * <dt>array <var>a_location</var></dt> + * <dd>Location information.</dd> + * <dt>array <var>a_staff</var></dt> + * <dd>Staff member information.</dd> + * <dt>array <var>dt_date</var></dt> + * <dd>The session date/time in UTC.</dd> + * <dt>array <var>k_class_period</var></dt> + * <dd>The session key.</dd> + * </dl> + * + * @get result + * @post result + * @var array[] + */ + public $a_session_result; + + /** + * Staff member list data. + * + * This will be `null` if data isn't loaded yet. + * + * @get result + * @post result + * @var array[]|null + */ + public $a_staff; + + /** + * A list of classes and events that clients should visit before this one. + * + * <dl> + * <dt>int <var>i_count</var></dt> + * <dd>The number of visits.</dd> + * <dt>bool <var>is_event</var></dt> + * <dd>This will be `true` if this is an event. Otherwise, this will be `false` if this is a class.</dd> + * <dt>string <var>k_class</var></dt> + * <dd>The key of the class or event.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The name of the class or event.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_visits_required = []; + + /** + * The date/time of the session. + * + * @get get + * @post get + * @var string + */ + public $dt_date = ''; + + /** + * Key of the business in which the action is performed. + * + * `null` if key of the business was not passed. + * + * Key of the business is required if {@link ClassViewModel} was passed. + * + * @get get + * @post get + * @var string|null + */ + public $k_business = null; + + /** + * The class period key. + * + * @get get + * @post get + * @var string + */ + public $k_class_period = '0'; + + /** + * A list of sessions to get information for. + * A serialized array. See {@link ClassViewModel::$a_session_request} for the array structure. + * Serialization and sending by POST is necessary to send big lists. + * + * @post post + * @var string + */ + public $s_session_request = ''; + + /** + * The user key. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php index c82e0fc3..474c79e0 100644 --- a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php +++ b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php @@ -1,118 +1,118 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\ClassView; - -/** - * Reasons why the client can't book this class. - * - * Last used ID: 21 - */ -class DenyReasonSid -{ - /** - * The business can not take one more client. - */ - const ACCESS_DENIED = 1; - - /** - * Access is limited. - */ - const ACCESS_LIMITED = 2; - - /** - * The business can not take one more client. - */ - const ACCOUNT_LIMIT = 3; - - /** - * Class is not available for certain age. - */ - const AGE_RESTRICTION = 4; - - /** - * Liability Release needs to be agreed. - */ - const AGREE_NX = 5; - - /** - * Client is already booked for this session. - */ - const BOOKED_ALREADY = 6; - - /** - * It's too early to book a class. - */ - const BOOK_EARLY = 7; - - /** - * It's too late to book a class. - */ - const BOOK_LATE = 8; - - /** - * Cannot book to this class anymore. - */ - const BOOK_RESTRICT = 9; - - /** - * Business is inactive. - */ - const BUSINESS_INACTIVE = 10; - - /** - * Class is canceled. - */ - const CLASS_CANCELED = 11; - - /** - * Class is full. - */ - const CLASS_FULL = 14; - - /** - * Class does not exist anymore. - */ - const CLASS_NOT_AVAILABLE_ANYMORE = 15; - - /** - * Client is flagged at location. - */ - const CLIENT_FLAGGED = 12; - - /** - * Credit card is required for booking services. - */ - const CREDIT_CARD_REQUIRE = 13; - - /** - * Business is closed. - */ - const HOLIDAY = 16; - - /** - * Login is required. - */ - const LOGIN_REQUIRED = 17; - - /** - * Online booking is disabled for the class. - */ - const NOT_BOOKABLE = 18; - - /** - * Required personal details missing. - */ - const USER_INFO_MISSING = 19; - - /** - * Visit to another class is required first. - */ - const VISIT_BEFORE = 20; - - /** - * The wait list is full. - */ - const WAIT_LIST_LIMIT_MAX = 21; -} - +<?php + +namespace WellnessLiving\Wl\Schedule\ClassView; + +/** + * Reasons why the client can't book this class. + * + * Last used ID: 21 + */ +class DenyReasonSid +{ + /** + * The business can not take one more client. + */ + const ACCESS_DENIED = 1; + + /** + * Access is limited. + */ + const ACCESS_LIMITED = 2; + + /** + * The business can not take one more client. + */ + const ACCOUNT_LIMIT = 3; + + /** + * Class is not available for certain age. + */ + const AGE_RESTRICTION = 4; + + /** + * Liability Release needs to be agreed. + */ + const AGREE_NX = 5; + + /** + * Client is already booked for this session. + */ + const BOOKED_ALREADY = 6; + + /** + * It's too early to book a class. + */ + const BOOK_EARLY = 7; + + /** + * It's too late to book a class. + */ + const BOOK_LATE = 8; + + /** + * Cannot book to this class anymore. + */ + const BOOK_RESTRICT = 9; + + /** + * Business is inactive. + */ + const BUSINESS_INACTIVE = 10; + + /** + * Class is canceled. + */ + const CLASS_CANCELED = 11; + + /** + * Class is full. + */ + const CLASS_FULL = 14; + + /** + * Class does not exist anymore. + */ + const CLASS_NOT_AVAILABLE_ANYMORE = 15; + + /** + * Client is flagged at location. + */ + const CLIENT_FLAGGED = 12; + + /** + * Credit card is required for booking services. + */ + const CREDIT_CARD_REQUIRE = 13; + + /** + * Business is closed. + */ + const HOLIDAY = 16; + + /** + * Login is required. + */ + const LOGIN_REQUIRED = 17; + + /** + * Online booking is disabled for the class. + */ + const NOT_BOOKABLE = 18; + + /** + * Required personal details missing. + */ + const USER_INFO_MISSING = 19; + + /** + * Visit to another class is required first. + */ + const VISIT_BEFORE = 20; + + /** + * The wait list is full. + */ + const WAIT_LIST_LIMIT_MAX = 21; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/Design/OptionSid.php b/WellnessLiving/Wl/Schedule/Design/OptionSid.php index ef01440d..7102300b 100644 --- a/WellnessLiving/Wl/Schedule/Design/OptionSid.php +++ b/WellnessLiving/Wl/Schedule/Design/OptionSid.php @@ -1,28 +1,28 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\Design; - -/** - * Appointment display option. - * - * Last used ID: 3 - */ -class OptionSid -{ - /** - * Appointment name in header. - */ - const APPOINTMENT_NAME = 1; - - /** - * Client name in header. - */ - const CLIENT_NAME = 3; - - /** - * Staff name in header. - */ - const STAFF_NAME = 2; -} - +<?php + +namespace WellnessLiving\Wl\Schedule\Design; + +/** + * Appointment display option. + * + * Last used ID: 3 + */ +class OptionSid +{ + /** + * Appointment name in header. + */ + const APPOINTMENT_NAME = 1; + + /** + * Client name in header. + */ + const CLIENT_NAME = 3; + + /** + * Staff name in header. + */ + const STAFF_NAME = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php index 18bd6275..f4cc0379 100644 --- a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php +++ b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php @@ -1,362 +1,362 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\Page; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Virtual\VirtualProviderSid; -use WellnessLiving\Wl\Visit\WlVisitSid; - -/** - * Returns information about a specified visit. - */ -class PageElementModel extends WlModelAbstract -{ - /** - * Additional visit information about this appointment. Empty array if it's not an appointment. <dl> - * <dt> - * int <var>id_visit</var> - * </dt> - * <dd> - * Visit status. One of {@link WlVisitSid} constants. - * </dd> - * <dt> - * bool <var>is_confirmed</var> - * </dt> - * <dd> - * `true` means that appointment was requested and confirmed by the staff. - * </dd> - * <dt> - * bool <var>is_deny</var> - * </dt> - * <dd> - * `true` means that appointment was requested and denied by the staff. - * </dd> - * <dt> - * bool <var>is_notify_request_accept</var> - * </dt> - * <dd> - * `true` means that the client will receive a notification, if appointment will be confirmed by the staff. - * </dd> - * <dt> - * bool <var>is_notify_request_deny</var> - * </dt> - * <dd> - * `true` means that the client will receive a notification, if appointment will be denied by the staff. - * </dd> - * <dt> - * bool <var>is_request</var> - * </dt> - * <dd> - * `true` means that appointment was requested, but not confirmed by the staff. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_appointment_visit_info = []; - - /** - * List of assets: <dl> - * <dt>string <var>s_name</var></dt> - * <dd>Asset title that consists of the asset title itself concatenated with its index (in case of multiple assets) by '#'.</dd> - * <dt>string <var>i_count</var></dt> - * <dd>Number of sessions.</dd> - * </dl>. - * - * @get result - * @var array[] - */ - public $a_asset; - - /** - * Class data:<dl> - * <dt>int <var>i_book_active</var></dt> - * <dd>A total number of booked visits in the class, including all lists: active and waitlist.</dd> - * <dt>int <var>i_capacity</var></dt> - * <dd>Class capacity.</dd> - * <dt>int <var>i_wait</var></dt> - * <dd>A total number of booked visits in the waitlist.</dd> - * </dl> - * - * <tt>null</tt> if it isn't class visit. - * - * @get result - * @var array|null - */ - public $a_class_info; - - /** - * A list of staff members involved in the visit. - * Each element is an array with the following elements: - * <dl> - * <dt> - * string <var>k_staff</var> - * </dt> - * <dd> - * The staff member key. - * </dd> - * <dt> - * string <var>s_family</var> - * </dt> - * <dd> - * The surname of the staff member. - * </dd> - * <dt> - * string <var>s_name</var> - * </dt> - * <dd> - * The first name of the staff member. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_staff; - - /** - * The latest date and time for when the visit can be canceled without penalty. - * - * @get result - * @var string - */ - public $dt_cancel; - - /** - * The date and time of the visit in UTC. - * - * @get result - * @var string - */ - public $dt_date_global; - - /** - * The date and time of the visit in the local time zone. - * - * @get result - * @var string - */ - public $dt_date_local; - - /** - * Session date/time in timezone of the location where it takes place. - * - * @get result - * @var string - */ - public $dtl_location; - - /** - * The description of the service. - * - * @get result - * @var string - */ - public $html_description; - - /** - * The special instructions for the service. - * - * @get result - * @var string - */ - public $html_special; - - /** - * The scheduled duration of the visit. - * <tt>0</tt> means that session duration is hidden. - * - * @get result - * @var int - */ - public $i_duration; - - /** - * Estimated place of reservation on the waiting list. - * - * @get result - * @var int - */ - public $i_wait_spot; - - /** - * The note type ID. This will be set to `null` if notes aren't allowed. - * This is one of the {@link WlVisitNoteSid} constants. - * - * This will be `null` if notes aren't allowed. - * - * @get result - * @var int|null - */ - public $id_note; - - /** - * The virtual provider ID. One of the {@link VirtualProviderSid} constants. - * - * This will be `null` for non-virtual services. - * - * @get result - * @var int|null - */ - public $id_virtual_provider; - - /** - * The visit type ID. One of the {@link WlVisitSid} constants. - * - * This will be `null` if not loaded yet. - * - * @get result - * @var int - */ - public $id_visit; - - /** - * If `true`, then this visit is ready to be checked in. If `false`, then this visit can't be checked in. - * - * @get result - * @var bool - */ - public $is_checkin; - - /** - * This will be `true` if clients can cancel the session. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_enable_client_cancel; - - /** - * If `true`, then this visit is a part of a larger event. If `false`, then this visit is an individual session. - * - * @get result - * @var bool - */ - public $is_event; - - /** - * <tt>true</tt> - service is in progress; <tt>false</tt> - otherwise. - * - * @get result - * @var bool - */ - public $is_in_progress; - - /** - * <tt>true</tt> - service is virtual; <tt>false</tt> - otherwise. - * - * @get result - * @var bool - */ - public $is_virtual; - - /** - * The appointment key. - * This will be set only if the visit is an appointment. If the visit is a class or event, this will be `null`. - * - * @get result - * @var string - */ - public $k_appointment; - - /** - * Key of the business to which the visit belongs. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The class key. This will be set only if the visit is a class or an event. - * If the visit is an appointment, this will be `null`. - * - * @get result - * @var ?string - */ - public $k_class; - - /** - * The class period key. This will be set only if the visit is a class or an event. - * If the visit is an appointment, this will be `null`. - * - * @get result - * @var string - */ - public $k_class_period; - - /** - * The location key. - * - * @get result - * @var string - */ - public $k_location; - - /** - * Session key. - * - * @get result - * @var ?string - */ - public $k_service; - - /** - * Visit key. - * - * @get get - * @var string - */ - public $k_visit = '0'; - - /** - * The name of class or service. - * - * @get result - * @var string - */ - public $s_title; - - /** - * Location title. - * - * @get result - * @var string - */ - public $text_location; - - /** - * Room where session takes place. - * - * @get result - * @var string - */ - public $text_room; - - /** - * Timezone abbreviation. - * - * @get result - * @var string - */ - public $text_timezone; - - /** - * The user key. - * - * @get result - * @var string - */ - public $uid; - - /** - * Url to wait page is the beginning of an online service. - * - * @get result - * @var string - */ - public $url_virtual_join; -} - +<?php + +namespace WellnessLiving\Wl\Schedule\Page; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Virtual\VirtualProviderSid; +use WellnessLiving\Wl\Visit\WlVisitSid; + +/** + * Returns information about a specified visit. + */ +class PageElementModel extends WlModelAbstract +{ + /** + * Additional visit information about this appointment. Empty array if it's not an appointment. <dl> + * <dt> + * int <var>id_visit</var> + * </dt> + * <dd> + * Visit status. One of {@link WlVisitSid} constants. + * </dd> + * <dt> + * bool <var>is_confirmed</var> + * </dt> + * <dd> + * `true` means that appointment was requested and confirmed by the staff. + * </dd> + * <dt> + * bool <var>is_deny</var> + * </dt> + * <dd> + * `true` means that appointment was requested and denied by the staff. + * </dd> + * <dt> + * bool <var>is_notify_request_accept</var> + * </dt> + * <dd> + * `true` means that the client will receive a notification, if appointment will be confirmed by the staff. + * </dd> + * <dt> + * bool <var>is_notify_request_deny</var> + * </dt> + * <dd> + * `true` means that the client will receive a notification, if appointment will be denied by the staff. + * </dd> + * <dt> + * bool <var>is_request</var> + * </dt> + * <dd> + * `true` means that appointment was requested, but not confirmed by the staff. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_appointment_visit_info = []; + + /** + * List of assets: <dl> + * <dt>string <var>s_name</var></dt> + * <dd>Asset title that consists of the asset title itself concatenated with its index (in case of multiple assets) by '#'.</dd> + * <dt>string <var>i_count</var></dt> + * <dd>Number of sessions.</dd> + * </dl>. + * + * @get result + * @var array[] + */ + public $a_asset; + + /** + * Class data:<dl> + * <dt>int <var>i_book_active</var></dt> + * <dd>A total number of booked visits in the class, including all lists: active and waitlist.</dd> + * <dt>int <var>i_capacity</var></dt> + * <dd>Class capacity.</dd> + * <dt>int <var>i_wait</var></dt> + * <dd>A total number of booked visits in the waitlist.</dd> + * </dl> + * + * <tt>null</tt> if it isn't class visit. + * + * @get result + * @var array|null + */ + public $a_class_info; + + /** + * A list of staff members involved in the visit. + * Each element is an array with the following elements: + * <dl> + * <dt> + * string <var>k_staff</var> + * </dt> + * <dd> + * The staff member key. + * </dd> + * <dt> + * string <var>s_family</var> + * </dt> + * <dd> + * The surname of the staff member. + * </dd> + * <dt> + * string <var>s_name</var> + * </dt> + * <dd> + * The first name of the staff member. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_staff; + + /** + * The latest date and time for when the visit can be canceled without penalty. + * + * @get result + * @var string + */ + public $dt_cancel; + + /** + * The date and time of the visit in UTC. + * + * @get result + * @var string + */ + public $dt_date_global; + + /** + * The date and time of the visit in the local time zone. + * + * @get result + * @var string + */ + public $dt_date_local; + + /** + * Session date/time in timezone of the location where it takes place. + * + * @get result + * @var string + */ + public $dtl_location; + + /** + * The description of the service. + * + * @get result + * @var string + */ + public $html_description; + + /** + * The special instructions for the service. + * + * @get result + * @var string + */ + public $html_special; + + /** + * The scheduled duration of the visit. + * <tt>0</tt> means that session duration is hidden. + * + * @get result + * @var int + */ + public $i_duration; + + /** + * Estimated place of reservation on the waiting list. + * + * @get result + * @var int + */ + public $i_wait_spot; + + /** + * The note type ID. This will be set to `null` if notes aren't allowed. + * This is one of the {@link WlVisitNoteSid} constants. + * + * This will be `null` if notes aren't allowed. + * + * @get result + * @var int|null + */ + public $id_note; + + /** + * The virtual provider ID. One of the {@link VirtualProviderSid} constants. + * + * This will be `null` for non-virtual services. + * + * @get result + * @var int|null + */ + public $id_virtual_provider; + + /** + * The visit type ID. One of the {@link WlVisitSid} constants. + * + * This will be `null` if not loaded yet. + * + * @get result + * @var int + */ + public $id_visit; + + /** + * If `true`, then this visit is ready to be checked in. If `false`, then this visit can't be checked in. + * + * @get result + * @var bool + */ + public $is_checkin; + + /** + * This will be `true` if clients can cancel the session. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_enable_client_cancel; + + /** + * If `true`, then this visit is a part of a larger event. If `false`, then this visit is an individual session. + * + * @get result + * @var bool + */ + public $is_event; + + /** + * <tt>true</tt> - service is in progress; <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_in_progress; + + /** + * <tt>true</tt> - service is virtual; <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_virtual; + + /** + * The appointment key. + * This will be set only if the visit is an appointment. If the visit is a class or event, this will be `null`. + * + * @get result + * @var string + */ + public $k_appointment; + + /** + * Key of the business to which the visit belongs. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The class key. This will be set only if the visit is a class or an event. + * If the visit is an appointment, this will be `null`. + * + * @get result + * @var ?string + */ + public $k_class; + + /** + * The class period key. This will be set only if the visit is a class or an event. + * If the visit is an appointment, this will be `null`. + * + * @get result + * @var string + */ + public $k_class_period; + + /** + * The location key. + * + * @get result + * @var string + */ + public $k_location; + + /** + * Session key. + * + * @get result + * @var ?string + */ + public $k_service; + + /** + * Visit key. + * + * @get get + * @var string + */ + public $k_visit = '0'; + + /** + * The name of class or service. + * + * @get result + * @var string + */ + public $s_title; + + /** + * Location title. + * + * @get result + * @var string + */ + public $text_location; + + /** + * Room where session takes place. + * + * @get result + * @var string + */ + public $text_room; + + /** + * Timezone abbreviation. + * + * @get result + * @var string + */ + public $text_timezone; + + /** + * The user key. + * + * @get result + * @var string + */ + public $uid; + + /** + * Url to wait page is the beginning of an online service. + * + * @get result + * @var string + */ + public $url_virtual_join; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php index b72b1b84..463f06b2 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php @@ -1,379 +1,379 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\ScheduleList\StaffApp; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\Design\OptionSid; -use WellnessLiving\Wl\Visit\WlVisitSid; -use WellnessLiving\Wl\WlServiceSid; - -/** - * An endpoint that returns information about a business schedule for a specified date. - * Version of {@link ScheduleListModel} for access validation by security token. - */ -class ScheduleListByTokenModel extends WlModelAbstract -{ - /** - * The sessions present on the business schedule. These are sorted chronologically in ascending order. - * Every element has the following keys: - * - * <dl> - * <dt> - * string[] <var>a_note</var> - * </dt> - * <dd> - * List of notes. - * </dd> - * <dt> - * array <var>a_appointment_visit_info</var> - * </dt> - * <dd> - * Additional visit information about this appointment. Empty array if it's a class. - * <dl> - * <dt> - * int <var>id_visit</var> - * </dt> - * <dd> - * Visit id. One of {@link WlVisitSid} constants. - * </dd> - * <dt> - * bool <var>is_confirmed</var> - * </dt> - * <dd> - * `true` means that appointment was requested and confirmed by the staff. - * </dd> - * <dt> - * bool <var>is_deny</var> - * </dt> - * <dd> - * `true` means that appointment was requested and denied by the staff. - * </dd> - * <dt> - * bool <var>is_notify_request_accept</var> - * </dt> - * <dd> - * `true` means that the client will receive a notification, if appointment will be confirmed by the staff. - * </dd> - * <dt> - * bool <var>is_notify_request_deny</var> - * </dt> - * <dd> - * `true` means that the client will receive a notification, if appointment will be denied by the staff. - * </dd> - * <dt> - * bool <var>is_request</var> - * </dt> - * <dd> - * `true` means that appointment was requested, but not confirmed by the staff. - * </dd> - * </dl> - * </dd> - * <dt> - * string[] <var>a_resource</var> - * </dt> - * <dd> - * A list of assets involved in the session. - * - * </dd> - * <dt> - * string[] <var>a_staff</var> - * </dt> - * <dd> - * A list of staff members who will conduct the session. - * - * Deprecated, use <var>a_staff_list</var> instead. - * </dd> - * <dt> - * array <var>a_staff_info</var> - * </dt> - * <dd> - * Information about staff members who conduct this session. - * Values are array with data: - * <dl> - * <dt> - * string <var>text_staff</var> - * </dt> - * <dd> - * Staff full name. - * </dd> - * <dt> - * bool <var>is_staff_change</var> - * </dt> - * <dd> - * <tt>true</tt> means staff is substituted, <tt>false</tt> simple staff member. - * </dd> - * <dt> - * string <var>k_staff</var> - * </dt> - * <dd> - * Staff key. - * </dd> - * </dl> - * </dd> - * <dt> - * string[] <var>a_user</var> - * </dt> - * <dd> - * For appointments, this is a list of the names of users who are scheduled to attend the session. - * </dd> - * <dt> - * string[] <var>a_virtual_location</var> - * </dt> - * <dd> - * List of virtual locations. - * </dd> - * <dt> - * string <var>dt_date</var> - * </dt> - * <dd> - * The date/time of the session in UTC. - * </dd> - * <dt> - * string <var>dt_date_cancel</var> - * </dt> - * <dd> - * The date/time when the session was canceled in UTC. Only used for appointments. - * </dd> - * <dt> - * string <var>dt_date_local</var> - * </dt> - * <dd> - * The date/time of the session in local time. - * </dd> - * <dt> - * int <var>i_book</var> - * </dt> - * <dd> - * The number of clients booked into the session. - * </dd> - * <dt> - * int <var>i_capacity</var> - * </dt> - * <dd> - * The maximum capacity of the session. - * </dd> - * <dt> - * int <var>i_duration</var> - * </dt> - * <dd> - * The duration of the session in minutes. - * </dd> - * <dt> - * int <var>i_padding_after</var> - * </dt> - * <dd> - * The padding time after the session in minutes. Only used for appointments. - * </dd> - * <dt> - * int <var>i_padding_before</var> - * </dt> - * <dd> - * The padding time before the session in minutes. Only used for appointments. - * </dd> - * <dt> - * int <var>i_start</var> - * </dt> - * <dd> - * The start time in minutes after midnight. - * For example, a class starting at 10:30 in the morning local time will have an `i_start` value of 630. - * </dd> - * <dt> - * int <var>i_wait</var> - * </dt> - * <dd> - * Count clients on waitlist. - * </dd> - * <dt> - * int <var>id_option</var> - * </dt> - * <dd> - * Appointment title display style. - * Set only for appointments, for others it will be equal to 0. - * Constants from {@link OptionSid}. - * </dd> - * <dt> - * int <var>id_service</var> - * </dt> - * <dd> - * The ID of the service type. One of {@link WlServiceSid} constants. - * </dd> - * <dt> - * bool <var>is_arrive</var> - * </dt> - * <dd> - * For appointments: <tt>true</tt> if user has checked-in; <tt>false</tt> otherwise. - * For classes always <tt>null</tt>. - * </dd> - * <dt> - * bool <var>is_pay</var> - * </dt> - * <dd> - * For appointments: <tt>true</tt> if appointment is paid; <tt>false</tt> otherwise. - * For classes always <tt>null</tt>. - * </dd> - * <dt> - * bool <var>is_repeat</var> - * </dt> - * <dd> - * For appointments: <tt>true</tt> if appointment is recurring; <tt>false</tt> otherwise. - * For classes always <tt>null</tt>. - * </dd> - * <dt> - * string <var>k_appointment</var> - * </dt> - * <dd> - * The appointment key. - * If the session isn't an appointment, this will be `0`. - * </dd> - * <dt> - * string <var>dt_confirm</var> - * </dt> - * <dd> - * Confirmation date for appointment in MySQL format. Will be zero date + time in case appointment - * is not yet confirmed by client. - * </dd> - * <dt> - * string <var>k_class</var> - * </dt> - * <dd> - * The class key. - * If the session isn't a class, this will be `0`. - * </dd> - * <dt> - * string <var>k_class_period</var> - * </dt> - * <dd> - * The class period key. - * If the session isn't a class, this will be `0`. - * </dd> - * <dt> - * string <var>k_location</var> - * </dt> - * <dd> - * The location key for where the session takes place. - * </dd> - * <dt> - * string <var>k_service</var> - * </dt> - * <dd> - * This is the key of the appointment type, while `k_appointment` is the specific instance. - * - * For other cases, this will be `0`. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The name of the session. - * </dd> - * <dt> - * string <var>text_alert</var> - * </dt> - * <dd> - * Alert message. - * </dd> - * <dt> - * string <var>text_color_background</var> - * </dt> - * <dd> - * The background color in hex representation as used on WellnessLiving. - * </dd> - * <dt> - * string <var>text_color_border</var> - * </dt> - * <dd> - * The border color in hex representation as used on WellnessLiving. - * </dd> - * <dt> - * bool<var>is_virtual_service</var> - * </dt> - * <dd> - * <tt>true</tt> - If the business has at least one virtual service, <tt>false</tt> - otherwise. - * </dd> - * <dt> - * string<var>url_image</var> - * </dt> - * <dd> - * URL to image. Empty if image not exist. - * </dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_schedule; - - /** - * The end date of the range from which the list of schedule sessions should be retrieved. - * - * This will be `null` if the range has no end date. If this value is used, - * {@link ScheduleListModel::$dt_date} should not be set. - * - * @get get - * @var string - */ - public $dl_end = null; - - /** - * The start date of the range from which the list of scheduled sessions should be retrieved. - * - * This will be `null` if the range has no start date. If this value is used, - * {@link ScheduleListModel::$dt_date} should not be set. - * - * @get get - * @var string - */ - public $dl_start = null; - - /** - * The date of the sessions in Coordinated Universal Time (UTC) and MySQL format. - * - * If this value is used, then - * {@link ScheduleListModel::$dl_end} and - * {@link ScheduleListModel::$dl_start} should not be set. - * - * @get get - * @var string - */ - public $dt_date = ''; - - /** - * <tt>true</tt> - If the business has at least one virtual service, <tt>false</tt> - otherwise. - * - * @get result - * @var bool - */ - public $is_virtual_service = null; - - /** - * Business key. - * - * @delete get - * @get get - * @post get - * @put get - * @var string - */ - public $k_business = null; - - /** - * The security token. - * - * @get get - * @var string - */ - public $text_token = ''; - - /** - * User key. - * - * @delete get - * @get get - * @post get - * @put get - * @var string - */ - public $uid = null; -} - +<?php + +namespace WellnessLiving\Wl\Schedule\ScheduleList\StaffApp; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Design\OptionSid; +use WellnessLiving\Wl\Visit\WlVisitSid; +use WellnessLiving\Wl\WlServiceSid; + +/** + * An endpoint that returns information about a business schedule for a specified date. + * Version of {@link ScheduleListModel} for access validation by security token. + */ +class ScheduleListByTokenModel extends WlModelAbstract +{ + /** + * The sessions present on the business schedule. These are sorted chronologically in ascending order. + * Every element has the following keys: + * + * <dl> + * <dt> + * string[] <var>a_note</var> + * </dt> + * <dd> + * List of notes. + * </dd> + * <dt> + * array <var>a_appointment_visit_info</var> + * </dt> + * <dd> + * Additional visit information about this appointment. Empty array if it's a class. + * <dl> + * <dt> + * int <var>id_visit</var> + * </dt> + * <dd> + * Visit id. One of {@link WlVisitSid} constants. + * </dd> + * <dt> + * bool <var>is_confirmed</var> + * </dt> + * <dd> + * `true` means that appointment was requested and confirmed by the staff. + * </dd> + * <dt> + * bool <var>is_deny</var> + * </dt> + * <dd> + * `true` means that appointment was requested and denied by the staff. + * </dd> + * <dt> + * bool <var>is_notify_request_accept</var> + * </dt> + * <dd> + * `true` means that the client will receive a notification, if appointment will be confirmed by the staff. + * </dd> + * <dt> + * bool <var>is_notify_request_deny</var> + * </dt> + * <dd> + * `true` means that the client will receive a notification, if appointment will be denied by the staff. + * </dd> + * <dt> + * bool <var>is_request</var> + * </dt> + * <dd> + * `true` means that appointment was requested, but not confirmed by the staff. + * </dd> + * </dl> + * </dd> + * <dt> + * string[] <var>a_resource</var> + * </dt> + * <dd> + * A list of assets involved in the session. + * + * </dd> + * <dt> + * string[] <var>a_staff</var> + * </dt> + * <dd> + * A list of staff members who will conduct the session. + * + * Deprecated, use <var>a_staff_list</var> instead. + * </dd> + * <dt> + * array <var>a_staff_info</var> + * </dt> + * <dd> + * Information about staff members who conduct this session. + * Values are array with data: + * <dl> + * <dt> + * string <var>text_staff</var> + * </dt> + * <dd> + * Staff full name. + * </dd> + * <dt> + * bool <var>is_staff_change</var> + * </dt> + * <dd> + * <tt>true</tt> means staff is substituted, <tt>false</tt> simple staff member. + * </dd> + * <dt> + * string <var>k_staff</var> + * </dt> + * <dd> + * Staff key. + * </dd> + * </dl> + * </dd> + * <dt> + * string[] <var>a_user</var> + * </dt> + * <dd> + * For appointments, this is a list of the names of users who are scheduled to attend the session. + * </dd> + * <dt> + * string[] <var>a_virtual_location</var> + * </dt> + * <dd> + * List of virtual locations. + * </dd> + * <dt> + * string <var>dt_date</var> + * </dt> + * <dd> + * The date/time of the session in UTC. + * </dd> + * <dt> + * string <var>dt_date_cancel</var> + * </dt> + * <dd> + * The date/time when the session was canceled in UTC. Only used for appointments. + * </dd> + * <dt> + * string <var>dt_date_local</var> + * </dt> + * <dd> + * The date/time of the session in local time. + * </dd> + * <dt> + * int <var>i_book</var> + * </dt> + * <dd> + * The number of clients booked into the session. + * </dd> + * <dt> + * int <var>i_capacity</var> + * </dt> + * <dd> + * The maximum capacity of the session. + * </dd> + * <dt> + * int <var>i_duration</var> + * </dt> + * <dd> + * The duration of the session in minutes. + * </dd> + * <dt> + * int <var>i_padding_after</var> + * </dt> + * <dd> + * The padding time after the session in minutes. Only used for appointments. + * </dd> + * <dt> + * int <var>i_padding_before</var> + * </dt> + * <dd> + * The padding time before the session in minutes. Only used for appointments. + * </dd> + * <dt> + * int <var>i_start</var> + * </dt> + * <dd> + * The start time in minutes after midnight. + * For example, a class starting at 10:30 in the morning local time will have an `i_start` value of 630. + * </dd> + * <dt> + * int <var>i_wait</var> + * </dt> + * <dd> + * Count clients on waitlist. + * </dd> + * <dt> + * int <var>id_option</var> + * </dt> + * <dd> + * Appointment title display style. + * Set only for appointments, for others it will be equal to 0. + * Constants from {@link OptionSid}. + * </dd> + * <dt> + * int <var>id_service</var> + * </dt> + * <dd> + * The ID of the service type. One of {@link WlServiceSid} constants. + * </dd> + * <dt> + * bool <var>is_arrive</var> + * </dt> + * <dd> + * For appointments: <tt>true</tt> if user has checked-in; <tt>false</tt> otherwise. + * For classes always <tt>null</tt>. + * </dd> + * <dt> + * bool <var>is_pay</var> + * </dt> + * <dd> + * For appointments: <tt>true</tt> if appointment is paid; <tt>false</tt> otherwise. + * For classes always <tt>null</tt>. + * </dd> + * <dt> + * bool <var>is_repeat</var> + * </dt> + * <dd> + * For appointments: <tt>true</tt> if appointment is recurring; <tt>false</tt> otherwise. + * For classes always <tt>null</tt>. + * </dd> + * <dt> + * string <var>k_appointment</var> + * </dt> + * <dd> + * The appointment key. + * If the session isn't an appointment, this will be `0`. + * </dd> + * <dt> + * string <var>dt_confirm</var> + * </dt> + * <dd> + * Confirmation date for appointment in MySQL format. Will be zero date + time in case appointment + * is not yet confirmed by client. + * </dd> + * <dt> + * string <var>k_class</var> + * </dt> + * <dd> + * The class key. + * If the session isn't a class, this will be `0`. + * </dd> + * <dt> + * string <var>k_class_period</var> + * </dt> + * <dd> + * The class period key. + * If the session isn't a class, this will be `0`. + * </dd> + * <dt> + * string <var>k_location</var> + * </dt> + * <dd> + * The location key for where the session takes place. + * </dd> + * <dt> + * string <var>k_service</var> + * </dt> + * <dd> + * This is the key of the appointment type, while `k_appointment` is the specific instance. + * + * For other cases, this will be `0`. + * </dd> + * <dt> + * string <var>s_title</var> + * </dt> + * <dd> + * The name of the session. + * </dd> + * <dt> + * string <var>text_alert</var> + * </dt> + * <dd> + * Alert message. + * </dd> + * <dt> + * string <var>text_color_background</var> + * </dt> + * <dd> + * The background color in hex representation as used on WellnessLiving. + * </dd> + * <dt> + * string <var>text_color_border</var> + * </dt> + * <dd> + * The border color in hex representation as used on WellnessLiving. + * </dd> + * <dt> + * bool<var>is_virtual_service</var> + * </dt> + * <dd> + * <tt>true</tt> - If the business has at least one virtual service, <tt>false</tt> - otherwise. + * </dd> + * <dt> + * string<var>url_image</var> + * </dt> + * <dd> + * URL to image. Empty if image not exist. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_schedule; + + /** + * The end date of the range from which the list of schedule sessions should be retrieved. + * + * This will be `null` if the range has no end date. If this value is used, + * {@link ScheduleListModel::$dt_date} should not be set. + * + * @get get + * @var string + */ + public $dl_end = null; + + /** + * The start date of the range from which the list of scheduled sessions should be retrieved. + * + * This will be `null` if the range has no start date. If this value is used, + * {@link ScheduleListModel::$dt_date} should not be set. + * + * @get get + * @var string + */ + public $dl_start = null; + + /** + * The date of the sessions in Coordinated Universal Time (UTC) and MySQL format. + * + * If this value is used, then + * {@link ScheduleListModel::$dl_end} and + * {@link ScheduleListModel::$dl_start} should not be set. + * + * @get get + * @var string + */ + public $dt_date = ''; + + /** + * <tt>true</tt> - If the business has at least one virtual service, <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_virtual_service = null; + + /** + * Business key. + * + * @delete get + * @get get + * @post get + * @put get + * @var string + */ + public $k_business = null; + + /** + * The security token. + * + * @get get + * @var string + */ + public $text_token = ''; + + /** + * User key. + * + * @delete get + * @get get + * @post get + * @put get + * @var string + */ + public $uid = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Search/Tag/SearchTagListModel.php b/WellnessLiving/Wl/Search/Tag/SearchTagListModel.php index 64481da5..de4c2539 100644 --- a/WellnessLiving/Wl/Search/Tag/SearchTagListModel.php +++ b/WellnessLiving/Wl/Search/Tag/SearchTagListModel.php @@ -1,39 +1,39 @@ -<?php - -namespace WellnessLiving\Wl\Search\Tag; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Business\BusinessCategorySid; -use WellnessLiving\Wl\Business\DataModel; - -/** - * Returns a list of all existing search tags in the system. - * - * Search tags can be used for quick searches between businesses and services (mainly in the directories). - */ -class SearchTagListModel extends WlModelAbstract -{ - /** - * A list of all the search tags. - * - * Each element is an array with the following keys: - * <dl> - * <dt>int <var>id_business_category</var></dt> - * <dd> - * The business category that can use this search tag. - * One of the {@link BusinessCategorySid} constants. - * This can be found in the business information found in {@link DataModel::$id_category}. - * </dd> - * <dt>string <var>k_search_tag</var></dt> - * <dd>The key of the tag. The primary key in the table of tags.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The name of the tag.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_search_tag = []; -} - +<?php + +namespace WellnessLiving\Wl\Search\Tag; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Business\BusinessCategorySid; +use WellnessLiving\Wl\Business\DataModel; + +/** + * Returns a list of all existing search tags in the system. + * + * Search tags can be used for quick searches between businesses and services (mainly in the directories). + */ +class SearchTagListModel extends WlModelAbstract +{ + /** + * A list of all the search tags. + * + * Each element is an array with the following keys: + * <dl> + * <dt>int <var>id_business_category</var></dt> + * <dd> + * The business category that can use this search tag. + * One of the {@link BusinessCategorySid} constants. + * This can be found in the business information found in {@link DataModel::$id_category}. + * </dd> + * <dt>string <var>k_search_tag</var></dt> + * <dd>The key of the tag. The primary key in the table of tags.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The name of the tag.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_search_tag = []; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Service/ServiceBookFlowSid.php b/WellnessLiving/Wl/Service/ServiceBookFlowSid.php index acbfd23a..7b57aef1 100644 --- a/WellnessLiving/Wl/Service/ServiceBookFlowSid.php +++ b/WellnessLiving/Wl/Service/ServiceBookFlowSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl\Service; - -/** - * A list of client booking flow types. - */ -class ServiceBookFlowSid -{ - /** - * Client selects the date and time and then the staff member. - */ - const DATE_STAFF_ORDER = 2; - - /** - * Client selects their preferred booking order should be staff member / calendar. - */ - const PREFER_ORDER = 3; - - /** - * Client selects the staff member and then the date and time. - */ - const STAFF_DATE_ORDER = 1; -} - +<?php + +namespace WellnessLiving\Wl\Service; + +/** + * A list of client booking flow types. + */ +class ServiceBookFlowSid +{ + /** + * Client selects the date and time and then the staff member. + */ + const DATE_STAFF_ORDER = 2; + + /** + * Client selects their preferred booking order should be staff member / calendar. + */ + const PREFER_ORDER = 3; + + /** + * Client selects the staff member and then the date and time. + */ + const STAFF_DATE_ORDER = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Service/ServicePriceSid.php b/WellnessLiving/Wl/Service/ServicePriceSid.php index 96336ddd..13811739 100644 --- a/WellnessLiving/Wl/Service/ServicePriceSid.php +++ b/WellnessLiving/Wl/Service/ServicePriceSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl\Service; - -/** - * A list of service price types. - */ -abstract class ServicePriceSid -{ - /** - * Fixed price. - */ - const FIXED = 1; - - /** - * No need to pay. - */ - const FREE = 2; - - /** - * Hide price. - */ - const HIDE = 4; - - /** - * Various price. - */ - const VARIES = 3; -} - +<?php + +namespace WellnessLiving\Wl\Service; + +/** + * A list of service price types. + */ +abstract class ServicePriceSid +{ + /** + * Fixed price. + */ + const FIXED = 1; + + /** + * No need to pay. + */ + const FREE = 2; + + /** + * Hide price. + */ + const HIDE = 4; + + /** + * Various price. + */ + const VARIES = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Service/ServiceRequireSid.php b/WellnessLiving/Wl/Service/ServiceRequireSid.php index 00e0d6f8..31597fdf 100644 --- a/WellnessLiving/Wl/Service/ServiceRequireSid.php +++ b/WellnessLiving/Wl/Service/ServiceRequireSid.php @@ -1,44 +1,44 @@ -<?php - -namespace WellnessLiving\Wl\Service; - -/** - * A list of client booking flow types. - * - * 3 - is reserved for deprecated "advanced percent" that was combined with "flat advance" into "ADVANCE". - * - * Last used ID: 6 - */ -class ServiceRequireSid -{ - /** - * Some part of the price is required. Type of the deposit can be flat or percentage. - * Type of the deposit depends on <var>is_deposit_percent</var>. - * Size of the deposit is specified in <var>f_deposit</var> - */ - const ADVANCE = 4; - - /** - * Full payment is required. - */ - const FULL = 2; - - /** - * Nothing is required. - * Online Payment is optional. - */ - const NOTHING = 1; - - /** - * Clients can book, but online purchase is not available. - * Clients can pay only when they visit. - */ - const OFFLINE = 6; - - /** - * Credit card authorisation without payment is required. - */ - const ZERO = 5; -} - +<?php + +namespace WellnessLiving\Wl\Service; + +/** + * A list of client booking flow types. + * + * 3 - is reserved for deprecated "advanced percent" that was combined with "flat advance" into "ADVANCE". + * + * Last used ID: 6 + */ +class ServiceRequireSid +{ + /** + * Some part of the price is required. Type of the deposit can be flat or percentage. + * Type of the deposit depends on <var>is_deposit_percent</var>. + * Size of the deposit is specified in <var>f_deposit</var> + */ + const ADVANCE = 4; + + /** + * Full payment is required. + */ + const FULL = 2; + + /** + * Nothing is required. + * Online Payment is optional. + */ + const NOTHING = 1; + + /** + * Clients can book, but online purchase is not available. + * Clients can pay only when they visit. + */ + const OFFLINE = 6; + + /** + * Credit card authorisation without payment is required. + */ + const ZERO = 5; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Service/ServiceSid.php b/WellnessLiving/Wl/Service/ServiceSid.php index 031d2387..7151ea14 100644 --- a/WellnessLiving/Wl/Service/ServiceSid.php +++ b/WellnessLiving/Wl/Service/ServiceSid.php @@ -1,43 +1,43 @@ -<?php - -namespace WellnessLiving\Wl\Service; - -/** - * A list of services. - * - * Last used ID: 6. - */ -class ServiceSid -{ - /** - * Appointment. - */ - const APPOINTMENT = 1; - - /** - * Belts. - */ - const BELT = 6; - - /** - * Bookable asset. - */ - const BOOKABLE_ASSET = 4; - - /** - * Class. - */ - const CLASSES = 2; - - /** - * Event. - */ - const EVENT = 3; - - /** - * Gym visits. - */ - const GYM = 5; -} - +<?php + +namespace WellnessLiving\Wl\Service; + +/** + * A list of services. + * + * Last used ID: 6. + */ +class ServiceSid +{ + /** + * Appointment. + */ + const APPOINTMENT = 1; + + /** + * Belts. + */ + const BELT = 6; + + /** + * Bookable asset. + */ + const BOOKABLE_ASSET = 4; + + /** + * Class. + */ + const CLASSES = 2; + + /** + * Event. + */ + const EVENT = 3; + + /** + * Gym visits. + */ + const GYM = 5; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php b/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php index ea5899ac..bab2e63d 100644 --- a/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php +++ b/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php @@ -1,28 +1,28 @@ -<?php - -namespace WellnessLiving\Wl\Shop\Product; - -/** - * Purchase restrictions. - * - * Last used ID: 3. - */ -class PurchaseRestrictionSid -{ - /** - * Purchase option available for all clients. - */ - const ALL = 1; - - /** - * Purchase option introductory offer, available for new clients only. - */ - const INTRODUCTORY = 2; - - /** - * Purchase option available for clients with special login type or member group. - */ - const TYPE = 3; -} - +<?php + +namespace WellnessLiving\Wl\Shop\Product; + +/** + * Purchase restrictions. + * + * Last used ID: 3. + */ +class PurchaseRestrictionSid +{ + /** + * Purchase option available for all clients. + */ + const ALL = 1; + + /** + * Purchase option introductory offer, available for new clients only. + */ + const INTRODUCTORY = 2; + + /** + * Purchase option available for clients with special login type or member group. + */ + const TYPE = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Skin/Application/Resource/ApplicationResourceModel.php b/WellnessLiving/Wl/Skin/Application/Resource/ApplicationResourceModel.php index c15dc0e5..36c8c304 100644 --- a/WellnessLiving/Wl/Skin/Application/Resource/ApplicationResourceModel.php +++ b/WellnessLiving/Wl/Skin/Application/Resource/ApplicationResourceModel.php @@ -1,28 +1,28 @@ -<?php - -namespace WellnessLiving\Wl\Skin\Application\Resource; - -/** - * Returns information used to generate application sources. - */ -class ApplicationResourceModel extends \WellnessLiving\Custom\Wl\Skin\Application\Resource\ApplicationResourceModel -{ - /** - * The application data. - * - * @get result - * @var array - */ - public $a_application; - - /** - * The business key. - * Empty to get data for all businesses. - * - * @get get - * @var string - */ - public $k_business = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Skin\Application\Resource; + +/** + * Returns information used to generate application sources. + */ +class ApplicationResourceModel extends \WellnessLiving\Custom\Wl\Skin\Application\Resource\ApplicationResourceModel +{ + /** + * The application data. + * + * @get result + * @var array + */ + public $a_application; + + /** + * The business key. + * Empty to get data for all businesses. + * + * @get get + * @var string + */ + public $k_business = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Skin/Application/SkinModel.php b/WellnessLiving/Wl/Skin/Application/SkinModel.php index 80795e2d..c3cd8f45 100644 --- a/WellnessLiving/Wl/Skin/Application/SkinModel.php +++ b/WellnessLiving/Wl/Skin/Application/SkinModel.php @@ -1,58 +1,58 @@ -<?php - -namespace WellnessLiving\Wl\Skin\Application; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves customized skin settings for the client view. - */ -class SkinModel extends WlModelAbstract -{ - /** - * Skin information. - * - * @get result - * @var array - */ - public $a_skin; - - /** - * Determines current business account contains amount for the application customisation. - * - * @get result - * @var bool - */ - public $has_pay; - - /** - * Whether customization billing is confirmed. - * - * <tt>true</tt> to finish delete process even if customization fee will be billed. - * <tt>false</tt> if customization fee should be required for confirmation. - * - * @delete get - * @var bool - */ - public $is_billing_confirm; - - /** - * The business key. - * - * @delete get - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * Name of the link to default application skin. - * - * @delete result - * @get result - * @var string - */ - public $s_link; -} - +<?php + +namespace WellnessLiving\Wl\Skin\Application; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves customized skin settings for the client view. + */ +class SkinModel extends WlModelAbstract +{ + /** + * Skin information. + * + * @get result + * @var array + */ + public $a_skin; + + /** + * Determines current business account contains amount for the application customisation. + * + * @get result + * @var bool + */ + public $has_pay; + + /** + * Whether customization billing is confirmed. + * + * <tt>true</tt> to finish delete process even if customization fee will be billed. + * <tt>false</tt> if customization fee should be required for confirmation. + * + * @delete get + * @var bool + */ + public $is_billing_confirm; + + /** + * The business key. + * + * @delete get + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Name of the link to default application skin. + * + * @delete result + * @get result + * @var string + */ + public $s_link; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Staff/Privilege/PrivilegeListModel.php b/WellnessLiving/Wl/Staff/Privilege/PrivilegeListModel.php index cf172102..6391c8af 100644 --- a/WellnessLiving/Wl/Staff/Privilege/PrivilegeListModel.php +++ b/WellnessLiving/Wl/Staff/Privilege/PrivilegeListModel.php @@ -1,65 +1,65 @@ -<?php - -namespace WellnessLiving\Wl\Staff\Privilege; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\WlPrivilegeSid; - -/** - * Can return list of admin or staff privileges of the current user. - * - * Cannot be used to check privileges of another user. - */ -class PrivilegeListModel extends WlModelAbstract -{ - /** - * List of privileges, if user is administrator. - * - * There is no certain list of admin privileges, as they are name-based. If you need to check access to certain place - * contact WellnessLiving integration team. - * - * @get result - * @var array - */ - public $a_privilege_passport = []; - - /** - * List of privileges, if the given user is a staff member in the give business. - * - * @get result - * @var int[] - * @see WlPrivilegeSid - */ - public $a_privilege_staff = []; - - /** - * Whether this user is a super-administrator because he is a studio staff member. - * - * `true`, if this user is a super administrator because he is a studio staff member. - * Super administrators have all privileges. - * - * `false` if this is an ordinary user. - * - * @get result - * @var bool - */ - public $is_admin = false; - - /** - * Key of business to get privileges for. - * - * @get get - * @var string - */ - public $k_business = '0'; - - /** - * User key to get privileges for. - * - * @get get - * @var string - */ - public $uid = '0'; -} - +<?php + +namespace WellnessLiving\Wl\Staff\Privilege; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlPrivilegeSid; + +/** + * Can return list of admin or staff privileges of the current user. + * + * Cannot be used to check privileges of another user. + */ +class PrivilegeListModel extends WlModelAbstract +{ + /** + * List of privileges, if user is administrator. + * + * There is no certain list of admin privileges, as they are name-based. If you need to check access to certain place + * contact WellnessLiving integration team. + * + * @get result + * @var array + */ + public $a_privilege_passport = []; + + /** + * List of privileges, if the given user is a staff member in the give business. + * + * @get result + * @var int[] + * @see WlPrivilegeSid + */ + public $a_privilege_staff = []; + + /** + * Whether this user is a super-administrator because he is a studio staff member. + * + * `true`, if this user is a super administrator because he is a studio staff member. + * Super administrators have all privileges. + * + * `false` if this is an ordinary user. + * + * @get result + * @var bool + */ + public $is_admin = false; + + /** + * Key of business to get privileges for. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * User key to get privileges for. + * + * @get get + * @var string + */ + public $uid = '0'; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Staff/StaffElementModel.php b/WellnessLiving/Wl/Staff/StaffElementModel.php index 3fe4d346..0a77a27b 100644 --- a/WellnessLiving/Wl/Staff/StaffElementModel.php +++ b/WellnessLiving/Wl/Staff/StaffElementModel.php @@ -1,279 +1,279 @@ -<?php - -namespace WellnessLiving\Wl\Staff; - -use WellnessLiving\Core\a\AGenderSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Business\BusinessModel; -use WellnessLiving\Wl\WlPrivilegeRoleSid; - -/** - * Can create or edit a staff member in a business. - * - * You can also use this endpoint to get information about a staff member's activity in another business when using - * the {@link BusinessModel} endpoint. - */ -class StaffElementModel extends WlModelAbstract -{ - /** - * The list of locations where the staff member works. Each element is a location key. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var array|null - */ - public $a_location = null; - - /** - * Employment end date. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $dl_end = null; - - /** - * Employment start date. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $dl_start = null; - - /** - * Gender of staff member. One of {@link AGenderSid} constants. - * - * `null` means to not change the current value of the field or set gender by default for new staff. - * - * @post post - * @var int|null - */ - public $id_gender = null; - - /** - * ID of the default system role. One of {@link WlPrivilegeRoleSid}. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var int|null - */ - public $id_role = null; - - /** - * Whether the staff is currently employed. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var bool|null - */ - public $is_employ = null; - - /** - * Determines whether the staff member be shown on the directory site of the business. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var bool|null - */ - public $is_microsite = null; - - /** - * Whether password set is disabled. `true` - if the email is associated to a client profile which has a password set, - * `false` - otherwise. - * - * @post post - * @var bool - */ - public $is_password_set_disable = false; - - /** - * Whether the staff member can to sign in. - * - * @post post - * @var bool - */ - public $is_uid = true; - - /** - * The key of the business in which the staff member is being created or edited. - * This field is required. - * - * @post post - * @var string - */ - public $k_business = ''; - - /** - * Business role key. - * - * `null` if not set. - * - * @post post - * @var string|null - */ - public $k_business_role = null; - - /** - * City key. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $k_city = null; - - /** - * Home location key. - * - * `null` if not set. - * - * @post post - * @var string|null - */ - public $k_location = null; - - /** - * The key of the staff member who is being created or edited. - * - * This will be `null` in cases where a new staff member is created. - * - * @post get,result - * @var string|null - */ - public $k_staff = null; - - /** - * Address. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $text_address = null; - - /** - * Staff biography. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $text_biography = null; - - /** - * Custom city title. - * - * `null` means to not change the current value of the field or <var>k_city</var> is specified. - * - * @post post - * @var string|null - */ - public $text_city = null; - - /** - * The staff member's email address. - * This field is required when creating a new staff member. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_email = null; - - /** - * The staff member's first name. - * This field is required when creating a new staff member. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_first_name = null; - - /** - * The staff member's last name. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_last_name = null; - - /** - * The password. - * This field is required when creating a new staff member. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_password = null; - - /** - * Confirmation of the password. - * This field is required when creating a new staff member. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_password_confirm = null; - - /** - * Home phone. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $text_phone_home = null; - - /** - * Cell phone. - * - * `null` means to not change the current value of the field. - * - * @post post - * @var string|null - */ - public $text_phone_mobile = null; - - /** - * The staff member's job title. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_position = null; - - /** - * The staff member's job title. - * - * If `null`, the current value of the field shouldn't be changed. - * - * @post post - * @var string|null - */ - public $text_postal = null; -} - +<?php + +namespace WellnessLiving\Wl\Staff; + +use WellnessLiving\Core\a\AGenderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Business\BusinessModel; +use WellnessLiving\Wl\WlPrivilegeRoleSid; + +/** + * Can create or edit a staff member in a business. + * + * You can also use this endpoint to get information about a staff member's activity in another business when using + * the {@link BusinessModel} endpoint. + */ +class StaffElementModel extends WlModelAbstract +{ + /** + * The list of locations where the staff member works. Each element is a location key. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var array|null + */ + public $a_location = null; + + /** + * Employment end date. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $dl_end = null; + + /** + * Employment start date. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $dl_start = null; + + /** + * Gender of staff member. One of {@link AGenderSid} constants. + * + * `null` means to not change the current value of the field or set gender by default for new staff. + * + * @post post + * @var int|null + */ + public $id_gender = null; + + /** + * ID of the default system role. One of {@link WlPrivilegeRoleSid}. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var int|null + */ + public $id_role = null; + + /** + * Whether the staff is currently employed. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var bool|null + */ + public $is_employ = null; + + /** + * Determines whether the staff member be shown on the directory site of the business. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var bool|null + */ + public $is_microsite = null; + + /** + * Whether password set is disabled. `true` - if the email is associated to a client profile which has a password set, + * `false` - otherwise. + * + * @post post + * @var bool + */ + public $is_password_set_disable = false; + + /** + * Whether the staff member can to sign in. + * + * @post post + * @var bool + */ + public $is_uid = true; + + /** + * The key of the business in which the staff member is being created or edited. + * This field is required. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * Business role key. + * + * `null` if not set. + * + * @post post + * @var string|null + */ + public $k_business_role = null; + + /** + * City key. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $k_city = null; + + /** + * Home location key. + * + * `null` if not set. + * + * @post post + * @var string|null + */ + public $k_location = null; + + /** + * The key of the staff member who is being created or edited. + * + * This will be `null` in cases where a new staff member is created. + * + * @post get,result + * @var string|null + */ + public $k_staff = null; + + /** + * Address. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $text_address = null; + + /** + * Staff biography. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $text_biography = null; + + /** + * Custom city title. + * + * `null` means to not change the current value of the field or <var>k_city</var> is specified. + * + * @post post + * @var string|null + */ + public $text_city = null; + + /** + * The staff member's email address. + * This field is required when creating a new staff member. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_email = null; + + /** + * The staff member's first name. + * This field is required when creating a new staff member. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_first_name = null; + + /** + * The staff member's last name. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_last_name = null; + + /** + * The password. + * This field is required when creating a new staff member. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_password = null; + + /** + * Confirmation of the password. + * This field is required when creating a new staff member. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_password_confirm = null; + + /** + * Home phone. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $text_phone_home = null; + + /** + * Cell phone. + * + * `null` means to not change the current value of the field. + * + * @post post + * @var string|null + */ + public $text_phone_mobile = null; + + /** + * The staff member's job title. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_position = null; + + /** + * The staff member's job title. + * + * If `null`, the current value of the field shouldn't be changed. + * + * @post post + * @var string|null + */ + public $text_postal = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Tag/TagListModel.php b/WellnessLiving/Wl/Tag/TagListModel.php index 165837b8..3bd80169 100644 --- a/WellnessLiving/Wl/Tag/TagListModel.php +++ b/WellnessLiving/Wl/Tag/TagListModel.php @@ -1,44 +1,44 @@ -<?php - -namespace WellnessLiving\Wl\Tag; - -use WellnessLiving\WlModelAbstract; - -/** - * Gets tags for a business. - */ -class TagListModel extends WlModelAbstract -{ - /** - * The tag list. - * - * Each element has the next structure:<dl> - * <dt>string <var>k_tag</var> </dt> - * <dd>The tag key.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The tag title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_list; - - /** - * Whether a business did set up surcharges. - * - * @get result - * @var bool - */ - public $has_surcharge = false; - - /** - * The business key of the tags. - * - * @get get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Tag; + +use WellnessLiving\WlModelAbstract; + +/** + * Gets tags for a business. + */ +class TagListModel extends WlModelAbstract +{ + /** + * The tag list. + * + * Each element has the next structure:<dl> + * <dt>string <var>k_tag</var> </dt> + * <dd>The tag key.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The tag title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_list; + + /** + * Whether a business did set up surcharges. + * + * @get result + * @var bool + */ + public $has_surcharge = false; + + /** + * The business key of the tags. + * + * @get get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Tax/TaxListModel.php b/WellnessLiving/Wl/Tax/TaxListModel.php index c6de36b4..9901b9bd 100644 --- a/WellnessLiving/Wl/Tax/TaxListModel.php +++ b/WellnessLiving/Wl/Tax/TaxListModel.php @@ -1,40 +1,40 @@ -<?php - -namespace WellnessLiving\Wl\Tax; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves a list of taxes for a business. - */ -class TaxListModel extends WlModelAbstract -{ - /** - * A list of taxes. - * - * Each element has the following structure:<dl> - * <dt>float <var>f_value</var> </dt> - * <dd>The amount of the tax.</dd> - * <dt>string <var>k_tax</var> </dt> - * <dd>The type of the tax, one of the {@link WlTaxSid} constants.</dd> - * <dt>string <var>k_tax</var> </dt> - * <dd>The tax key.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The name of the tax.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_list; - - /** - * The key of the business for which to get a list of taxes. - * - * @get get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Tax; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves a list of taxes for a business. + */ +class TaxListModel extends WlModelAbstract +{ + /** + * A list of taxes. + * + * Each element has the following structure:<dl> + * <dt>float <var>f_value</var> </dt> + * <dd>The amount of the tax.</dd> + * <dt>string <var>k_tax</var> </dt> + * <dd>The type of the tax, one of the {@link WlTaxSid} constants.</dd> + * <dt>string <var>k_tax</var> </dt> + * <dd>The tax key.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The name of the tax.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_list; + + /** + * The key of the business for which to get a list of taxes. + * + * @get get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Tax/TaxModel.php b/WellnessLiving/Wl/Tax/TaxModel.php index f3165874..cccf4307 100644 --- a/WellnessLiving/Wl/Tax/TaxModel.php +++ b/WellnessLiving/Wl/Tax/TaxModel.php @@ -1,29 +1,29 @@ -<?php - -namespace WellnessLiving\Wl\Tax; - -use WellnessLiving\WlModelAbstract; - -/** - * Returns tax information for a business. - */ -class TaxModel extends WlModelAbstract -{ - /** - * The tax key to get information for. - * - * @get get - * @var string - */ - public $k_tax = '0'; - - /** - * The tax title. - * - * @get result - * @var string - */ - public $text_tax; -} - +<?php + +namespace WellnessLiving\Wl\Tax; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns tax information for a business. + */ +class TaxModel extends WlModelAbstract +{ + /** + * The tax key to get information for. + * + * @get get + * @var string + */ + public $k_tax = '0'; + + /** + * The tax title. + * + * @get result + * @var string + */ + public $text_tax; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/User/Info/UserIntegrationModel.php b/WellnessLiving/Wl/User/Info/UserIntegrationModel.php index 8a535975..3ce31f62 100644 --- a/WellnessLiving/Wl/User/Info/UserIntegrationModel.php +++ b/WellnessLiving/Wl/User/Info/UserIntegrationModel.php @@ -1,46 +1,46 @@ -<?php - -namespace WellnessLiving\Wl\User\Info; - -use WellnessLiving\WlModelAbstract; - -/** - * An endpoint that return the information about the integrations the user is connected to. - */ -class UserIntegrationModel extends WlModelAbstract -{ - /** - * Information about the integrations the user is connected to. The information returned has the following structure: - * <dl> - * <dt>bool <var>is_classpass</var></dt> - * <dd>`true` if user use the Classpass integration, `false` - otherwise.</dd> - * <dt>bool <var>is_gympass</var></dt> - * <dd>`true` if user use the Gympass integration, `false` - otherwise.</dd> - * <dt>bool <var>is_reserve_with_google</var></dt> - * <dd>`true` if user use the Reserve With Google integration, `false` - otherwise.</dd> - * </dl> - * `null` if the user does not belong to any integration. - * - * @get result - * @var array|null - */ - public $a_integration = null; - - /** - * The key of the business. - * - * @get get - * @var string - */ - public $k_business = ''; - - /** - * Key of the user. - * - * @get get - * @var string - */ - public $uid = ''; -} - +<?php + +namespace WellnessLiving\Wl\User\Info; + +use WellnessLiving\WlModelAbstract; + +/** + * An endpoint that return the information about the integrations the user is connected to. + */ +class UserIntegrationModel extends WlModelAbstract +{ + /** + * Information about the integrations the user is connected to. The information returned has the following structure: + * <dl> + * <dt>bool <var>is_classpass</var></dt> + * <dd>`true` if user use the Classpass integration, `false` - otherwise.</dd> + * <dt>bool <var>is_gympass</var></dt> + * <dd>`true` if user use the Gympass integration, `false` - otherwise.</dd> + * <dt>bool <var>is_reserve_with_google</var></dt> + * <dd>`true` if user use the Reserve With Google integration, `false` - otherwise.</dd> + * </dl> + * `null` if the user does not belong to any integration. + * + * @get result + * @var array|null + */ + public $a_integration = null; + + /** + * The key of the business. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * Key of the user. + * + * @get get + * @var string + */ + public $uid = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/User/Referrer/ReferrerModel.php b/WellnessLiving/Wl/User/Referrer/ReferrerModel.php index 8001db0d..709bfc70 100644 --- a/WellnessLiving/Wl/User/Referrer/ReferrerModel.php +++ b/WellnessLiving/Wl/User/Referrer/ReferrerModel.php @@ -1,114 +1,114 @@ -<?php - -namespace WellnessLiving\Wl\User\Referrer; - -use WellnessLiving\WlModelAbstract; - -/** - * Searches for a referrer using a string. - */ -class ReferrerModel extends WlModelAbstract -{ - /** - * Information about the referrer's photo. The information returned has the following structure: - * <dl> - * <dt> - * int <var>i_height</var> - * </dt> - * <dd> - * The height of the photo. - * </dd> - * <dt> - * int <var>i_width</var> - * </dt> - * <dd> - * The width of the photo. - * </dd> - * <dt> - * string <var>url_photo</var> - * </dt> - * <dd> - * The URL of the photo. - * </dd> - * </dl> - * - * @get result - * @var array - */ - public $a_photo; - - /** - * The key of the current business. - * - * @get get - * @var string - */ - public $k_business; - - /** - * The email address of the referrer. - * - * @get result - * @var string - */ - public $s_email; - - /** - * The business client ID of the referrer. - * - * @get result - * @var string - */ - public $s_member; - - /** - * The first name of the referrer. - * - * @get result - * @var string - */ - public $s_name_first; - - /** - * The last name of the referrer. - * - * @get result - * @var string - */ - public $s_name_last; - - /** - * The phone number of the referrer. - * - * @get result - * @var string - */ - public $s_phone; - - /** - * The string to be used for searching for a referrer. - * - * @get get - * @var string - */ - public $s_search = ''; - - /** - * Composes name of the referrer for public usage. - * `null` if the referrer is not found. - * - * @get result - * @var string|null - */ - public $text_name_public = null; - - /** - * The referrer's user key. - * - * @get result - * @var string - */ - public $uid_referrer; -} - +<?php + +namespace WellnessLiving\Wl\User\Referrer; + +use WellnessLiving\WlModelAbstract; + +/** + * Searches for a referrer using a string. + */ +class ReferrerModel extends WlModelAbstract +{ + /** + * Information about the referrer's photo. The information returned has the following structure: + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * The height of the photo. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * The width of the photo. + * </dd> + * <dt> + * string <var>url_photo</var> + * </dt> + * <dd> + * The URL of the photo. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_photo; + + /** + * The key of the current business. + * + * @get get + * @var string + */ + public $k_business; + + /** + * The email address of the referrer. + * + * @get result + * @var string + */ + public $s_email; + + /** + * The business client ID of the referrer. + * + * @get result + * @var string + */ + public $s_member; + + /** + * The first name of the referrer. + * + * @get result + * @var string + */ + public $s_name_first; + + /** + * The last name of the referrer. + * + * @get result + * @var string + */ + public $s_name_last; + + /** + * The phone number of the referrer. + * + * @get result + * @var string + */ + public $s_phone; + + /** + * The string to be used for searching for a referrer. + * + * @get get + * @var string + */ + public $s_search = ''; + + /** + * Composes name of the referrer for public usage. + * `null` if the referrer is not found. + * + * @get result + * @var string|null + */ + public $text_name_public = null; + + /** + * The referrer's user key. + * + * @get result + * @var string + */ + public $uid_referrer; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php b/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php index c9a90959..cb1c7636 100644 --- a/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php +++ b/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php @@ -1,41 +1,41 @@ -<?php - -namespace WellnessLiving\Wl\Video\Catalog\Filter\Sort; - -/** - * List of video catalog sorting types. - * - * Any selected type should be sorted in descending order. - */ -class FilterSortSid -{ - /** - * Sort alphabetically. - * - * @title Alphabetical - */ - const ALPHABET = 1; - - /** - * Sort by custom. - * - * @title Custom - */ - const CUSTOM = 4; - - /** - * Sort by most recently added. - * - * @title Most Recent - */ - const RECENT = 2; - - /** - * Sorted by number of views. - * - * @title Views - */ - const VIEW = 3; -} - +<?php + +namespace WellnessLiving\Wl\Video\Catalog\Filter\Sort; + +/** + * List of video catalog sorting types. + * + * Any selected type should be sorted in descending order. + */ +class FilterSortSid +{ + /** + * Sort alphabetically. + * + * @title Alphabetical + */ + const ALPHABET = 1; + + /** + * Sort by custom. + * + * @title Custom + */ + const CUSTOM = 4; + + /** + * Sort by most recently added. + * + * @title Most Recent + */ + const RECENT = 2; + + /** + * Sorted by number of views. + * + * @title Views + */ + const VIEW = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Category/CategoryElementModel.php b/WellnessLiving/Wl/Video/Category/CategoryElementModel.php index 4fcdadc1..d230681a 100644 --- a/WellnessLiving/Wl/Video/Category/CategoryElementModel.php +++ b/WellnessLiving/Wl/Video/Category/CategoryElementModel.php @@ -1,97 +1,97 @@ -<?php - -namespace WellnessLiving\Wl\Video\Category; - -use WellnessLiving\WlModelAbstract; - -/** - * Saves video categories. - */ -class CategoryElementModel extends WlModelAbstract -{ - /** - * A list of client and member types who can access videos from the category. - * - * @get result - * @put post - * @var string[] - */ - public $a_login_type; - - /** - * A list of member groups who can access videos from the category. - * - * @get result - * @put post - * @var string[] - */ - public $a_member_group; - - /** - * The category's placement in the business's list of categories. - * - * @get result - * @var int - */ - public $i_order; - - /** - * This will be `true` if the video category is for cloud session recordings. Otherwise, this will be `false`. - * - * @get result - * @put post - * @var bool - */ - public $is_cloud_recording = false; - - /** - * This will be `true` if some client or member types can grant access to the video category. Otherwise, this will be - * `false`. - * - * @get result - * @put post - * @var bool - */ - public $is_login_type; - - /** - * This will be `true` if some member groups can grant access to the video category. - * Otherwise, this will be `false` if no member groups can grant access to the video category. - * - * @get result - * @put post - * @var bool - */ - public $is_member_group = false; - - /** - * The business key. - * - * @delete get - * @get get - * @put get - * @var string - */ - public $k_business; - - /** - * The category key. - * - * @delete get - * @get get,result - * @put get,result - * @var string - */ - public $k_video_category; - - /** - * The category name. - * - * @get result - * @put post - * @var string - */ - public $text_title; -} - +<?php + +namespace WellnessLiving\Wl\Video\Category; + +use WellnessLiving\WlModelAbstract; + +/** + * Saves video categories. + */ +class CategoryElementModel extends WlModelAbstract +{ + /** + * A list of client and member types who can access videos from the category. + * + * @get result + * @put post + * @var string[] + */ + public $a_login_type; + + /** + * A list of member groups who can access videos from the category. + * + * @get result + * @put post + * @var string[] + */ + public $a_member_group; + + /** + * The category's placement in the business's list of categories. + * + * @get result + * @var int + */ + public $i_order; + + /** + * This will be `true` if the video category is for cloud session recordings. Otherwise, this will be `false`. + * + * @get result + * @put post + * @var bool + */ + public $is_cloud_recording = false; + + /** + * This will be `true` if some client or member types can grant access to the video category. Otherwise, this will be + * `false`. + * + * @get result + * @put post + * @var bool + */ + public $is_login_type; + + /** + * This will be `true` if some member groups can grant access to the video category. + * Otherwise, this will be `false` if no member groups can grant access to the video category. + * + * @get result + * @put post + * @var bool + */ + public $is_member_group = false; + + /** + * The business key. + * + * @delete get + * @get get + * @put get + * @var string + */ + public $k_business; + + /** + * The category key. + * + * @delete get + * @get get,result + * @put get,result + * @var string + */ + public $k_video_category; + + /** + * The category name. + * + * @get result + * @put post + * @var string + */ + public $text_title; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Category/CategoryListModel.php b/WellnessLiving/Wl/Video/Category/CategoryListModel.php index 00b35927..1a4c6f6c 100644 --- a/WellnessLiving/Wl/Video/Category/CategoryListModel.php +++ b/WellnessLiving/Wl/Video/Category/CategoryListModel.php @@ -1,76 +1,76 @@ -<?php - -namespace WellnessLiving\Wl\Video\Category; - -use WellnessLiving\WlModelAbstract; - -/** - * Returns a list of video categories. - */ -class CategoryListModel extends WlModelAbstract -{ - /** - * A list of shared video category keys displayed in the order to be saved. - * - * @put post - * @var string[] - */ - public $a_order; - - /** - * The business video library categories as found in {@link CategoryListModel::$k_business}. - * - * Each element has the following structure: <dl> - * <dt>bool <var>can_delete</var></dt> - * <dd>Determines whether the video category can be deleted.</dd> - * <dt>int <var>i_video</var></dt> - * <dd>The number of videos.</dd> - * <dt>string <var>k_video_category</var></dt> - * <dd>The key of the video category.</dd> - * <dt>string <var>k_video_category_full</var></dt> - * <dd>The string key of the video category.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The title of the category.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_video_category; - - /** - * If `true`, the API is being used from backend. Otherwise, this will be `false`. - * - * @get get - * @put get - * @var bool - */ - public $is_backend = false; - - /** - * If `true`, groups that are missing videos won't be displayed. Otherwise, this will be `false`. - * - * @get get - * @var bool - */ - public $is_skip_empty_group; - - /** - * The business key. - * - * @get get - * @put get - * @var string - */ - public $k_business; - - /** - * The filter phrase used to filter categories by name. - * - * @get get - * @var string - */ - public $text_filter; -} - +<?php + +namespace WellnessLiving\Wl\Video\Category; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns a list of video categories. + */ +class CategoryListModel extends WlModelAbstract +{ + /** + * A list of shared video category keys displayed in the order to be saved. + * + * @put post + * @var string[] + */ + public $a_order; + + /** + * The business video library categories as found in {@link CategoryListModel::$k_business}. + * + * Each element has the following structure: <dl> + * <dt>bool <var>can_delete</var></dt> + * <dd>Determines whether the video category can be deleted.</dd> + * <dt>int <var>i_video</var></dt> + * <dd>The number of videos.</dd> + * <dt>string <var>k_video_category</var></dt> + * <dd>The key of the video category.</dd> + * <dt>string <var>k_video_category_full</var></dt> + * <dd>The string key of the video category.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The title of the category.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_video_category; + + /** + * If `true`, the API is being used from backend. Otherwise, this will be `false`. + * + * @get get + * @put get + * @var bool + */ + public $is_backend = false; + + /** + * If `true`, groups that are missing videos won't be displayed. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_skip_empty_group; + + /** + * The business key. + * + * @get get + * @put get + * @var string + */ + public $k_business; + + /** + * The filter phrase used to filter categories by name. + * + * @get get + * @var string + */ + public $text_filter; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Level/LevelListModel.php b/WellnessLiving/Wl/Video/Level/LevelListModel.php index d8a6088a..2efca633 100644 --- a/WellnessLiving/Wl/Video/Level/LevelListModel.php +++ b/WellnessLiving/Wl/Video/Level/LevelListModel.php @@ -1,43 +1,43 @@ -<?php - -namespace WellnessLiving\Wl\Video\Level; - -use WellnessLiving\WlModelAbstract; - -/** - * Changes the order of video levels. - */ -class LevelListModel extends WlModelAbstract -{ - /** - * A list of video levels with the following structure: <dl> - * <dt>string <var>k_video_level</var></dt> - * <dd>The video level key.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The video level title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_level_list = []; - - /** - * A list of video level keys in the order to be saved. - * - * @put post - * @var string[] - */ - public $a_order = []; - - /** - * The business key. - * - * @get get - * @put get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Video\Level; + +use WellnessLiving\WlModelAbstract; + +/** + * Changes the order of video levels. + */ +class LevelListModel extends WlModelAbstract +{ + /** + * A list of video levels with the following structure: <dl> + * <dt>string <var>k_video_level</var></dt> + * <dd>The video level key.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The video level title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_level_list = []; + + /** + * A list of video level keys in the order to be saved. + * + * @put post + * @var string[] + */ + public $a_order = []; + + /** + * The business key. + * + * @get get + * @put get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Level/LevelModel.php b/WellnessLiving/Wl/Video/Level/LevelModel.php index c16ee3b9..f4a7d18d 100644 --- a/WellnessLiving/Wl/Video/Level/LevelModel.php +++ b/WellnessLiving/Wl/Video/Level/LevelModel.php @@ -1,52 +1,52 @@ -<?php - -namespace WellnessLiving\Wl\Video\Level; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves, changes, or deletes a video level. - */ -class LevelModel extends WlModelAbstract -{ - /** - * If `true`, confirmation is required to delete videos. Otherwise, this will be `false`. - * - * @delete get - * @var bool - */ - public $is_delete_confirm; - - /** - * The business key. - * - * @delete get - * @get get - * @post get - * @put get - * @var string - */ - public $k_business; - - /** - * The video level key. - * - * @delete get - * @get get - * @post get,result - * @put get - * @var string - */ - public $k_video_level; - - /** - * The video level title. - * - * @post post - * @put post - * @var string - */ - public $text_title; -} - +<?php + +namespace WellnessLiving\Wl\Video\Level; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves, changes, or deletes a video level. + */ +class LevelModel extends WlModelAbstract +{ + /** + * If `true`, confirmation is required to delete videos. Otherwise, this will be `false`. + * + * @delete get + * @var bool + */ + public $is_delete_confirm; + + /** + * The business key. + * + * @delete get + * @get get + * @post get + * @put get + * @var string + */ + public $k_business; + + /** + * The video level key. + * + * @delete get + * @get get + * @post get,result + * @put get + * @var string + */ + public $k_video_level; + + /** + * The video level title. + * + * @post post + * @put post + * @var string + */ + public $text_title; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Tag/TagListModel.php b/WellnessLiving/Wl/Video/Tag/TagListModel.php index a9552753..df5f1d5b 100644 --- a/WellnessLiving/Wl/Video/Tag/TagListModel.php +++ b/WellnessLiving/Wl/Video/Tag/TagListModel.php @@ -1,34 +1,34 @@ -<?php - -namespace WellnessLiving\Wl\Video\Tag; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves video tags. - */ -class TagListModel extends WlModelAbstract -{ - /** - * A list of video tags with the following structure: <dl> - * <dt>string <var>k_video_tag</var></dt> - * <dd>The video tag key.</dd> - * <dt>string <var>text_title</var></dt> - * <dd>The video tag title.</dd> - * </dl> - * - * @get result - * @var array[] - */ - public $a_tag_list = []; - - /** - * The business key. - * - * @get get - * @var string - */ - public $k_business; -} - +<?php + +namespace WellnessLiving\Wl\Video\Tag; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves video tags. + */ +class TagListModel extends WlModelAbstract +{ + /** + * A list of video tags with the following structure: <dl> + * <dt>string <var>k_video_tag</var></dt> + * <dd>The video tag key.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>The video tag title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_tag_list = []; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Tag/TagModel.php b/WellnessLiving/Wl/Video/Tag/TagModel.php index 845cf2f4..5d1d1152 100644 --- a/WellnessLiving/Wl/Video/Tag/TagModel.php +++ b/WellnessLiving/Wl/Video/Tag/TagModel.php @@ -1,52 +1,52 @@ -<?php - -namespace WellnessLiving\Wl\Video\Tag; - -use WellnessLiving\WlModelAbstract; - -/** - * Retrieves, changes, or deletes a video tag. - */ -class TagModel extends WlModelAbstract -{ - /** - * If `true`, confirmation is required to delete videos. Otherwise, this will be `false`. - * - * @delete get - * @var bool - */ - public $is_delete_confirm; - - /** - * The business key. - * - * @delete get - * @get get - * @post get - * @put get - * @var string - */ - public $k_business; - - /** - * The video tag key. - * - * @delete get - * @get get - * @post get,result - * @put get - * @var string - */ - public $k_video_tag; - - /** - * The video tag title. - * - * @post post - * @put post - * @var string - */ - public $text_title; -} - +<?php + +namespace WellnessLiving\Wl\Video\Tag; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves, changes, or deletes a video tag. + */ +class TagModel extends WlModelAbstract +{ + /** + * If `true`, confirmation is required to delete videos. Otherwise, this will be `false`. + * + * @delete get + * @var bool + */ + public $is_delete_confirm; + + /** + * The business key. + * + * @delete get + * @get get + * @post get + * @put get + * @var string + */ + public $k_business; + + /** + * The video tag key. + * + * @delete get + * @get get + * @post get,result + * @put get + * @var string + */ + public $k_video_tag; + + /** + * The video tag title. + * + * @post post + * @put post + * @var string + */ + public $text_title; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/VideoElementModel.php b/WellnessLiving/Wl/Video/VideoElementModel.php index a7281c9e..a1ee00fb 100644 --- a/WellnessLiving/Wl/Video/VideoElementModel.php +++ b/WellnessLiving/Wl/Video/VideoElementModel.php @@ -1,385 +1,385 @@ -<?php - -namespace WellnessLiving\Wl\Video; - -use WellnessLiving\Core\Sid\YesNoSid; -use WellnessLiving\WlModelAbstract; - -/** - * Returns a list of video categories. - */ -class VideoElementModel extends WlModelAbstract -{ - /** - * The keys of the locations where this video is available. - * - * @get result - * @post post - * @var string[] - */ - public $a_location; - - /** - * The keys of the staff members who are on the video. - * - * @get result - * @post post - * @var string[] - */ - public $a_staff; - - /** - * A list of staff members associated with the video. Every item has the following structure:<dl> - * <dt>string <var>k_staff</var></dt> - * <dd>The staff member key.</dd> - * <dt>string <var>text_name</var></dt> - * <dd>The staff member's full name.</dd> - * </dl> - * - * @get result - * @var array - */ - public $a_staff_info; - - /** - * The video category keys where this video can be found. - * - * @get result - * @post post - * @var string[] - */ - public $a_video_category; - - /** - * The video tag keys. - * - * @get result - * @post post - * @var string[] - */ - public $a_video_tag; - - /** - * The date and time when the video was published. - * - * This will be `null` if the published date is not set yet. - * - * @get result - * @post post - * @var string|null - */ - public $dtl_publish; - - /** - * The date and time when the video was unpublished. - * - * This will be `null` if the unpublished date is not set yet. - * - * @get result - * @post post - * @var string|null - */ - public $dtl_unpublish; - - /** - * The date when the video was uploaded. - * - * @get result - * @var string - */ - public $dtl_upload; - - /** - * Video file. - * This property is not used, but need for correct generate model. - * - * @post post - * @var array - */ - public $file_video; - - /** - * The count of burned calories associated with the video. - * - * @get result - * @post post - * @var int - */ - public $i_calorie = 0; - - /** - * The current time as a percentage of the video duration at which the user is at in the video. - * - * @get result - * @var int - */ - public $i_current_percent; - - /** - * The current time in seconds at which the user is at in the video. - * - * @get result - * @var int - */ - public $i_current_time; - - /** - * The video duration in seconds. - * - * @get result - * @post post - * @var int - */ - public $i_duration; - - /** - * The size of the uploaded file. - * - * If the file will be uploaded in parts, its size will be set. - * - * In this case, the file will not be uploaded to this API. - * - * @post post - * @var int|string - */ - public $i_file_upload_size = ''; - - /** - * The number of video views. - * - * @get result - * @var int - */ - public $i_watch; - - /** - * {@link YesNoSid::NO} if the video is available in all locations. - * {@link YesNoSid::YES} if the video is available only in certain locations. - * - * @get result - * @post post - * @var int - */ - public $id_location_select; - - /** - * If `true`, the API is being used from backend. Otherwise, this will be `false`. - * - * @delete get - * @get get - * @post get - * @var bool - */ - public $is_backend = false; - - /** - * If `true`, the calorie count will be displayed on the video. - * If `false`, the calorie count will be hidden on the video. - * - * @get result - * @post post - * @var bool - */ - public $is_calorie; - - /** - * If `true`, the video is converted. - * If `false`, the video isn't converted. - * - * @get result - * @post get - * @var bool - */ - public $is_converted; - - /** - * If `true`, the video is published. Otherwise, this will be `false`. - * - * @get result - * @var bool - */ - public $is_published; - - /** - * If `true`, the video level for the video is enabled. - * If `false`, the video level for the video is disabled. - * - * @get result - * @post post - * @var bool - */ - public $is_video_level; - - /** - * The business key. - * - * @delete get - * @get get - * @post get - * @var string - */ - public $k_business; - - /** - * The video key. - * - * @delete get - * @get get - * @post get,result - * @var string - */ - public $k_video; - - /** - * The video category primary key. - * - * @get result - * @post post - * @var string - */ - public $k_video_category_primary; - - /** - * The video level key. - * This will be `0` if `All Levels` is selected. - * - * @get result - * @post post - * @var string - */ - public $k_video_level; - - /** - * The name of the command that has been executing when the exception occurred. - * - * @post post - * @var string - */ - public $s_command = ''; - - /** - * ID of the uploaded file. - * If the file will be uploaded in parts, upload ID will be set. - * - * In this case, the file will not be uploaded to this API. - * - * @post post - * @var string - */ - public $s_file_upload_id = ''; - - /** - * The real name of the uploaded file. - * - * If the file will be uploaded in parts, its name will be set. - * - * In this case, the file won't be uploaded to this API and the POST method won't - * return the result. - * - * @post post - * @var string - */ - public $s_file_upload_name = ''; - - /** - * The string representation of the video's key. - * - * This will be `null` if the video doesn't have a thumbnail image. - * - * @get result - * @var string|null - */ - public $s_preview_video_key; - - /** - * The video thumbnail. - * - * @post post - * @var string - */ - public $s_thumbnail; - - /** - * If `false`, the calorie count for videos is hidden. Otherwise, this will be `true`. - * - * @get result - * @var bool - */ - public $show_calorie; - - /** - * If `false`, video levels are hidden. Otherwise, this will be `true`. - * - * @get result - * @var bool - */ - public $show_level; - - /** - * If `false`, the number of views for videos is hidden. Otherwise, this will be `true`. - * - * @get result - * @var bool - */ - public $show_view; - - /** - * The video level name. - * - * @get result - * @var string - */ - public $text_level_title; - - /** - * The video name. - * - * @get result - * @post post - * @var string - */ - public $text_title; - - /** - * The URL of the video thumbnail. - * - * @get result - * @var string - */ - public $url_thumbnail; - - /** - * The URL of the video on a WellnessLiving page. - * - * @get result - * @var string|null - */ - public $url_video; - - /** - * The direct URL of the video. - * - * @get result - * @var string - */ - public $url_video_direct; - - /** - * The direct URL of the video for iframe. - * - * @get result - * @var string - */ - public $url_video_frame; - - /** - * The video description. - * - * @get result - * @post post - * @var string - */ - public $xml_description; -} - +<?php + +namespace WellnessLiving\Wl\Video; + +use WellnessLiving\Core\Sid\YesNoSid; +use WellnessLiving\WlModelAbstract; + +/** + * Returns a list of video categories. + */ +class VideoElementModel extends WlModelAbstract +{ + /** + * The keys of the locations where this video is available. + * + * @get result + * @post post + * @var string[] + */ + public $a_location; + + /** + * The keys of the staff members who are on the video. + * + * @get result + * @post post + * @var string[] + */ + public $a_staff; + + /** + * A list of staff members associated with the video. Every item has the following structure:<dl> + * <dt>string <var>k_staff</var></dt> + * <dd>The staff member key.</dd> + * <dt>string <var>text_name</var></dt> + * <dd>The staff member's full name.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_staff_info; + + /** + * The video category keys where this video can be found. + * + * @get result + * @post post + * @var string[] + */ + public $a_video_category; + + /** + * The video tag keys. + * + * @get result + * @post post + * @var string[] + */ + public $a_video_tag; + + /** + * The date and time when the video was published. + * + * This will be `null` if the published date is not set yet. + * + * @get result + * @post post + * @var string|null + */ + public $dtl_publish; + + /** + * The date and time when the video was unpublished. + * + * This will be `null` if the unpublished date is not set yet. + * + * @get result + * @post post + * @var string|null + */ + public $dtl_unpublish; + + /** + * The date when the video was uploaded. + * + * @get result + * @var string + */ + public $dtl_upload; + + /** + * Video file. + * This property is not used, but need for correct generate model. + * + * @post post + * @var array + */ + public $file_video; + + /** + * The count of burned calories associated with the video. + * + * @get result + * @post post + * @var int + */ + public $i_calorie = 0; + + /** + * The current time as a percentage of the video duration at which the user is at in the video. + * + * @get result + * @var int + */ + public $i_current_percent; + + /** + * The current time in seconds at which the user is at in the video. + * + * @get result + * @var int + */ + public $i_current_time; + + /** + * The video duration in seconds. + * + * @get result + * @post post + * @var int + */ + public $i_duration; + + /** + * The size of the uploaded file. + * + * If the file will be uploaded in parts, its size will be set. + * + * In this case, the file will not be uploaded to this API. + * + * @post post + * @var int|string + */ + public $i_file_upload_size = ''; + + /** + * The number of video views. + * + * @get result + * @var int + */ + public $i_watch; + + /** + * {@link YesNoSid::NO} if the video is available in all locations. + * {@link YesNoSid::YES} if the video is available only in certain locations. + * + * @get result + * @post post + * @var int + */ + public $id_location_select; + + /** + * If `true`, the API is being used from backend. Otherwise, this will be `false`. + * + * @delete get + * @get get + * @post get + * @var bool + */ + public $is_backend = false; + + /** + * If `true`, the calorie count will be displayed on the video. + * If `false`, the calorie count will be hidden on the video. + * + * @get result + * @post post + * @var bool + */ + public $is_calorie; + + /** + * If `true`, the video is converted. + * If `false`, the video isn't converted. + * + * @get result + * @post get + * @var bool + */ + public $is_converted; + + /** + * If `true`, the video is published. Otherwise, this will be `false`. + * + * @get result + * @var bool + */ + public $is_published; + + /** + * If `true`, the video level for the video is enabled. + * If `false`, the video level for the video is disabled. + * + * @get result + * @post post + * @var bool + */ + public $is_video_level; + + /** + * The business key. + * + * @delete get + * @get get + * @post get + * @var string + */ + public $k_business; + + /** + * The video key. + * + * @delete get + * @get get + * @post get,result + * @var string + */ + public $k_video; + + /** + * The video category primary key. + * + * @get result + * @post post + * @var string + */ + public $k_video_category_primary; + + /** + * The video level key. + * This will be `0` if `All Levels` is selected. + * + * @get result + * @post post + * @var string + */ + public $k_video_level; + + /** + * The name of the command that has been executing when the exception occurred. + * + * @post post + * @var string + */ + public $s_command = ''; + + /** + * ID of the uploaded file. + * If the file will be uploaded in parts, upload ID will be set. + * + * In this case, the file will not be uploaded to this API. + * + * @post post + * @var string + */ + public $s_file_upload_id = ''; + + /** + * The real name of the uploaded file. + * + * If the file will be uploaded in parts, its name will be set. + * + * In this case, the file won't be uploaded to this API and the POST method won't + * return the result. + * + * @post post + * @var string + */ + public $s_file_upload_name = ''; + + /** + * The string representation of the video's key. + * + * This will be `null` if the video doesn't have a thumbnail image. + * + * @get result + * @var string|null + */ + public $s_preview_video_key; + + /** + * The video thumbnail. + * + * @post post + * @var string + */ + public $s_thumbnail; + + /** + * If `false`, the calorie count for videos is hidden. Otherwise, this will be `true`. + * + * @get result + * @var bool + */ + public $show_calorie; + + /** + * If `false`, video levels are hidden. Otherwise, this will be `true`. + * + * @get result + * @var bool + */ + public $show_level; + + /** + * If `false`, the number of views for videos is hidden. Otherwise, this will be `true`. + * + * @get result + * @var bool + */ + public $show_view; + + /** + * The video level name. + * + * @get result + * @var string + */ + public $text_level_title; + + /** + * The video name. + * + * @get result + * @post post + * @var string + */ + public $text_title; + + /** + * The URL of the video thumbnail. + * + * @get result + * @var string + */ + public $url_thumbnail; + + /** + * The URL of the video on a WellnessLiving page. + * + * @get result + * @var string|null + */ + public $url_video; + + /** + * The direct URL of the video. + * + * @get result + * @var string + */ + public $url_video_direct; + + /** + * The direct URL of the video for iframe. + * + * @get result + * @var string + */ + public $url_video_frame; + + /** + * The video description. + * + * @get result + * @post post + * @var string + */ + public $xml_description; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/VideoListModel.php b/WellnessLiving/Wl/Video/VideoListModel.php index 1b3de74b..4390de19 100644 --- a/WellnessLiving/Wl/Video/VideoListModel.php +++ b/WellnessLiving/Wl/Video/VideoListModel.php @@ -1,173 +1,173 @@ -<?php - -namespace WellnessLiving\Wl\Video; - -use WellnessLiving\Core\Sid\SortOrderSid; -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Video\Catalog\Filter\Sort\FilterSortSid; - -/** - * Returns a list of videos. - */ -class VideoListModel extends WlModelAbstract -{ - /** - * The calorie range ascribed to the video to use for the search. - * - * <dl> - * <dt>int [<var>i_from</var>]</dt> - * <dd>The minimum number of calories.</dd> - * <dt>int [<var>i_to</var>]</dt> - * <dd>The maximum number of calories.</dd> - * </dl> - * - * @get get - * @var int[] - */ - public $a_calorie = []; - - /** - * The duration range ascribed to the video to use for the search. - * The interval is set in seconds. - * - * <dl> - * <dt>int [<var>i_from</var>]</dt> - * <dd>The minimum duration. </dd> - * <dt>int [<var>i_to</var>]</dt> - * <dd>The maximum duration.</dd> - * </dl> - * - * @get get - * @var int[] - */ - public $a_duration = []; - - /** - * A list of levels to show videos for. A level can refer to the difficulty ascribed to the video. - * - * @get get - * @var string[] - */ - public $a_level = []; - - /** - * A list of videos. - * - * @get result - * @var array[] - */ - public $a_list = []; - - /** - * A list of locations to show videos from. - * - * @get get - * @var string[] - */ - public $a_location = []; - - /** - * A list of shared video keys in their saved order. - * - * @put post - * @var string[] - */ - public $a_order = []; - - /** - * Pagination data. - * - * @get result - * @var array - */ - public $a_page = []; - - /** - * A list of staff members who appear in videos. - * - * @get get - * @var string[] - */ - public $a_staff = []; - - /** - * A list of video categories to show videos from. - * - * @get get - * @var string[] - */ - public $a_video_category = []; - - /** - * A list of video tags to show videos for. - * - * @get get - * @var string[] - */ - public $a_video_tag = []; - - /** - * Page to return. - * - * `null` if you need to return all the videos. - * - * @get get - * @var int|null - */ - public $i_page = null; - - /** - * Sort order ID. One of {@link SortOrderSid} constants. `null` or 0 if order is undefined and depends on sort order. - * - * @get get,result - * @var int|null - */ - public $id_order = 0; - - /** - * The sorting type. - * A constant from {@link FilterSortSid}. `null` or 0 if sort is undefined and custom sort order is used. - * - * @get get,result - * @var int|null - */ - public $id_sort = 0; - - /** - * If `true`, the API is being used from backend. Otherwise, this will be `false`. - * - * @get get - * @put get - * @var bool - */ - public $is_backend = false; - - /** - * The business key. - * - * @get get - * @put get - * @var string - */ - public $k_business = ''; - - /** - * The filter phrase to filter videos by name. - * - * @get get - * @var string - */ - public $text_search = ''; - - /** - * UID of the client who request list of videos. - * - * `null` if user is not signed in. - * - * @get get - * @var string|null - */ - public $uid = null; -} - +<?php + +namespace WellnessLiving\Wl\Video; + +use WellnessLiving\Core\Sid\SortOrderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Video\Catalog\Filter\Sort\FilterSortSid; + +/** + * Returns a list of videos. + */ +class VideoListModel extends WlModelAbstract +{ + /** + * The calorie range ascribed to the video to use for the search. + * + * <dl> + * <dt>int [<var>i_from</var>]</dt> + * <dd>The minimum number of calories.</dd> + * <dt>int [<var>i_to</var>]</dt> + * <dd>The maximum number of calories.</dd> + * </dl> + * + * @get get + * @var int[] + */ + public $a_calorie = []; + + /** + * The duration range ascribed to the video to use for the search. + * The interval is set in seconds. + * + * <dl> + * <dt>int [<var>i_from</var>]</dt> + * <dd>The minimum duration. </dd> + * <dt>int [<var>i_to</var>]</dt> + * <dd>The maximum duration.</dd> + * </dl> + * + * @get get + * @var int[] + */ + public $a_duration = []; + + /** + * A list of levels to show videos for. A level can refer to the difficulty ascribed to the video. + * + * @get get + * @var string[] + */ + public $a_level = []; + + /** + * A list of videos. + * + * @get result + * @var array[] + */ + public $a_list = []; + + /** + * A list of locations to show videos from. + * + * @get get + * @var string[] + */ + public $a_location = []; + + /** + * A list of shared video keys in their saved order. + * + * @put post + * @var string[] + */ + public $a_order = []; + + /** + * Pagination data. + * + * @get result + * @var array + */ + public $a_page = []; + + /** + * A list of staff members who appear in videos. + * + * @get get + * @var string[] + */ + public $a_staff = []; + + /** + * A list of video categories to show videos from. + * + * @get get + * @var string[] + */ + public $a_video_category = []; + + /** + * A list of video tags to show videos for. + * + * @get get + * @var string[] + */ + public $a_video_tag = []; + + /** + * Page to return. + * + * `null` if you need to return all the videos. + * + * @get get + * @var int|null + */ + public $i_page = null; + + /** + * Sort order ID. One of {@link SortOrderSid} constants. `null` or 0 if order is undefined and depends on sort order. + * + * @get get,result + * @var int|null + */ + public $id_order = 0; + + /** + * The sorting type. + * A constant from {@link FilterSortSid}. `null` or 0 if sort is undefined and custom sort order is used. + * + * @get get,result + * @var int|null + */ + public $id_sort = 0; + + /** + * If `true`, the API is being used from backend. Otherwise, this will be `false`. + * + * @get get + * @put get + * @var bool + */ + public $is_backend = false; + + /** + * The business key. + * + * @get get + * @put get + * @var string + */ + public $k_business = ''; + + /** + * The filter phrase to filter videos by name. + * + * @get get + * @var string + */ + public $text_search = ''; + + /** + * UID of the client who request list of videos. + * + * `null` if user is not signed in. + * + * @get get + * @var string|null + */ + public $uid = null; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Watch/WatchModel.php b/WellnessLiving/Wl/Video/Watch/WatchModel.php index 75bde326..09fe7603 100644 --- a/WellnessLiving/Wl/Video/Watch/WatchModel.php +++ b/WellnessLiving/Wl/Video/Watch/WatchModel.php @@ -1,65 +1,65 @@ -<?php - -namespace WellnessLiving\Wl\Video\Watch; - -use WellnessLiving\WlModelAbstract; - -/** - * Saves information about a watched video. - */ -class WatchModel extends WlModelAbstract -{ - /** - * The current time in seconds the user is at in the video. - * - * @post post - * @put post - * @var int - */ - public $i_current_time; - - /** - * The duration in seconds the user has watched the video for. - * - * @put post - * @var int - */ - public $i_watched; - - /** - * The source ID. - * - * @post post - * @var int - * @see WatchSourceSid - */ - public $id_source; - - /** - * The business key. - * - * @post post - * @put post - * @var string - */ - public $k_business; - - /** - * The video string key. - * - * @post post - * @var string - */ - public $k_video; - - /** - * The video watch key. - * - * @post result - * @put post - * @var string - */ - public $k_video_watch; -} - +<?php + +namespace WellnessLiving\Wl\Video\Watch; + +use WellnessLiving\WlModelAbstract; + +/** + * Saves information about a watched video. + */ +class WatchModel extends WlModelAbstract +{ + /** + * The current time in seconds the user is at in the video. + * + * @post post + * @put post + * @var int + */ + public $i_current_time; + + /** + * The duration in seconds the user has watched the video for. + * + * @put post + * @var int + */ + public $i_watched; + + /** + * The source ID. + * + * @post post + * @var int + * @see WatchSourceSid + */ + public $id_source; + + /** + * The business key. + * + * @post post + * @put post + * @var string + */ + public $k_business; + + /** + * The video string key. + * + * @post post + * @var string + */ + public $k_video; + + /** + * The video watch key. + * + * @post result + * @put post + * @var string + */ + public $k_video_watch; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php b/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php index af29bae7..71e138cb 100644 --- a/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php +++ b/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php @@ -1,35 +1,35 @@ -<?php - -namespace WellnessLiving\Wl\Video\Watch; - -/** - * List sources of the view video. - * - * Last used ID: 4 - */ -class WatchSourceSid -{ - /** - * Video watched from application. - */ - const APP = 1; - - /** - * Video watched from direct URL. - */ - const DIRECT_URL = 2; - - /** - * Video watched from frontend. - */ - const FRONTEND = 3; - - /** - * Source of watched is undefined. - * - * Used for old videos. - */ - const UNDEFINED = 4; -} - +<?php + +namespace WellnessLiving\Wl\Video\Watch; + +/** + * List sources of the view video. + * + * Last used ID: 4 + */ +class WatchSourceSid +{ + /** + * Video watched from application. + */ + const APP = 1; + + /** + * Video watched from direct URL. + */ + const DIRECT_URL = 2; + + /** + * Video watched from frontend. + */ + const FRONTEND = 3; + + /** + * Source of watched is undefined. + * + * Used for old videos. + */ + const UNDEFINED = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Virtual/VirtualProviderSid.php b/WellnessLiving/Wl/Virtual/VirtualProviderSid.php index a7192fc2..f590d2f4 100644 --- a/WellnessLiving/Wl/Virtual/VirtualProviderSid.php +++ b/WellnessLiving/Wl/Virtual/VirtualProviderSid.php @@ -1,23 +1,23 @@ -<?php - -namespace WellnessLiving\Wl\Virtual; - -/** - * List of possible value of virtual integrations. - * - * Last used ID: 2. - */ -class VirtualProviderSid -{ - /** - * Virtual integration non implemented. - */ - const NON_INTEGRATED = 2; - - /** - * Virtual Zoom service integration. - */ - const ZOOM = 1; -} - +<?php + +namespace WellnessLiving\Wl\Virtual; + +/** + * List of possible value of virtual integrations. + * + * Last used ID: 2. + */ +class VirtualProviderSid +{ + /** + * Virtual integration non implemented. + */ + const NON_INTEGRATED = 2; + + /** + * Virtual Zoom service integration. + */ + const ZOOM = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Visit/VisitStatusModel.php b/WellnessLiving/Wl/Visit/VisitStatusModel.php index 8bc6ec60..66ec5270 100644 --- a/WellnessLiving/Wl/Visit/VisitStatusModel.php +++ b/WellnessLiving/Wl/Visit/VisitStatusModel.php @@ -1,240 +1,240 @@ -<?php - -namespace WellnessLiving\Wl\Visit; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; - -/** - * Views or changes the visit status. - */ -class VisitStatusModel extends WlModelAbstract -{ - /** - * An array of service resources. - * - * The key refers to the `k_resource_type`. - * The value is an array with the following key: `k_resource`. - * The array element contains a nested array with `i_index` and `i_quantity`. - * - * This will be empty if not set yet. - * - * @get result - * @var ?array[] - */ - public $a_resource = []; - - /** - * The list of keys of staff members that conduct the class. - * - * @get result - * @var string[] - */ - public $a_staff = []; - - /** - * The visit date and time in UTC and in MySQL format. - * - * @get result - * @var string - */ - public $dt_date = ''; - - /** - * The visit date in the location's time zone and in MySQL format. - * - * @get result - * @var string - */ - public $dtl_date = ''; - - /** - * The service duration (in minutes). - * - * @get result - * @var int - */ - public $i_duration = 0; - - /** - * The client's place in a waiting list. - * - * @get result - * @var int - */ - public $i_wait_spot = 0; - - /** - * The source of the visit or the visit change. - * One of the {@link ModeSid} constants. - * If you're unsure about the value to use, keep the default value. - * - * @get result - * @post post - * @var int - */ - public $id_mode = 0; - - /** - * The status of the visit. - * One of the {@link WlVisitSid} constants. - * - * @get result - * @post post - * @var string - */ - public $id_visit = '0'; - - /** - * The status of the visit from which the transition is made. One of the {@link WlVisitSid} constants. - * - * If the visit status is passed, it will be used to check with the actual status in the database. - * If `null`, the visit hasn't yet passed. - * - * If the status of this parameter is out of date, the API call will refresh it. - * - * @post post,error - * @var ?string - */ - public $id_visit_from = null; - - /** - * The staff decision to charge (or not charge) a penalty when a client meets late cancel/no-show requirements. - * - * If `true`, a late cancel fee should be charged. Otherwise, this will be `false`. - * - * @post get - * @var bool - */ - public $is_charge_fee = true; - - /** - * Determines whether the visit is from an event. - * - * @get result - * @var bool - */ - public $is_event = false; - - /** - * The business key. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * The class key. - * - * @get result - * @var string - */ - public $k_class = ''; - - /** - * The class period key. - * - * @get result - * @var string - */ - public $k_class_period = ''; - - /** - * The email pattern key. - * If `null`, the live email pattern shouldn't be used. - * - * @post get - * @var string|null - */ - public $k_mail_pattern_live = null; - - /** - * The service key. - * If 'null', the visit isn't from an appointment. - * - * @get result - * @var ?string - */ - public $k_service = null; - - /** - * The key of the staff providing the appointment. - * If `null`, the visit isn't from an appointment (for example, the visit is from an asset). - * - * @get result - * @var string|null - */ - public $k_staff = null; - - /** - * The time zone key. - * - * `null` if not set then use default timezone client. - * - * @get get - * @var null|string - */ - public $k_timezone = null; - - /** - * The visit key. - * - * @get get - * @post get - * @var string - */ - public $k_visit = '0'; - - /** - * The .ics file for adding the service to a phone calendar. - * - * @get result - * @var string - */ - public $s_calendar_file_content = ''; - - /** - * The text abbreviation of the time zone. - * - * @get result - * @var string - */ - public $text_abbr_timezone = ''; - - /** - * The full address of the location for the visit (not the name of the location). - * - * @get result - * @var string - */ - public $text_location = ''; - - /** - * The reason the visit was canceled. - * - * @post get - * @var string - */ - public $text_reason = ''; - - /** - * The full name of the staff member who conducts this visit. - * If there are several staff members conducting the visit, their names will all be listed and separated by commas. - * - * @get result - * @var string - */ - public $text_staff = ''; - - /** - * The service title. - * - * @get result - * @var string - */ - public $text_title = ''; -} - +<?php + +namespace WellnessLiving\Wl\Visit; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * Views or changes the visit status. + */ +class VisitStatusModel extends WlModelAbstract +{ + /** + * An array of service resources. + * + * The key refers to the `k_resource_type`. + * The value is an array with the following key: `k_resource`. + * The array element contains a nested array with `i_index` and `i_quantity`. + * + * This will be empty if not set yet. + * + * @get result + * @var ?array[] + */ + public $a_resource = []; + + /** + * The list of keys of staff members that conduct the class. + * + * @get result + * @var string[] + */ + public $a_staff = []; + + /** + * The visit date and time in UTC and in MySQL format. + * + * @get result + * @var string + */ + public $dt_date = ''; + + /** + * The visit date in the location's time zone and in MySQL format. + * + * @get result + * @var string + */ + public $dtl_date = ''; + + /** + * The service duration (in minutes). + * + * @get result + * @var int + */ + public $i_duration = 0; + + /** + * The client's place in a waiting list. + * + * @get result + * @var int + */ + public $i_wait_spot = 0; + + /** + * The source of the visit or the visit change. + * One of the {@link ModeSid} constants. + * If you're unsure about the value to use, keep the default value. + * + * @get result + * @post post + * @var int + */ + public $id_mode = 0; + + /** + * The status of the visit. + * One of the {@link WlVisitSid} constants. + * + * @get result + * @post post + * @var string + */ + public $id_visit = '0'; + + /** + * The status of the visit from which the transition is made. One of the {@link WlVisitSid} constants. + * + * If the visit status is passed, it will be used to check with the actual status in the database. + * If `null`, the visit hasn't yet passed. + * + * If the status of this parameter is out of date, the API call will refresh it. + * + * @post post,error + * @var ?string + */ + public $id_visit_from = null; + + /** + * The staff decision to charge (or not charge) a penalty when a client meets late cancel/no-show requirements. + * + * If `true`, a late cancel fee should be charged. Otherwise, this will be `false`. + * + * @post get + * @var bool + */ + public $is_charge_fee = true; + + /** + * Determines whether the visit is from an event. + * + * @get result + * @var bool + */ + public $is_event = false; + + /** + * The business key. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The class key. + * + * @get result + * @var string + */ + public $k_class = ''; + + /** + * The class period key. + * + * @get result + * @var string + */ + public $k_class_period = ''; + + /** + * The email pattern key. + * If `null`, the live email pattern shouldn't be used. + * + * @post get + * @var string|null + */ + public $k_mail_pattern_live = null; + + /** + * The service key. + * If 'null', the visit isn't from an appointment. + * + * @get result + * @var ?string + */ + public $k_service = null; + + /** + * The key of the staff providing the appointment. + * If `null`, the visit isn't from an appointment (for example, the visit is from an asset). + * + * @get result + * @var string|null + */ + public $k_staff = null; + + /** + * The time zone key. + * + * `null` if not set then use default timezone client. + * + * @get get + * @var null|string + */ + public $k_timezone = null; + + /** + * The visit key. + * + * @get get + * @post get + * @var string + */ + public $k_visit = '0'; + + /** + * The .ics file for adding the service to a phone calendar. + * + * @get result + * @var string + */ + public $s_calendar_file_content = ''; + + /** + * The text abbreviation of the time zone. + * + * @get result + * @var string + */ + public $text_abbr_timezone = ''; + + /** + * The full address of the location for the visit (not the name of the location). + * + * @get result + * @var string + */ + public $text_location = ''; + + /** + * The reason the visit was canceled. + * + * @post get + * @var string + */ + public $text_reason = ''; + + /** + * The full name of the staff member who conducts this visit. + * If there are several staff members conducting the visit, their names will all be listed and separated by commas. + * + * @get result + * @var string + */ + public $text_staff = ''; + + /** + * The service title. + * + * @get result + * @var string + */ + public $text_title = ''; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlActivationSid.php b/WellnessLiving/Wl/WlActivationSid.php index d53a69bf..ea4daea4 100644 --- a/WellnessLiving/Wl/WlActivationSid.php +++ b/WellnessLiving/Wl/WlActivationSid.php @@ -1,50 +1,50 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Promotion or package date start rule. - * - * sale - date start is a date of the sale. - * redeem - date start is a date of the first client visit by this promotion or package. - * fixed - date start is fixed by promotion or package settings and saved in DB. - */ -abstract class WlActivationSid -{ - /** - * Number of a day of the month or of the week. - */ - const DAY = 7; - - /** - * Custom date. - */ - const FIXED = 3; - - /** - * The first day of month. - */ - const MONTH_FIRST = 4; - - /** - * The 15th day of the month. - */ - const MONTH_HALF = 6; - - /** - * The last day of the month. - */ - const MONTH_LAST = 5; - - /** - * Date of the sale. - */ - const SALE = 1; - - /** - * Date of the first visit. - */ - const VISIT = 2; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Promotion or package date start rule. + * + * sale - date start is a date of the sale. + * redeem - date start is a date of the first client visit by this promotion or package. + * fixed - date start is fixed by promotion or package settings and saved in DB. + */ +abstract class WlActivationSid +{ + /** + * Number of a day of the month or of the week. + */ + const DAY = 7; + + /** + * Custom date. + */ + const FIXED = 3; + + /** + * The first day of month. + */ + const MONTH_FIRST = 4; + + /** + * The 15th day of the month. + */ + const MONTH_HALF = 6; + + /** + * The last day of the month. + */ + const MONTH_LAST = 5; + + /** + * Date of the sale. + */ + const SALE = 1; + + /** + * Date of the first visit. + */ + const VISIT = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlAgeSid.php b/WellnessLiving/Wl/WlAgeSid.php index 41d62c9e..00c057ac 100644 --- a/WellnessLiving/Wl/WlAgeSid.php +++ b/WellnessLiving/Wl/WlAgeSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * List of ages, which are suitable for visiting this location. - */ -abstract class WlAgeSid -{ - /** - * An adult. - */ - const ADULT = 2; - - /** - * A kid. - */ - const KID = 1; - - /** - * Natal. - */ - const NATAL = 4; - - /** - * Senior. - */ - const SENIOR = 3; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * List of ages, which are suitable for visiting this location. + */ +abstract class WlAgeSid +{ + /** + * An adult. + */ + const ADULT = 2; + + /** + * A kid. + */ + const KID = 1; + + /** + * Natal. + */ + const NATAL = 4; + + /** + * Senior. + */ + const SENIOR = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlClassModifyActionSid.php b/WellnessLiving/Wl/WlClassModifyActionSid.php index 342b65ca..aa6a2354 100644 --- a/WellnessLiving/Wl/WlClassModifyActionSid.php +++ b/WellnessLiving/Wl/WlClassModifyActionSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * The list of possible actions for class modify wizard. - */ -abstract class WlClassModifyActionSid -{ - /** - * Cancel class schedule. - */ - const CANCEL = 2; - - /** - * Change class schedule. - */ - const EDIT = 1; - - /** - * Restore cancelled schedule. - */ - const RESTORE = 3; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * The list of possible actions for class modify wizard. + */ +abstract class WlClassModifyActionSid +{ + /** + * Cancel class schedule. + */ + const CANCEL = 2; + + /** + * Change class schedule. + */ + const EDIT = 1; + + /** + * Restore cancelled schedule. + */ + const RESTORE = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlClassModifyModeSid.php b/WellnessLiving/Wl/WlClassModifyModeSid.php index b82f5f7b..a2d660c1 100644 --- a/WellnessLiving/Wl/WlClassModifyModeSid.php +++ b/WellnessLiving/Wl/WlClassModifyModeSid.php @@ -1,31 +1,31 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * The list of possible modify mode for class modify wizard. - */ -abstract class WlClassModifyModeSid -{ - /** - * Edit class schedule - */ - const FULL = 1; - - /** - * Edit instructor in class schedule - */ - const INSTRUCTOR = 2; - - /** - * Asset working hours - */ - const RESOURCE_PERIOD = 4; - - /** - * Staff working hours - */ - const STAFF_PERIOD = 3; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * The list of possible modify mode for class modify wizard. + */ +abstract class WlClassModifyModeSid +{ + /** + * Edit class schedule + */ + const FULL = 1; + + /** + * Edit instructor in class schedule + */ + const INSTRUCTOR = 2; + + /** + * Asset working hours + */ + const RESOURCE_PERIOD = 4; + + /** + * Staff working hours + */ + const STAFF_PERIOD = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlClassModifyStepSid.php b/WellnessLiving/Wl/WlClassModifyStepSid.php index 99a91eb1..6bef3a5a 100644 --- a/WellnessLiving/Wl/WlClassModifyStepSid.php +++ b/WellnessLiving/Wl/WlClassModifyStepSid.php @@ -1,37 +1,37 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Steps to be passed through to change or cancel class schedule. - */ -abstract class WlClassModifyStepSid -{ - /** - * List of the impacted clients, configuration of possible notifications. - * Can be skipped if there are no impacted clients. - */ - const CLIENT = 4; - - /** - * List of changes, count of impacted classes and clients, confirmation. - */ - const CONFIRM = 5; - - /** - * Config schedule changes. Available on for edit action. - */ - const FORM = 3; - - /** - * Select which classes within chosen date range will be modified. - */ - const ITEM = 2; - - /** - * Choose when the action will be applied. - */ - const PERIOD = 1; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Steps to be passed through to change or cancel class schedule. + */ +abstract class WlClassModifyStepSid +{ + /** + * List of the impacted clients, configuration of possible notifications. + * Can be skipped if there are no impacted clients. + */ + const CLIENT = 4; + + /** + * List of changes, count of impacted classes and clients, confirmation. + */ + const CONFIRM = 5; + + /** + * Config schedule changes. Available on for edit action. + */ + const FORM = 3; + + /** + * Select which classes within chosen date range will be modified. + */ + const ITEM = 2; + + /** + * Choose when the action will be applied. + */ + const PERIOD = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlFacilitySid.php b/WellnessLiving/Wl/WlFacilitySid.php index 98ac1c6a..76813a56 100644 --- a/WellnessLiving/Wl/WlFacilitySid.php +++ b/WellnessLiving/Wl/WlFacilitySid.php @@ -1,88 +1,88 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Type of facilities available at a location. - * - * Last ID: 15. - */ -abstract class WlFacilitySid -{ - /** - * The location has basketball courts. - */ - const BASKETBALL_COURTS = 8; - - /** - * The location has change rooms. - */ - const CHANGE_ROOM = 1; - - /** - * The location has childcare services. - */ - const CHILDCARE = 14; - - /** - * The location has a juice bar. - */ - const JUICE_BAR = 15; - - /** - * The location has lockers available for clients. - */ - const LOCKERS = 2; - - /** - * The location has a pro-shop. - */ - const PRO_SHOP = 12; - - /** - * The location has racquetball courts. - */ - const RACQUETBALL_COURTS = 7; - - /** - * The location has saunas. - */ - const SAUNA = 10; - - /** - * The location has showers. - */ - const SHOWERS = 4; - - /** - * The location has a spa. - */ - const SPA = 9; - - /** - * The location has squash courts. - */ - const SQUASH_COURTS = 6; - - /** - * The location has a swimming pool. - */ - const SWIMMING_POOL = 11; - - /** - * This location provides towel service. - */ - const TOWEL_SERVICE = 5; - - /** - * This location has washrooms for clients. - */ - const WASHROOMS = 3; - - /** - * This location has a woman's only area. - */ - const WOMAN_ONLY_AREA = 13; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Type of facilities available at a location. + * + * Last ID: 15. + */ +abstract class WlFacilitySid +{ + /** + * The location has basketball courts. + */ + const BASKETBALL_COURTS = 8; + + /** + * The location has change rooms. + */ + const CHANGE_ROOM = 1; + + /** + * The location has childcare services. + */ + const CHILDCARE = 14; + + /** + * The location has a juice bar. + */ + const JUICE_BAR = 15; + + /** + * The location has lockers available for clients. + */ + const LOCKERS = 2; + + /** + * The location has a pro-shop. + */ + const PRO_SHOP = 12; + + /** + * The location has racquetball courts. + */ + const RACQUETBALL_COURTS = 7; + + /** + * The location has saunas. + */ + const SAUNA = 10; + + /** + * The location has showers. + */ + const SHOWERS = 4; + + /** + * The location has a spa. + */ + const SPA = 9; + + /** + * The location has squash courts. + */ + const SQUASH_COURTS = 6; + + /** + * The location has a swimming pool. + */ + const SWIMMING_POOL = 11; + + /** + * This location provides towel service. + */ + const TOWEL_SERVICE = 5; + + /** + * This location has washrooms for clients. + */ + const WASHROOMS = 3; + + /** + * This location has a woman's only area. + */ + const WOMAN_ONLY_AREA = 13; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlHomeTourSid.php b/WellnessLiving/Wl/WlHomeTourSid.php index 4365e268..c76b23e1 100644 --- a/WellnessLiving/Wl/WlHomeTourSid.php +++ b/WellnessLiving/Wl/WlHomeTourSid.php @@ -1,138 +1,138 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * List of different types for landing pages based on business types. - * - * Last ID: 26 - */ -abstract class WlHomeTourSid -{ - /** - * Boot camps. - */ - const BOOTCAMP = 24; - - /** - * Boxing studios. - */ - const BOXING = 25; - - /** - * Special industry free landing page with only contact us form. - */ - const BUSINESS_MANAGEMENT = 21; - - /** - * Health clubs. - */ - const CLUB = 10; - - /** - * Affiliate Gym. - */ - const CROSSFIT = 9; - - /** - * Dance studios. - */ - const DANCE = 11; - - /** - * Dental studios. - */ - const DENTAL = 14; - - /** - * Fitness gyms. - */ - const FITNESS = 6; - - /** - * Fitness gyms. - */ - const GYM = 22; - - /** - * Health clubs. - */ - const HEALTH_CLUB = 23; - - /** - * Martial arts. - */ - const MARTIAL_ART = 8; - - /** - * Massage salons. - */ - const MASSAGE = 4; - - /** - * Alternative medical offices. - */ - const MEDICINE_ALTERNATIVE = 15; - - /** - * Hospitals and private doctors. - */ - const MEDICINE_TRADITIONAL = 13; - - /** - * Music schools. - */ - const MUSIC = 19; - - /** - * Personal trainings. - */ - const PERSONAL_TRAINING = 5; - - /** - * Pilates. - */ - const PILATES = 7; - - /** - * Pole dancing studios. - */ - const POLE_DANCING = 18; - - /** - * Salons. - */ - const SALON = 3; - - /** - * Spa salons. - */ - const SPA = 2; - - /** - * Spinning. - */ - const SPINNING = 17; - - /** - * Tours and events. - */ - const TOUR = 12; - - /** - * Wellness Centers - */ - const WELLNESS_CENTER = 20; - - /** - * Yoga. - */ - const YOGA = 1; - - /** - * Zumba. - */ - const ZUMBA = 27; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * List of different types for landing pages based on business types. + * + * Last ID: 26 + */ +abstract class WlHomeTourSid +{ + /** + * Boot camps. + */ + const BOOTCAMP = 24; + + /** + * Boxing studios. + */ + const BOXING = 25; + + /** + * Special industry free landing page with only contact us form. + */ + const BUSINESS_MANAGEMENT = 21; + + /** + * Health clubs. + */ + const CLUB = 10; + + /** + * Affiliate Gym. + */ + const CROSSFIT = 9; + + /** + * Dance studios. + */ + const DANCE = 11; + + /** + * Dental studios. + */ + const DENTAL = 14; + + /** + * Fitness gyms. + */ + const FITNESS = 6; + + /** + * Fitness gyms. + */ + const GYM = 22; + + /** + * Health clubs. + */ + const HEALTH_CLUB = 23; + + /** + * Martial arts. + */ + const MARTIAL_ART = 8; + + /** + * Massage salons. + */ + const MASSAGE = 4; + + /** + * Alternative medical offices. + */ + const MEDICINE_ALTERNATIVE = 15; + + /** + * Hospitals and private doctors. + */ + const MEDICINE_TRADITIONAL = 13; + + /** + * Music schools. + */ + const MUSIC = 19; + + /** + * Personal trainings. + */ + const PERSONAL_TRAINING = 5; + + /** + * Pilates. + */ + const PILATES = 7; + + /** + * Pole dancing studios. + */ + const POLE_DANCING = 18; + + /** + * Salons. + */ + const SALON = 3; + + /** + * Spa salons. + */ + const SPA = 2; + + /** + * Spinning. + */ + const SPINNING = 17; + + /** + * Tours and events. + */ + const TOUR = 12; + + /** + * Wellness Centers + */ + const WELLNESS_CENTER = 20; + + /** + * Yoga. + */ + const YOGA = 1; + + /** + * Zumba. + */ + const ZUMBA = 27; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlPayProcessorSid.php b/WellnessLiving/Wl/WlPayProcessorSid.php index c7744c9c..62ec2d34 100644 --- a/WellnessLiving/Wl/WlPayProcessorSid.php +++ b/WellnessLiving/Wl/WlPayProcessorSid.php @@ -1,46 +1,46 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * A list of payment gateways or processors. - */ -abstract class WlPayProcessorSid -{ - /** - * Payment gateway for `cybersource.com`. - */ - const CYBER_SOURCE = 11; - - /** - * Payment gateway for Direct Connect. - */ - const DIRECT_CONNECT = 9; - - /** - * Payment gateway for Lucy. - */ - const LUCY = 2; - - /** - * Payment gateway for Netbanx. - */ - const NETBANX = 1; - - /** - * Payment gateway for NMI. - */ - const NMI = 6; - - /** - * Payment gateway for {@link http://www.paychoice.com.au/ Paychoice}. - */ - const PAYCHOICE = 7; - - /** - * Payment gateway for `stripe.com`. - */ - const STRIPE_COM = 10; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * A list of payment gateways or processors. + */ +abstract class WlPayProcessorSid +{ + /** + * Payment gateway for `cybersource.com`. + */ + const CYBER_SOURCE = 11; + + /** + * Payment gateway for Direct Connect. + */ + const DIRECT_CONNECT = 9; + + /** + * Payment gateway for Lucy. + */ + const LUCY = 2; + + /** + * Payment gateway for Netbanx. + */ + const NETBANX = 1; + + /** + * Payment gateway for NMI. + */ + const NMI = 6; + + /** + * Payment gateway for {@link http://www.paychoice.com.au/ Paychoice}. + */ + const PAYCHOICE = 7; + + /** + * Payment gateway for `stripe.com`. + */ + const STRIPE_COM = 10; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlPrivilegeRoleSid.php b/WellnessLiving/Wl/WlPrivilegeRoleSid.php index fabcece2..44a49185 100644 --- a/WellnessLiving/Wl/WlPrivilegeRoleSid.php +++ b/WellnessLiving/Wl/WlPrivilegeRoleSid.php @@ -1,41 +1,41 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * String identifiers for rs.privilege.role. - * - * Do not reorder class constants. It is important during selecting all system roles and custom roles from database. - */ -abstract class WlPrivilegeRoleSid -{ - /** - * Staff role business owner. - * - * @title Business Owner - */ - const BUSINESS_OWNER = 1; - - /** - * Staff role front desk. - * - * @title Front Desk - */ - const FRONT_DESK = 4; - - /** - * Staff role instructor. - * - * @title Instructor - */ - const INSTRUCTOR = 3; - - /** - * Staff role location owner. - * - * @title Manager - */ - const LOCATION_OWNER = 2; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * String identifiers for rs.privilege.role. + * + * Do not reorder class constants. It is important during selecting all system roles and custom roles from database. + */ +abstract class WlPrivilegeRoleSid +{ + /** + * Staff role business owner. + * + * @title Business Owner + */ + const BUSINESS_OWNER = 1; + + /** + * Staff role front desk. + * + * @title Front Desk + */ + const FRONT_DESK = 4; + + /** + * Staff role instructor. + * + * @title Instructor + */ + const INSTRUCTOR = 3; + + /** + * Staff role location owner. + * + * @title Manager + */ + const LOCATION_OWNER = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlPrivilegeSid.php b/WellnessLiving/Wl/WlPrivilegeSid.php index 50111b90..f29d9df8 100644 --- a/WellnessLiving/Wl/WlPrivilegeSid.php +++ b/WellnessLiving/Wl/WlPrivilegeSid.php @@ -1,941 +1,941 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Wellnessliving-wide privileges. - * - * Last Used ID: 200. - */ -abstract class WlPrivilegeSid -{ - /** - * View banner alert message on dashboard. - */ - const ALERT_MESSAGE = 142; - - /** - * Unpaid appointment booking. - */ - const APPOINTMENT_BOOK_UNPAID = 167; - - /** - * Edit appointment at my location. - */ - const APPOINTMENT_EDIT = 50; - - /** - * Change/View all appointment. - */ - const APPOINTMENT_FOREIGN = 49; - - /** - * Edit appointment schedule. - * - * @deprecated Use instead {@link WlPrivilegeSid::SCHEDULE_FUTURE_APPOINTMENT} and {@link WlPrivilegeSid::SCHEDULE_PAST_APPOINTMENT}. - */ - const APPOINTMENT_PERIOD = 51; - - /** - * View appointment. - */ - const APPOINTMENT_VIEW = 52; - - /** - * Ability to book clients outside of their current paid period. - */ - const BOOK_OUTSIDE_PAID_PERIOD = 141; - - /** - * Ability to book clients over capacity during or after the services have been scheduled. - */ - const BOOK_OVER_CAPACITY = 154; - - /** - * Ability to book assets which are booked for another service or set as unavailable. - */ - const BOOK_UNAVAILABLE_ASSETS = 138; - - /** - * Ability to schedule staff members who are booked for another service or set as unavailable. - */ - const BOOK_UNAVAILABLE_STAFF = 137; - - /** - * Manage business. - */ - const BUSINESS_EDIT = 1; - - /** - * Change business email settings. - */ - const BUSINESS_EMAIL = 117; - - /** - * Change business policies. - */ - const BUSINESS_POLICY = 120; - - /** - * Change available services in business. - */ - const BUSINESS_SERVICE = 118; - - /** - * Change services privileges apply. - */ - const BUSINESS_SERVICE_APPLY = 145; - - /** - * Change services privileges apply (third button requires second privilege). - */ - const BUSINESS_SERVICE_APPLY_CUSTOM = 165; - - /** - * Change Design Settings. - */ - const BUSINESS_SKIN = 19; - - /** - * Change business SMS settings. - */ - const BUSINESS_SMS = 169; - - /** - * Change business URLs. - */ - const BUSINESS_URL = 119; - - /** - * Change business online waiver. - */ - const BUSINESS_WAIVER = 121; - - /** - * Perform Cash Out. - */ - const CASH_OUT = 82; - - /** - * Edit deposits while perform Cash Out. - */ - const CASH_OUT_DEPOSIT = 83; - - /** - * Perform editing of Cash Out. - */ - const CASH_OUT_EDIT = 84; - - /** - * Manage clients' Credit Cards. - */ - const CC_MANAGE = 35; - - /** - * Edit class schedule. - */ - const CLASS_ATTENDANCE = 48; - - /** - * Add clients to the attendance list of a service, even if they do not have an applicable purchase option. - */ - const CLASS_BOOK_UNPAID = 79; - - /** - * Edit classes at my location. - */ - const CLASS_EDIT = 3; - - /** - * Change/View all classes. - */ - const CLASS_FOREIGN = 17; - - /** - * Lock search bar on class attendance list. - */ - const CLASS_LOCK_SEARCH = 152; - - /** - * Edit class schedule. - * - * @deprecated Use instead {@link WlPrivilegeSid::SCHEDULE_FUTURE_CLASS} and {@link WlPrivilegeSid::SCHEDULE_PAST_CLASS}. - */ - const CLASS_PERIOD = 5; - - /** - * Add and view client's contact logs. - */ - const CONTACT_LOG_MANAGE = 135; - - /** - * Add, remove, and edit gift cards. - */ - const COUPON = 31; - - /** - * Delete shared dashboard. - */ - const DASHBOARD_DELETE = 131; - - /** - * Edit shared dashboard. - */ - const DASHBOARD_EDIT = 130; - - /** - * Share dashboard. - */ - const DASHBOARD_SHARE = 129; - - /** - * Add, remove and edit discount codes. - */ - const DISCOUNT_CODE = 76; - - /** - * Configure Constant Contact settings. - */ - const EML_CONSTANT_CONTACT = 123; - - /** - * Configure MailChimp settings. - */ - const EML_MAILCHIMP = 122; - - /** - * Edit class schedule. - */ - const ENROLLMENT_ATTENDANCE = 55; - - /** - * Add clients to the attendance list of a service, even if they do not have an applicable purchase option. - */ - const ENROLLMENT_BOOK_UNPAID = 80; - - /** - * Edit classes at my location. - */ - const ENROLLMENT_EDIT = 54; - - /** - * Change/View all classes. - */ - const ENROLLMENT_FOREIGN = 53; - - /** - * Lock search bar on enrollment attendance list. - */ - const ENROLLMENT_LOCK_SEARCH = 153; - - /** - * Allows to manage leaderboard in the `FitBuilder` addon. - */ - const FITBUILDER_LEADERBOARD = 190; - - /** - * Allows to subscribe to `FitBuilder` subscription addon. - */ - const FITBUILDER_SUBSCRIPTION = 189; - - /** - * Allows to assign workouts from the `FitBuilder` addon to different services. - */ - const FITBUILDER_WORKOUT_ASSIGN = 188; - - /** - * Allows to add, edit and remove workouts in the `FitBuilder` addon. - */ - const FITBUILDER_WORKOUT_MANAGE = 187; - - /** - * Allow Staff members to view/complete forms for clients from any location. - */ - const FORM_ALL = 177; - - /** - * Amend apply to privilege. - * - * @internal Don't use this privilege directly. - */ - const FORM_AMEND_ACCESS = 198; - - /** - * Allow staff members to make modifications to completed forms on the client profile. - */ - const FORM_AMEND_COMPLETED = 194; - - /** - * Allow staff members to make modifications to completed forms on the client profile for all clients. - */ - const FORM_AMEND_COMPLETED_ALL = 195; - - /** - * Allow staff members to make modifications to completed forms on the client profile for clients at staff location. - */ - const FORM_AMEND_COMPLETED_LOCATION = 196; - - /** - * Allow staff members to make modifications to completed forms on the client profile for self clients. - */ - const FORM_AMEND_COMPLETED_MY_CLIENTS = 197; - - /** - * Allow staff members to fill in forms for clients. - */ - const FORM_COMPLETE = 178; - - /** - * Allow staff members to add, edit and delete forms. - */ - const FORM_MANAGE = 160; - - /** - * Allow Staff members to view/complete forms for clients that belong to them through service offerings. - */ - const FORM_MY_CLIENTS = 175; - - /** - * Allow Staff members to view/complete forms for clients that belong to the location that they are selected to work at. - */ - const FORM_MY_LOCATION = 176; - - /** - * Allow staff members to delete forms from the client’s profile. - */ - const FORM_RESPONSE_DELETE = 199; - - /** - * Allow staff members to view form responses. - */ - const FORM_VIEW_RESPONSE = 161; - - /** - * Add holidays. - */ - const HOLIDAY = 7; - - /** - * Set up and modify Autymate integration. - */ - const INTEGRATION_AUTYMATE = 163; - - /** - * Set up and modify Brivo integration. - */ - const INTEGRATION_BRIVO = 179; - - /** - * Enroll into and manage the WellnessLiving Achieve App. These settings are located under Setup > Achieve Client App. - */ - const INTERFACE_ACHIEVE_APP = 87; - - /** - * Modify the look and functionality business’s widgets. These settings are located within Setup > Widgets. - */ - const INTERFACE_WIDGET_EDIT = 39; - - /** - * View the look and functionality business’s widgets. These settings are located within Setup > Widgets. - */ - const INTERFACE_WIDGET_VIEW = 110; - - /** - * Permission to Receive or Adjust quantity from the Inventory On Hand Report. - */ - const INVENTORY_UPDATE = 157; - - /** - * Manage my locations except General information. - */ - const LOCATION_EDIT = 9; - - /** - * Manage tab Location -> General. - */ - const LOCATION_EDIT_GENERAL = 126; - - /** - * Manage all locations. - */ - const LOCATION_FOREIGN = 8; - - /** - * Manage franchise locations. - */ - const LOCATION_FRANCHISE = 109; - - /** - * Add client notes and warnings. - */ - const LOGIN_NOTE = 11; - - /** - * Flag clients. - */ - const LOGIN_NOTE_RESTRICT = 12; - - /** - * Logs view. - */ - const LOG_VIEW = 101; - - /** - * Access to send mails and sms to clients. - */ - const MAIL_SEND = 75; - - /** - * Manage announcements. - */ - const MANAGE_ANNOUNCEMENT = 200; - - /** - * Only the staff roles with this permission provided are able to edit/add/delete the business billing information. - */ - const MANAGE_BILLING_INFORMATION = 134; - - /** - * Manage hardware readers. - */ - const MANAGE_READERS = 181; - - /** - * Enable, disable, and edit daily deals. - */ - const MARKETING_DD = 43; - - /** - * Settings pertaining to all automated marketing to clients. - */ - const MARKETING_EMAIL = 42; - - /** - * Enabling this permission for a role will enable making and receiving calls in Message Center. - */ - const MESSAGES_CALLS = 173; - - /** - * Enabling this permission for a role will enable the role to use the ‘Assign to’ field and assign a conversation to a staff member. - */ - const MESSAGES_CONVERSATIONS = 174; - - /** - * Enabling this permission for a role will grant access to the inbox tab including viewing and sending messages in the Message Center. - */ - const MESSAGES_MANAGE = 170; - - /** - * Enabling this permission for a role will grant access to the Settings tab including modifying phone number(s) for the business. - */ - const MESSAGES_SETTINGS = 171; - - /** - * Enabling this permission for a role will grant access and changes to the Subscription Plans tab. - */ - const MESSAGES_SUBSCRIPTION = 172; - - /** - * Receive new appointment booking / request notification. - */ - const NOTIFICATION_APPOINTMENT_BOOK = 60; - - /** - * Receive appointment cancellation notification. - */ - const NOTIFICATION_APPOINTMENT_CANCEL = 61; - - /** - * Receive appointment change notification. - */ - const NOTIFICATION_APPOINTMENT_CHANGE = 59; - - /** - * Receive class attendance list. - */ - const NOTIFICATION_CLASS_ATTENDANCE = 56; - - /** - * Receive client class booking notification. - */ - const NOTIFICATION_CLASS_BOOK = 57; - - /** - * Receive client class cancelation notification. - */ - const NOTIFICATION_CLASS_CANCEL = 58; - - /** - * Receive event attendance list. - */ - const NOTIFICATION_EVENT_ATTENDANCE = 62; - - /** - * Receive client event booking notification. - */ - const NOTIFICATION_EVENT_BOOK = 63; - - /** - * Receive client event cancellation notification. - */ - const NOTIFICATION_EVENT_CANCEL = 64; - - /** - * Permissions apply to all appointment schedules. - */ - const NOTIFICATION_FOREIGN = 65; - - /** - * Receive new lead capture widget notification. - */ - const NOTIFICATION_LEAD_CAPTURE = 159; - - /** - * Staff with this role will receive emails about reward prizes. - */ - const NOTIFICATION_PRIZE_REDEMPTION = 90; - - /** - * Staff with this role will receive the inventory mails. - */ - const NOTIFICATION_PRODUCT_INVENTORY = 77; - - /** - * Receive new quiz notification form staff. - */ - const NOTIFICATION_QUIZ = 162; - - /** - * Staff with this role will receive customer review notifications. - */ - const NOTIFICATION_REVIEW = 66; - - /** - * Staff with this role will receive the sale receipts mails. - */ - const NOTIFICATION_SALE_STAFF = 136; - - /** - * Override late cancel and no show fees. - */ - const OVERRIDE_FEE = 164; - - /** - * Manage partner program. - */ - const PARTNER_PROGRAM_MANAGE = 94; - - /** - * Access to Payment Processing. - */ - const PAYMENT_PROCESSING = 166; - - /** - * Permission to perform Physical Inventory Count. - */ - const PHYSICAL_INVENTORY_COUNT = 156; - - /** - * Staff member with this role will be able to send postcards. - */ - const POSTCARD_SEND = 88; - - /** - * Delete shared power searches. - */ - const POWER_SEARCH_DELETE = 106; - - /** - * Edit shared power searches. - */ - const POWER_SEARCH_EDIT = 105; - - /** - * Share power searches with other staff members. - */ - const POWER_SEARCH_SHARE = 107; - - /** - * Ability to request subscription plan for custom website. - */ - const PRESENCE = 149; - - /** - * Edit products but not product name and description. - */ - const PRODUCT_DESCRIPTION_EDIT = 113; - - /** - * Add, remove, and edit products in the online store. - */ - const PRODUCT_MANAGE = 34; - - /** - * Manage all clients. - */ - const PROFILE_ALL = 24; - - /** - * This permission allows users to view client details throughout the interface. - */ - const PROFILE_DETAIL = 67; - - /** - * Manage profile client groups (only create, delete and rename a group). - */ - const PROFILE_GROUP_MANAGE = 69; - - /** - * Manage client group members (only members, not a group itself). - */ - const PROFILE_GROUP_MEMBER_MANAGE = 191; - - /** - * Manage clients from my location. - */ - const PROFILE_MY_LOCATION = 86; - - /** - * Manage profile client type. - */ - const PROFILE_TYPE_EDIT = 68; - - /** - * Manage all clients. - */ - const PROFILE_VIEW = 13; - - /** - * Manage progress log. - */ - const PROGRESS_LOG_MANAGE = 102; - - /** - * Edit progress log in profile. - */ - const PROGRESS_LOG_PROFILE = 104; - - /** - * Add, remove, and edit purchase options and packages for services. - */ - const PROMOTION_MANAGE = 25; - - /** - * Allows to edit only base information about purchase option. - */ - const PROMOTION_MANAGE_BASE = 127; - - /** - * Access to edit client purchases (passes and memberships). - */ - const PURCHASE_EDIT = 93; - - /** - * Access to view client purchases (passes and memberships). - */ - const PURCHASE_VIEW = 92; - - /** - * Allow to see alerts. - */ - const RECEIVE_ALERT = 193; - - /** - * Access to view reports for all staff. - * - * If staff has no this privilege then he can view only reports for them self. - */ - const REPORT_ALL = 71; - - /** - * Reports attendance. - */ - const REPORT_ATTENDANCE = 27; - - /** - * Reports client. - */ - const REPORT_CLIENT = 26; - - /** - * Reports with cash closeout information. - */ - const REPORT_CLOSEOUT = 85; - - /** - * Export and print button in reports. - */ - const REPORT_EXPORT_PRINT = 186; - - /** - * Reports with franchise information. - */ - const REPORT_FRANCHISE = 108; - - /** - * Wellness Programs reports. - */ - const REPORT_INSURANCE = 115; - - /** - * Ability to generate, export and import insurance reimbursement files. - */ - const REPORT_INSURANCE_FILE = 155; - - /** - * Reports emails. - */ - const REPORT_MAIL = 30; - - /** - * Reports sales. - */ - const REPORT_SALE = 29; - - /** - * Ability to view purchase report for specific user. - */ - const REPORT_SALE_USER = 125; - - /** - * Reports staff. - */ - const REPORT_STAFF = 28; - - /** - * Manage assets. - */ - const RESOURCE = 37; - - /** - * Unpaid asset booking. - */ - const RESOURCE_BOOK_UNPAID = 168; - - /** - * Mark client reviews as inappropriate and respond to customer comments. - */ - const REVIEW_FLAG = 18; - - /** - * Create contests on the leaderboard. - */ - const REWARD_LEADERBOARD = 44; - - /** - * Rules related to point accumulation. - */ - const REWARD_POINT_MANAGE = 46; - - /** - * Clear the total accumulated points for all clients. - */ - const REWARD_POINT_RESET = 45; - - /** - * Define prizes and the number of points that are required to redeem. - */ - const REWARD_PRIZE = 47; - - /** - * Enable SABA single sign on and create SABA accounts. - */ - const SABA = 116; - - /** - * View canceled classes from the schedule. - */ - const SCHEDULE_CANCELED_CLASS = 139; - - /** - * View canceled classes from the schedule. - */ - const SCHEDULE_CANCELED_ENROLLMENT = 140; - - /** - * Scheduling and editing future sessions of the appointments. - */ - const SCHEDULE_FUTURE_APPOINTMENT = 95; - - /** - * Scheduling sessions of the assets. - */ - const SCHEDULE_FUTURE_ASSETS = 128; - - /** - * Scheduling and editing future sessions of the classes. - */ - const SCHEDULE_FUTURE_CLASS = 96; - - /** - * Scheduling and editing future sessions of the events. - */ - const SCHEDULE_FUTURE_EVENT = 99; - - /** - * Scheduling and editing past sessions of the appointments. - */ - const SCHEDULE_PAST_APPOINTMENT = 97; - - /** - * Scheduling and editing past sessions of the classes. - */ - const SCHEDULE_PAST_CLASS = 98; - - /** - * Scheduling and editing past sessions of the events. - */ - const SCHEDULE_PAST_EVENT = 100; - - /** - * Allows sign service agreement. - */ - const SERVICE_AGREEMENT_SIGN = 133; - - /** - * View, modify and delete shop categories. - */ - const SHOP_CATEGORY = 78; - - /** - * Modify the clock-in and clock-out times for staff members. - */ - const STAFF_CLOCK = 32; - - /** - * Add, remove, and edit staff profiles. - */ - const STAFF_EDIT = 14; - - /** - * Edit own staff profile. - */ - const STAFF_EDIT_OWN = 150; - - /** - * Modify pay rates for products and Purchase Options. - */ - const STAFF_MODIFY_RATES_PRODUCT = 184; - - /** - * Modify pay rates for services. - */ - const STAFF_MODIFY_RATES_SERVICE = 183; - - /** - * Modify the clock-in and clock-out times for your own staff profile. - */ - const STAFF_MY_CLOCK = 192; - - /** - * Add, remove, and edit staff pay rates. - */ - const STAFF_PAY_ALL = 20; - - /** - * Change staff role on the staff edit page. - */ - const STAFF_ROLE_CHANGE = 72; - - /** - * Edit staff role on the staff role page. - */ - const STAFF_ROLE_EDIT = 124; - - /** - * Create/Edit/Remove staff working hours. - */ - const STAFF_WORKING_HOURS = 144; - - /** - * Allow staff to override staff commission at the point of sale. - */ - const STORE_COMMISSION_OVERRIDE = 185; - - /** - * Temporarily modify the price of products and services at the point of sale. - */ - const STORE_PRICE = 41; - - /** - * Access to the point of sale store to facilitate the sale of products and services. - */ - const STORE_SELL = 40; - - /** - * Access to view and edit store settings. - */ - const STORE_SETTINGS_EDIT = 143; - - /** - * Add, remove, and edit supplier profiles. - */ - const SUPPLIER_MANAGE = 114; - - /** - * Access to add tasks. - */ - const TASK_ADD = 111; - - /** - * Access to view all tasks for all members. - */ - const TASK_ALL = 70; - - /** - * Access to edit tasks. - */ - const TASK_EDIT = 112; - - /** - * Access to transaction details. - */ - const TRANSACTION_DETAIL = 81; - - /** - * Access to edit transaction. - */ - const TRANSACTION_EDIT = 89; - - /** - * Access to refund transaction. - */ - const TRANSACTION_REFUND = 91; - - /** - * Access to view and change list of video categories. - */ - const VIDEO_CATEGORY = 146; - - /** - * Access to view and change videos in the business video library. - */ - const VIDEO_SETUP = 147; - - /** - * Set up and modify FitLIVE integration. - */ - const VIRTUAL_SETUP = 158; - - /** - * Access to edit, delete visit notes. - */ - const VISIT_NOTE_EDIT = 74; - - /** - * Access to view visit notes. - */ - const VISIT_NOTE_VIEW = 73; - - /** - * Access to WellnessLiving Academy. - */ - const WELLNESSLIVING_ACADEMY = 151; - - /** - * Allow access to manage integration with Zapier. - */ - const ZAPIER = 180; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Wellnessliving-wide privileges. + * + * Last Used ID: 200. + */ +abstract class WlPrivilegeSid +{ + /** + * View banner alert message on dashboard. + */ + const ALERT_MESSAGE = 142; + + /** + * Unpaid appointment booking. + */ + const APPOINTMENT_BOOK_UNPAID = 167; + + /** + * Edit appointment at my location. + */ + const APPOINTMENT_EDIT = 50; + + /** + * Change/View all appointment. + */ + const APPOINTMENT_FOREIGN = 49; + + /** + * Edit appointment schedule. + * + * @deprecated Use instead {@link WlPrivilegeSid::SCHEDULE_FUTURE_APPOINTMENT} and {@link WlPrivilegeSid::SCHEDULE_PAST_APPOINTMENT}. + */ + const APPOINTMENT_PERIOD = 51; + + /** + * View appointment. + */ + const APPOINTMENT_VIEW = 52; + + /** + * Ability to book clients outside of their current paid period. + */ + const BOOK_OUTSIDE_PAID_PERIOD = 141; + + /** + * Ability to book clients over capacity during or after the services have been scheduled. + */ + const BOOK_OVER_CAPACITY = 154; + + /** + * Ability to book assets which are booked for another service or set as unavailable. + */ + const BOOK_UNAVAILABLE_ASSETS = 138; + + /** + * Ability to schedule staff members who are booked for another service or set as unavailable. + */ + const BOOK_UNAVAILABLE_STAFF = 137; + + /** + * Manage business. + */ + const BUSINESS_EDIT = 1; + + /** + * Change business email settings. + */ + const BUSINESS_EMAIL = 117; + + /** + * Change business policies. + */ + const BUSINESS_POLICY = 120; + + /** + * Change available services in business. + */ + const BUSINESS_SERVICE = 118; + + /** + * Change services privileges apply. + */ + const BUSINESS_SERVICE_APPLY = 145; + + /** + * Change services privileges apply (third button requires second privilege). + */ + const BUSINESS_SERVICE_APPLY_CUSTOM = 165; + + /** + * Change Design Settings. + */ + const BUSINESS_SKIN = 19; + + /** + * Change business SMS settings. + */ + const BUSINESS_SMS = 169; + + /** + * Change business URLs. + */ + const BUSINESS_URL = 119; + + /** + * Change business online waiver. + */ + const BUSINESS_WAIVER = 121; + + /** + * Perform Cash Out. + */ + const CASH_OUT = 82; + + /** + * Edit deposits while perform Cash Out. + */ + const CASH_OUT_DEPOSIT = 83; + + /** + * Perform editing of Cash Out. + */ + const CASH_OUT_EDIT = 84; + + /** + * Manage clients' Credit Cards. + */ + const CC_MANAGE = 35; + + /** + * Edit class schedule. + */ + const CLASS_ATTENDANCE = 48; + + /** + * Add clients to the attendance list of a service, even if they do not have an applicable purchase option. + */ + const CLASS_BOOK_UNPAID = 79; + + /** + * Edit classes at my location. + */ + const CLASS_EDIT = 3; + + /** + * Change/View all classes. + */ + const CLASS_FOREIGN = 17; + + /** + * Lock search bar on class attendance list. + */ + const CLASS_LOCK_SEARCH = 152; + + /** + * Edit class schedule. + * + * @deprecated Use instead {@link WlPrivilegeSid::SCHEDULE_FUTURE_CLASS} and {@link WlPrivilegeSid::SCHEDULE_PAST_CLASS}. + */ + const CLASS_PERIOD = 5; + + /** + * Add and view client's contact logs. + */ + const CONTACT_LOG_MANAGE = 135; + + /** + * Add, remove, and edit gift cards. + */ + const COUPON = 31; + + /** + * Delete shared dashboard. + */ + const DASHBOARD_DELETE = 131; + + /** + * Edit shared dashboard. + */ + const DASHBOARD_EDIT = 130; + + /** + * Share dashboard. + */ + const DASHBOARD_SHARE = 129; + + /** + * Add, remove and edit discount codes. + */ + const DISCOUNT_CODE = 76; + + /** + * Configure Constant Contact settings. + */ + const EML_CONSTANT_CONTACT = 123; + + /** + * Configure MailChimp settings. + */ + const EML_MAILCHIMP = 122; + + /** + * Edit class schedule. + */ + const ENROLLMENT_ATTENDANCE = 55; + + /** + * Add clients to the attendance list of a service, even if they do not have an applicable purchase option. + */ + const ENROLLMENT_BOOK_UNPAID = 80; + + /** + * Edit classes at my location. + */ + const ENROLLMENT_EDIT = 54; + + /** + * Change/View all classes. + */ + const ENROLLMENT_FOREIGN = 53; + + /** + * Lock search bar on enrollment attendance list. + */ + const ENROLLMENT_LOCK_SEARCH = 153; + + /** + * Allows to manage leaderboard in the `FitBuilder` addon. + */ + const FITBUILDER_LEADERBOARD = 190; + + /** + * Allows to subscribe to `FitBuilder` subscription addon. + */ + const FITBUILDER_SUBSCRIPTION = 189; + + /** + * Allows to assign workouts from the `FitBuilder` addon to different services. + */ + const FITBUILDER_WORKOUT_ASSIGN = 188; + + /** + * Allows to add, edit and remove workouts in the `FitBuilder` addon. + */ + const FITBUILDER_WORKOUT_MANAGE = 187; + + /** + * Allow Staff members to view/complete forms for clients from any location. + */ + const FORM_ALL = 177; + + /** + * Amend apply to privilege. + * + * @internal Don't use this privilege directly. + */ + const FORM_AMEND_ACCESS = 198; + + /** + * Allow staff members to make modifications to completed forms on the client profile. + */ + const FORM_AMEND_COMPLETED = 194; + + /** + * Allow staff members to make modifications to completed forms on the client profile for all clients. + */ + const FORM_AMEND_COMPLETED_ALL = 195; + + /** + * Allow staff members to make modifications to completed forms on the client profile for clients at staff location. + */ + const FORM_AMEND_COMPLETED_LOCATION = 196; + + /** + * Allow staff members to make modifications to completed forms on the client profile for self clients. + */ + const FORM_AMEND_COMPLETED_MY_CLIENTS = 197; + + /** + * Allow staff members to fill in forms for clients. + */ + const FORM_COMPLETE = 178; + + /** + * Allow staff members to add, edit and delete forms. + */ + const FORM_MANAGE = 160; + + /** + * Allow Staff members to view/complete forms for clients that belong to them through service offerings. + */ + const FORM_MY_CLIENTS = 175; + + /** + * Allow Staff members to view/complete forms for clients that belong to the location that they are selected to work at. + */ + const FORM_MY_LOCATION = 176; + + /** + * Allow staff members to delete forms from the client’s profile. + */ + const FORM_RESPONSE_DELETE = 199; + + /** + * Allow staff members to view form responses. + */ + const FORM_VIEW_RESPONSE = 161; + + /** + * Add holidays. + */ + const HOLIDAY = 7; + + /** + * Set up and modify Autymate integration. + */ + const INTEGRATION_AUTYMATE = 163; + + /** + * Set up and modify Brivo integration. + */ + const INTEGRATION_BRIVO = 179; + + /** + * Enroll into and manage the WellnessLiving Achieve App. These settings are located under Setup > Achieve Client App. + */ + const INTERFACE_ACHIEVE_APP = 87; + + /** + * Modify the look and functionality business’s widgets. These settings are located within Setup > Widgets. + */ + const INTERFACE_WIDGET_EDIT = 39; + + /** + * View the look and functionality business’s widgets. These settings are located within Setup > Widgets. + */ + const INTERFACE_WIDGET_VIEW = 110; + + /** + * Permission to Receive or Adjust quantity from the Inventory On Hand Report. + */ + const INVENTORY_UPDATE = 157; + + /** + * Manage my locations except General information. + */ + const LOCATION_EDIT = 9; + + /** + * Manage tab Location -> General. + */ + const LOCATION_EDIT_GENERAL = 126; + + /** + * Manage all locations. + */ + const LOCATION_FOREIGN = 8; + + /** + * Manage franchise locations. + */ + const LOCATION_FRANCHISE = 109; + + /** + * Add client notes and warnings. + */ + const LOGIN_NOTE = 11; + + /** + * Flag clients. + */ + const LOGIN_NOTE_RESTRICT = 12; + + /** + * Logs view. + */ + const LOG_VIEW = 101; + + /** + * Access to send mails and sms to clients. + */ + const MAIL_SEND = 75; + + /** + * Manage announcements. + */ + const MANAGE_ANNOUNCEMENT = 200; + + /** + * Only the staff roles with this permission provided are able to edit/add/delete the business billing information. + */ + const MANAGE_BILLING_INFORMATION = 134; + + /** + * Manage hardware readers. + */ + const MANAGE_READERS = 181; + + /** + * Enable, disable, and edit daily deals. + */ + const MARKETING_DD = 43; + + /** + * Settings pertaining to all automated marketing to clients. + */ + const MARKETING_EMAIL = 42; + + /** + * Enabling this permission for a role will enable making and receiving calls in Message Center. + */ + const MESSAGES_CALLS = 173; + + /** + * Enabling this permission for a role will enable the role to use the ‘Assign to’ field and assign a conversation to a staff member. + */ + const MESSAGES_CONVERSATIONS = 174; + + /** + * Enabling this permission for a role will grant access to the inbox tab including viewing and sending messages in the Message Center. + */ + const MESSAGES_MANAGE = 170; + + /** + * Enabling this permission for a role will grant access to the Settings tab including modifying phone number(s) for the business. + */ + const MESSAGES_SETTINGS = 171; + + /** + * Enabling this permission for a role will grant access and changes to the Subscription Plans tab. + */ + const MESSAGES_SUBSCRIPTION = 172; + + /** + * Receive new appointment booking / request notification. + */ + const NOTIFICATION_APPOINTMENT_BOOK = 60; + + /** + * Receive appointment cancellation notification. + */ + const NOTIFICATION_APPOINTMENT_CANCEL = 61; + + /** + * Receive appointment change notification. + */ + const NOTIFICATION_APPOINTMENT_CHANGE = 59; + + /** + * Receive class attendance list. + */ + const NOTIFICATION_CLASS_ATTENDANCE = 56; + + /** + * Receive client class booking notification. + */ + const NOTIFICATION_CLASS_BOOK = 57; + + /** + * Receive client class cancelation notification. + */ + const NOTIFICATION_CLASS_CANCEL = 58; + + /** + * Receive event attendance list. + */ + const NOTIFICATION_EVENT_ATTENDANCE = 62; + + /** + * Receive client event booking notification. + */ + const NOTIFICATION_EVENT_BOOK = 63; + + /** + * Receive client event cancellation notification. + */ + const NOTIFICATION_EVENT_CANCEL = 64; + + /** + * Permissions apply to all appointment schedules. + */ + const NOTIFICATION_FOREIGN = 65; + + /** + * Receive new lead capture widget notification. + */ + const NOTIFICATION_LEAD_CAPTURE = 159; + + /** + * Staff with this role will receive emails about reward prizes. + */ + const NOTIFICATION_PRIZE_REDEMPTION = 90; + + /** + * Staff with this role will receive the inventory mails. + */ + const NOTIFICATION_PRODUCT_INVENTORY = 77; + + /** + * Receive new quiz notification form staff. + */ + const NOTIFICATION_QUIZ = 162; + + /** + * Staff with this role will receive customer review notifications. + */ + const NOTIFICATION_REVIEW = 66; + + /** + * Staff with this role will receive the sale receipts mails. + */ + const NOTIFICATION_SALE_STAFF = 136; + + /** + * Override late cancel and no show fees. + */ + const OVERRIDE_FEE = 164; + + /** + * Manage partner program. + */ + const PARTNER_PROGRAM_MANAGE = 94; + + /** + * Access to Payment Processing. + */ + const PAYMENT_PROCESSING = 166; + + /** + * Permission to perform Physical Inventory Count. + */ + const PHYSICAL_INVENTORY_COUNT = 156; + + /** + * Staff member with this role will be able to send postcards. + */ + const POSTCARD_SEND = 88; + + /** + * Delete shared power searches. + */ + const POWER_SEARCH_DELETE = 106; + + /** + * Edit shared power searches. + */ + const POWER_SEARCH_EDIT = 105; + + /** + * Share power searches with other staff members. + */ + const POWER_SEARCH_SHARE = 107; + + /** + * Ability to request subscription plan for custom website. + */ + const PRESENCE = 149; + + /** + * Edit products but not product name and description. + */ + const PRODUCT_DESCRIPTION_EDIT = 113; + + /** + * Add, remove, and edit products in the online store. + */ + const PRODUCT_MANAGE = 34; + + /** + * Manage all clients. + */ + const PROFILE_ALL = 24; + + /** + * This permission allows users to view client details throughout the interface. + */ + const PROFILE_DETAIL = 67; + + /** + * Manage profile client groups (only create, delete and rename a group). + */ + const PROFILE_GROUP_MANAGE = 69; + + /** + * Manage client group members (only members, not a group itself). + */ + const PROFILE_GROUP_MEMBER_MANAGE = 191; + + /** + * Manage clients from my location. + */ + const PROFILE_MY_LOCATION = 86; + + /** + * Manage profile client type. + */ + const PROFILE_TYPE_EDIT = 68; + + /** + * Manage all clients. + */ + const PROFILE_VIEW = 13; + + /** + * Manage progress log. + */ + const PROGRESS_LOG_MANAGE = 102; + + /** + * Edit progress log in profile. + */ + const PROGRESS_LOG_PROFILE = 104; + + /** + * Add, remove, and edit purchase options and packages for services. + */ + const PROMOTION_MANAGE = 25; + + /** + * Allows to edit only base information about purchase option. + */ + const PROMOTION_MANAGE_BASE = 127; + + /** + * Access to edit client purchases (passes and memberships). + */ + const PURCHASE_EDIT = 93; + + /** + * Access to view client purchases (passes and memberships). + */ + const PURCHASE_VIEW = 92; + + /** + * Allow to see alerts. + */ + const RECEIVE_ALERT = 193; + + /** + * Access to view reports for all staff. + * + * If staff has no this privilege then he can view only reports for them self. + */ + const REPORT_ALL = 71; + + /** + * Reports attendance. + */ + const REPORT_ATTENDANCE = 27; + + /** + * Reports client. + */ + const REPORT_CLIENT = 26; + + /** + * Reports with cash closeout information. + */ + const REPORT_CLOSEOUT = 85; + + /** + * Export and print button in reports. + */ + const REPORT_EXPORT_PRINT = 186; + + /** + * Reports with franchise information. + */ + const REPORT_FRANCHISE = 108; + + /** + * Wellness Programs reports. + */ + const REPORT_INSURANCE = 115; + + /** + * Ability to generate, export and import insurance reimbursement files. + */ + const REPORT_INSURANCE_FILE = 155; + + /** + * Reports emails. + */ + const REPORT_MAIL = 30; + + /** + * Reports sales. + */ + const REPORT_SALE = 29; + + /** + * Ability to view purchase report for specific user. + */ + const REPORT_SALE_USER = 125; + + /** + * Reports staff. + */ + const REPORT_STAFF = 28; + + /** + * Manage assets. + */ + const RESOURCE = 37; + + /** + * Unpaid asset booking. + */ + const RESOURCE_BOOK_UNPAID = 168; + + /** + * Mark client reviews as inappropriate and respond to customer comments. + */ + const REVIEW_FLAG = 18; + + /** + * Create contests on the leaderboard. + */ + const REWARD_LEADERBOARD = 44; + + /** + * Rules related to point accumulation. + */ + const REWARD_POINT_MANAGE = 46; + + /** + * Clear the total accumulated points for all clients. + */ + const REWARD_POINT_RESET = 45; + + /** + * Define prizes and the number of points that are required to redeem. + */ + const REWARD_PRIZE = 47; + + /** + * Enable SABA single sign on and create SABA accounts. + */ + const SABA = 116; + + /** + * View canceled classes from the schedule. + */ + const SCHEDULE_CANCELED_CLASS = 139; + + /** + * View canceled classes from the schedule. + */ + const SCHEDULE_CANCELED_ENROLLMENT = 140; + + /** + * Scheduling and editing future sessions of the appointments. + */ + const SCHEDULE_FUTURE_APPOINTMENT = 95; + + /** + * Scheduling sessions of the assets. + */ + const SCHEDULE_FUTURE_ASSETS = 128; + + /** + * Scheduling and editing future sessions of the classes. + */ + const SCHEDULE_FUTURE_CLASS = 96; + + /** + * Scheduling and editing future sessions of the events. + */ + const SCHEDULE_FUTURE_EVENT = 99; + + /** + * Scheduling and editing past sessions of the appointments. + */ + const SCHEDULE_PAST_APPOINTMENT = 97; + + /** + * Scheduling and editing past sessions of the classes. + */ + const SCHEDULE_PAST_CLASS = 98; + + /** + * Scheduling and editing past sessions of the events. + */ + const SCHEDULE_PAST_EVENT = 100; + + /** + * Allows sign service agreement. + */ + const SERVICE_AGREEMENT_SIGN = 133; + + /** + * View, modify and delete shop categories. + */ + const SHOP_CATEGORY = 78; + + /** + * Modify the clock-in and clock-out times for staff members. + */ + const STAFF_CLOCK = 32; + + /** + * Add, remove, and edit staff profiles. + */ + const STAFF_EDIT = 14; + + /** + * Edit own staff profile. + */ + const STAFF_EDIT_OWN = 150; + + /** + * Modify pay rates for products and Purchase Options. + */ + const STAFF_MODIFY_RATES_PRODUCT = 184; + + /** + * Modify pay rates for services. + */ + const STAFF_MODIFY_RATES_SERVICE = 183; + + /** + * Modify the clock-in and clock-out times for your own staff profile. + */ + const STAFF_MY_CLOCK = 192; + + /** + * Add, remove, and edit staff pay rates. + */ + const STAFF_PAY_ALL = 20; + + /** + * Change staff role on the staff edit page. + */ + const STAFF_ROLE_CHANGE = 72; + + /** + * Edit staff role on the staff role page. + */ + const STAFF_ROLE_EDIT = 124; + + /** + * Create/Edit/Remove staff working hours. + */ + const STAFF_WORKING_HOURS = 144; + + /** + * Allow staff to override staff commission at the point of sale. + */ + const STORE_COMMISSION_OVERRIDE = 185; + + /** + * Temporarily modify the price of products and services at the point of sale. + */ + const STORE_PRICE = 41; + + /** + * Access to the point of sale store to facilitate the sale of products and services. + */ + const STORE_SELL = 40; + + /** + * Access to view and edit store settings. + */ + const STORE_SETTINGS_EDIT = 143; + + /** + * Add, remove, and edit supplier profiles. + */ + const SUPPLIER_MANAGE = 114; + + /** + * Access to add tasks. + */ + const TASK_ADD = 111; + + /** + * Access to view all tasks for all members. + */ + const TASK_ALL = 70; + + /** + * Access to edit tasks. + */ + const TASK_EDIT = 112; + + /** + * Access to transaction details. + */ + const TRANSACTION_DETAIL = 81; + + /** + * Access to edit transaction. + */ + const TRANSACTION_EDIT = 89; + + /** + * Access to refund transaction. + */ + const TRANSACTION_REFUND = 91; + + /** + * Access to view and change list of video categories. + */ + const VIDEO_CATEGORY = 146; + + /** + * Access to view and change videos in the business video library. + */ + const VIDEO_SETUP = 147; + + /** + * Set up and modify FitLIVE integration. + */ + const VIRTUAL_SETUP = 158; + + /** + * Access to edit, delete visit notes. + */ + const VISIT_NOTE_EDIT = 74; + + /** + * Access to view visit notes. + */ + const VISIT_NOTE_VIEW = 73; + + /** + * Access to WellnessLiving Academy. + */ + const WELLNESSLIVING_ACADEMY = 151; + + /** + * Allow access to manage integration with Zapier. + */ + const ZAPIER = 180; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlProfileNoteSid.php b/WellnessLiving/Wl/WlProfileNoteSid.php index 79282993..68a96d81 100644 --- a/WellnessLiving/Wl/WlProfileNoteSid.php +++ b/WellnessLiving/Wl/WlProfileNoteSid.php @@ -1,49 +1,49 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Sources of system notes. - * - * <h2>How to add a new source of system notes</h2> - * <ol> - * <li>Add a constant to the {@link WlProfileNoteSid} class.</li> - * <li> - * - * The class name should be compatible with the constant name. - * For example, for the <tt>A_B_C</tt> constant, the following classes will be compatible (in descending order of priority): - * <ol> - * <li><tt>RsABCNote</tt></li> - * <li><tt>\Wl\A\B\CNote</tt></li> - * <li><tt>\Wl\A\B\C\Note</tt></li> - * <li><tt>\Wl\A\B\C\CNote</tt></li> - * </ol> - * </li> - * </ol> - * - * Last used ID: 4. - */ -abstract class WlProfileNoteSid -{ - /** - * A list of accounts with invalid progress log. - */ - const MEMBER_PROGRESS_LOG_PROFILE = 3; - - /** - * A list of accounts with not verified progress log. - */ - const MEMBER_PROGRESS_LOG_VERIFICATION = 4; - - /** - * A list of accounts with negative balance. - */ - const PAY_ACCOUNT = 1; - - /** - * A list of due membership payments. - */ - const PROMOTION_PAY = 2; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Sources of system notes. + * + * <h2>How to add a new source of system notes</h2> + * <ol> + * <li>Add a constant to the {@link WlProfileNoteSid} class.</li> + * <li> + * + * The class name should be compatible with the constant name. + * For example, for the <tt>A_B_C</tt> constant, the following classes will be compatible (in descending order of priority): + * <ol> + * <li><tt>RsABCNote</tt></li> + * <li><tt>\Wl\A\B\CNote</tt></li> + * <li><tt>\Wl\A\B\C\Note</tt></li> + * <li><tt>\Wl\A\B\C\CNote</tt></li> + * </ol> + * </li> + * </ol> + * + * Last used ID: 4. + */ +abstract class WlProfileNoteSid +{ + /** + * A list of accounts with invalid progress log. + */ + const MEMBER_PROGRESS_LOG_PROFILE = 3; + + /** + * A list of accounts with not verified progress log. + */ + const MEMBER_PROGRESS_LOG_VERIFICATION = 4; + + /** + * A list of accounts with negative balance. + */ + const PAY_ACCOUNT = 1; + + /** + * A list of due membership payments. + */ + const PROMOTION_PAY = 2; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlProjectSid.php b/WellnessLiving/Wl/WlProjectSid.php index f7bdcc6d..48c1c6dd 100644 --- a/WellnessLiving/Wl/WlProjectSid.php +++ b/WellnessLiving/Wl/WlProjectSid.php @@ -1,16 +1,16 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * List of different directories, which can use wellnessliving as a source of data. - */ -abstract class WlProjectSid -{ - /** - * WellnessLiving Explorer. - */ - const WELLNESSLIVING = 4; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * List of different directories, which can use wellnessliving as a source of data. + */ +abstract class WlProjectSid +{ + /** + * WellnessLiving Explorer. + */ + const WELLNESSLIVING = 4; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlPurchasePriceSid.php b/WellnessLiving/Wl/WlPurchasePriceSid.php index 1cf491fe..36870f97 100644 --- a/WellnessLiving/Wl/WlPurchasePriceSid.php +++ b/WellnessLiving/Wl/WlPurchasePriceSid.php @@ -1,21 +1,21 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * A list of ways of how a Purchase Option price can be specified. - */ -abstract class WlPurchasePriceSid -{ - /** - * Price of a promotion is specified per period. - */ - const PERIOD = 1; - - /** - * Price of a promotion is specified per session. - */ - const SESSION = 3; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * A list of ways of how a Purchase Option price can be specified. + */ +abstract class WlPurchasePriceSid +{ + /** + * Price of a promotion is specified per period. + */ + const PERIOD = 1; + + /** + * Price of a promotion is specified per session. + */ + const SESSION = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlRankTypeSid.php b/WellnessLiving/Wl/WlRankTypeSid.php index 5aba3335..1be8f205 100644 --- a/WellnessLiving/Wl/WlRankTypeSid.php +++ b/WellnessLiving/Wl/WlRankTypeSid.php @@ -1,17 +1,17 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Types of the possible ranks in different business. - * For example, there are belts (white, yellow, black, etc.) in Martial Arts. - */ -class WlRankTypeSid -{ - /** - * Belts for Martial Arts. - */ - const BELT = 1; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Types of the possible ranks in different business. + * For example, there are belts (white, yellow, black, etc.) in Martial Arts. + */ +class WlRankTypeSid +{ + /** + * Belts for Martial Arts. + */ + const BELT = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlRegionSid.php b/WellnessLiving/Wl/WlRegionSid.php index c86c1c67..462f7aee 100644 --- a/WellnessLiving/Wl/WlRegionSid.php +++ b/WellnessLiving/Wl/WlRegionSid.php @@ -1,29 +1,29 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * List of available data center regions. - * - * The business independently chooses the data center region in which it will be registered. - * The choice of the data center region does not depend on the actual location of the business. - * The region determines the data center in which the Wellnessliving system operates. - * The region should be chosen based on the access speed to the data center from business clients. - * Business from any region can be registered in any data center, but only in one. - * - * Last ID: 2. - */ -class WlRegionSid extends \WellnessLiving\Custom\Wl\WlRegionSid -{ - /** - * Sydney, Australia. - */ - const AP_SOUTHEAST_2 = 2; - - /** - * North Virginia, USA. - */ - const US_EAST_1 = 1; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * List of available data center regions. + * + * The business independently chooses the data center region in which it will be registered. + * The choice of the data center region does not depend on the actual location of the business. + * The region determines the data center in which the Wellnessliving system operates. + * The region should be chosen based on the access speed to the data center from business clients. + * Business from any region can be registered in any data center, but only in one. + * + * Last ID: 2. + */ +class WlRegionSid extends \WellnessLiving\Custom\Wl\WlRegionSid +{ + /** + * Sydney, Australia. + */ + const AP_SOUTHEAST_2 = 2; + + /** + * North Virginia, USA. + */ + const US_EAST_1 = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlReviewStatusSid.php b/WellnessLiving/Wl/WlReviewStatusSid.php index 65677ca7..78fb8a37 100644 --- a/WellnessLiving/Wl/WlReviewStatusSid.php +++ b/WellnessLiving/Wl/WlReviewStatusSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Review status identifiers. - */ -abstract class WlReviewStatusSid -{ - /** - * Admin. - */ - const ADMIN = 1; - - /** - * Hidden. - */ - const HIDDEN = 4; - - /** - * Publish. - */ - const PUBLISH = 3; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Review status identifiers. + */ +abstract class WlReviewStatusSid +{ + /** + * Admin. + */ + const ADMIN = 1; + + /** + * Hidden. + */ + const HIDDEN = 4; + + /** + * Publish. + */ + const PUBLISH = 3; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlScheduleTimeSid.php b/WellnessLiving/Wl/WlScheduleTimeSid.php index 4d277c7d..783475ca 100644 --- a/WellnessLiving/Wl/WlScheduleTimeSid.php +++ b/WellnessLiving/Wl/WlScheduleTimeSid.php @@ -1,26 +1,26 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * Day time periods. - */ -abstract class WlScheduleTimeSid -{ - /** - * Afternoon. - */ - const AFTERNOON = 2; - - /** - * Evening. - */ - const EVENING = 3; - - /** - * Morning. - */ - const MORNING = 1; -} - +<?php + +namespace WellnessLiving\Wl; + +/** + * Day time periods. + */ +abstract class WlScheduleTimeSid +{ + /** + * Afternoon. + */ + const AFTERNOON = 2; + + /** + * Evening. + */ + const EVENING = 3; + + /** + * Morning. + */ + const MORNING = 1; +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlActivationSid.php b/WellnessLiving/WlActivationSid.php index 5702ac8a..3ba2552c 100644 --- a/WellnessLiving/WlActivationSid.php +++ b/WellnessLiving/WlActivationSid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlActivationSid} instead. - */ -abstract class WlActivationSid extends \WellnessLiving\Wl\WlActivationSid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlActivationSid} instead. + */ +abstract class WlActivationSid extends \WellnessLiving\Wl\WlActivationSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlAgeSid.php b/WellnessLiving/WlAgeSid.php index ec36a9c2..723189a9 100644 --- a/WellnessLiving/WlAgeSid.php +++ b/WellnessLiving/WlAgeSid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlAgeSid} instead. - */ -class WlAgeSid extends \WellnessLiving\Wl\WlAgeSid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlAgeSid} instead. + */ +class WlAgeSid extends \WellnessLiving\Wl\WlAgeSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlFacilitySid.php b/WellnessLiving/WlFacilitySid.php index 721c8195..a7ad37f8 100644 --- a/WellnessLiving/WlFacilitySid.php +++ b/WellnessLiving/WlFacilitySid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlFacilitySid} instead. - */ -class WlFacilitySid extends \WellnessLiving\Wl\WlFacilitySid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlFacilitySid} instead. + */ +class WlFacilitySid extends \WellnessLiving\Wl\WlFacilitySid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlFile.php b/WellnessLiving/WlFile.php index a43c82d1..169fb87c 100644 --- a/WellnessLiving/WlFile.php +++ b/WellnessLiving/WlFile.php @@ -1,76 +1,76 @@ -<?php - -namespace WellnessLiving; - -/** - * File to be sent with a model. - */ -class WlFile -{ - /** - * Mimetype of the file. <tt>null</tt> if not set. - * - * @var string|null - */ - private $s_mime; - - /** - * Path to the file which will be uploaded. - * - * @var string - */ - private $s_name; - - /** - * Name of the file. <tt>null</tt> if not set. - * - * @var string|null - */ - private $s_postname; - - /** - * Creates a class object. - * - * @param string $s_name Path to the file which will be uploaded. - * @param string|null $s_mime Mimetype of the file. <tt>null</tt> if not set. - * @param string|null $s_postname Name of the file. <tt>null</tt> if not set. - */ - public function __construct($s_name,$s_mime = null,$s_postname = null) - { - $this->s_mime = $s_mime; - $this->s_name = $s_name; - $this->s_postname = $s_postname; - } - - /** - * Gets mimetype of the file. - * - * @return string|null Mimetype of the file. <tt>null</tt> if not set. - */ - public function mime() - { - return $this->s_mime; - } - - /** - * Gets path to the file which will be uploaded. - * - * @return string Path to the file which will be uploaded. - */ - public function name() - { - return $this->s_name; - } - - /** - * Gets name of the file. - * - * @return string|null Name of the file. <tt>null</tt> if not set. - */ - public function postname() - { - return $this->s_postname; - } -} - +<?php + +namespace WellnessLiving; + +/** + * File to be sent with a model. + */ +class WlFile +{ + /** + * Mimetype of the file. <tt>null</tt> if not set. + * + * @var string|null + */ + private $s_mime; + + /** + * Path to the file which will be uploaded. + * + * @var string + */ + private $s_name; + + /** + * Name of the file. <tt>null</tt> if not set. + * + * @var string|null + */ + private $s_postname; + + /** + * Creates a class object. + * + * @param string $s_name Path to the file which will be uploaded. + * @param string|null $s_mime Mimetype of the file. <tt>null</tt> if not set. + * @param string|null $s_postname Name of the file. <tt>null</tt> if not set. + */ + public function __construct($s_name,$s_mime = null,$s_postname = null) + { + $this->s_mime = $s_mime; + $this->s_name = $s_name; + $this->s_postname = $s_postname; + } + + /** + * Gets mimetype of the file. + * + * @return string|null Mimetype of the file. <tt>null</tt> if not set. + */ + public function mime() + { + return $this->s_mime; + } + + /** + * Gets path to the file which will be uploaded. + * + * @return string Path to the file which will be uploaded. + */ + public function name() + { + return $this->s_name; + } + + /** + * Gets name of the file. + * + * @return string|null Name of the file. <tt>null</tt> if not set. + */ + public function postname() + { + return $this->s_postname; + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlHomeTourSid.php b/WellnessLiving/WlHomeTourSid.php index 056f2fbc..928b6f99 100644 --- a/WellnessLiving/WlHomeTourSid.php +++ b/WellnessLiving/WlHomeTourSid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlHomeTourSid} instead. - */ -class WlHomeTourSid extends \WellnessLiving\Wl\WlHomeTourSid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlHomeTourSid} instead. + */ +class WlHomeTourSid extends \WellnessLiving\Wl\WlHomeTourSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlModelMultiModel.php b/WellnessLiving/WlModelMultiModel.php index 48e85f69..cdecfd06 100644 --- a/WellnessLiving/WlModelMultiModel.php +++ b/WellnessLiving/WlModelMultiModel.php @@ -1,122 +1,122 @@ -<?php - -namespace WellnessLiving; - -/** - * This class represents service model witch allows to execute multi curl request for the set of other models. - * - * You can use this model in case you need to make more than one request with special method to the API. - * For example, if you have some models, and you need to make "get" requests at parallel (with {@link \curl_multi_exec()}), - * just create new {@link WlModelMultiModel}, and pass your models to {@link WlModelMultiModel} using method {@link \WlModelMultiModel::add()}. - * Then call method {@link \WlModelMultiModel::getMulti()} to trigger multi curl request for all your added models. - * - * @example WellnessLiving/doc/multi-model.md - */ -final class WlModelMultiModel extends WlModelAbstract -{ - /** - * List of {@link WlModelAbstract} objects. - * - * @var WlModelAbstract[] - */ - private $a_model = []; - - /** - * Curl resource. - * - * @var resource - */ - private $r_multi_curl; - - /** - * Adds a model to multi Curl request. - * - * @param WlModelAbstract $o_model Model to be part of multi curl request. - */ - public function add(WlModelAbstract $o_model) - { - $this->a_model[] = $o_model; - } - - /** - * This method executes the multi Curl request. - * - * @param string $s_method Request method. One of <tt>'get'</tt>, <tt>'post'</tt>, <tt>'put'</tt>, <tt>'delete'</tt>. - * @throws WlAssertException In a case of an assertion. - * @throws WlUserException In a case of a user-level error. - */ - private function requestMulti($s_method) - { - $a_request_prepare = []; - $this->r_multi_curl = curl_multi_init(); - foreach($this->a_model as $o_model) - { - $a_request = $o_model->requestPrepare($s_method); - $a_request['o_model'] = $o_model; - $a_request_prepare[] = $a_request; - curl_multi_add_handle($this->r_multi_curl, $a_request['r_curl']); - } - do - { - $i_status = curl_multi_exec($this->r_multi_curl, $i_active); - if($i_active) - curl_multi_select($this->r_multi_curl); - } - while($i_active && $i_status == CURLM_OK); - - foreach($a_request_prepare as $a_request) - { - $s_response = curl_multi_getcontent($a_request['r_curl']); - - /** @var WlModelAbstract $o_model */ - $o_model=$a_request['o_model']; - $o_model->requestResult($s_method, $a_request['r_curl'], $a_request['o_request'], $a_request['a_field'], $s_response, $a_request['s_post']); - } - curl_multi_close($this->r_multi_curl); - } - - /** - * Performs multi request with GET method. - * - * @throws WlAssertException In a case of an assertion. - * @throws WlUserException In a case of a user-level error. - */ - public function getMulti() - { - $this->requestMulti('get'); - } - - /** - * Performs multi request with POST method. - * - * @throws WlAssertException In a case of an assertion. - * @throws WlUserException In a case of a user-level error. - */ - public function postMulti() - { - $this->requestMulti('post'); - } - - /** - * Performs multi request with PUT method. - * - * @throws WlAssertException In a case of an assertion. - * @throws WlUserException In a case of a user-level error. - */ - public function putMulti() - { - $this->requestMulti('put'); - } - - /** - * Closes multi curl resource. - * - * @param resource $r_curl Curl resource to be closed. - */ - protected function closeCurl($r_curl) - { - curl_multi_remove_handle($this->r_multi_curl, $r_curl); - } -} - +<?php + +namespace WellnessLiving; + +/** + * This class represents service model witch allows to execute multi curl request for the set of other models. + * + * You can use this model in case you need to make more than one request with special method to the API. + * For example, if you have some models, and you need to make "get" requests at parallel (with {@link \curl_multi_exec()}), + * just create new {@link WlModelMultiModel}, and pass your models to {@link WlModelMultiModel} using method {@link \WlModelMultiModel::add()}. + * Then call method {@link \WlModelMultiModel::getMulti()} to trigger multi curl request for all your added models. + * + * @example WellnessLiving/doc/multi-model.md + */ +final class WlModelMultiModel extends WlModelAbstract +{ + /** + * List of {@link WlModelAbstract} objects. + * + * @var WlModelAbstract[] + */ + private $a_model = []; + + /** + * Curl resource. + * + * @var resource + */ + private $r_multi_curl; + + /** + * Adds a model to multi Curl request. + * + * @param WlModelAbstract $o_model Model to be part of multi curl request. + */ + public function add(WlModelAbstract $o_model) + { + $this->a_model[] = $o_model; + } + + /** + * This method executes the multi Curl request. + * + * @param string $s_method Request method. One of <tt>'get'</tt>, <tt>'post'</tt>, <tt>'put'</tt>, <tt>'delete'</tt>. + * @throws WlAssertException In a case of an assertion. + * @throws WlUserException In a case of a user-level error. + */ + private function requestMulti($s_method) + { + $a_request_prepare = []; + $this->r_multi_curl = curl_multi_init(); + foreach($this->a_model as $o_model) + { + $a_request = $o_model->requestPrepare($s_method); + $a_request['o_model'] = $o_model; + $a_request_prepare[] = $a_request; + curl_multi_add_handle($this->r_multi_curl, $a_request['r_curl']); + } + do + { + $i_status = curl_multi_exec($this->r_multi_curl, $i_active); + if($i_active) + curl_multi_select($this->r_multi_curl); + } + while($i_active && $i_status == CURLM_OK); + + foreach($a_request_prepare as $a_request) + { + $s_response = curl_multi_getcontent($a_request['r_curl']); + + /** @var WlModelAbstract $o_model */ + $o_model=$a_request['o_model']; + $o_model->requestResult($s_method, $a_request['r_curl'], $a_request['o_request'], $a_request['a_field'], $s_response, $a_request['s_post']); + } + curl_multi_close($this->r_multi_curl); + } + + /** + * Performs multi request with GET method. + * + * @throws WlAssertException In a case of an assertion. + * @throws WlUserException In a case of a user-level error. + */ + public function getMulti() + { + $this->requestMulti('get'); + } + + /** + * Performs multi request with POST method. + * + * @throws WlAssertException In a case of an assertion. + * @throws WlUserException In a case of a user-level error. + */ + public function postMulti() + { + $this->requestMulti('post'); + } + + /** + * Performs multi request with PUT method. + * + * @throws WlAssertException In a case of an assertion. + * @throws WlUserException In a case of a user-level error. + */ + public function putMulti() + { + $this->requestMulti('put'); + } + + /** + * Closes multi curl resource. + * + * @param resource $r_curl Curl resource to be closed. + */ + protected function closeCurl($r_curl) + { + curl_multi_remove_handle($this->r_multi_curl, $r_curl); + } +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlPayProcessorSid.php b/WellnessLiving/WlPayProcessorSid.php index b6da6d96..e318d4f7 100644 --- a/WellnessLiving/WlPayProcessorSid.php +++ b/WellnessLiving/WlPayProcessorSid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlPayProcessorSid} instead. - */ -class WlPayProcessorSid extends \WellnessLiving\Wl\WlPayProcessorSid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlPayProcessorSid} instead. + */ +class WlPayProcessorSid extends \WellnessLiving\Wl\WlPayProcessorSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlPrivilegeSid.php b/WellnessLiving/WlPrivilegeSid.php index 0cdd5b06..bd528b2a 100644 --- a/WellnessLiving/WlPrivilegeSid.php +++ b/WellnessLiving/WlPrivilegeSid.php @@ -1,12 +1,12 @@ -<?php - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlPrivilegeSid} instead. - */ -class WlPrivilegeSid extends \WellnessLiving\Wl\WlPrivilegeSid -{ -} - +<?php + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlPrivilegeSid} instead. + */ +class WlPrivilegeSid extends \WellnessLiving\Wl\WlPrivilegeSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlProjectSid.php b/WellnessLiving/WlProjectSid.php index f89f7225..a3643f34 100644 --- a/WellnessLiving/WlProjectSid.php +++ b/WellnessLiving/WlProjectSid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlProjectSid} instead. - */ -class WlProjectSid extends \WellnessLiving\Wl\WlProjectSid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlProjectSid} instead. + */ +class WlProjectSid extends \WellnessLiving\Wl\WlProjectSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/WlRegionSid.php b/WellnessLiving/WlRegionSid.php index 827fc864..a1240eea 100644 --- a/WellnessLiving/WlRegionSid.php +++ b/WellnessLiving/WlRegionSid.php @@ -1,14 +1,14 @@ -<?php - -namespace WellnessLiving; - -/** - * @deprecated As of 2023-09-11. - * - * Use class {@link \WellnessLiving\Wl\WlRegionSid} instead. - */ -class WlRegionSid extends \WellnessLiving\Wl\WlRegionSid -{ -} - +<?php + +namespace WellnessLiving; + +/** + * @deprecated As of 2023-09-11. + * + * Use class {@link \WellnessLiving\Wl\WlRegionSid} instead. + */ +class WlRegionSid extends \WellnessLiving\Wl\WlRegionSid +{ +} + ?> \ No newline at end of file diff --git a/WellnessLiving/doc/multi-model.md b/WellnessLiving/doc/multi-model.md index a15d6bf5..6d70c44b 100644 --- a/WellnessLiving/doc/multi-model.md +++ b/WellnessLiving/doc/multi-model.md @@ -1,69 +1,69 @@ -# Example of using WlModelMultiModel. - <pre> - namespace WlSdkExample; - - use WellnessLiving\Core\Passport\Login\Enter\EnterModel; - use WellnessLiving\Core\Passport\Login\Enter\NotepadModel; - use WellnessLiving\Wl\Catalog\CatalogList\ElementModel; - use WellnessLiving\WlAssertException; - use WellnessLiving\WlModelMultiModel; - use WellnessLiving\WlUserException; - - require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; - require_once __DIR__.'/example-config.php'; - - try - { - $o_config=new ExampleConfig(); - - // Retrieve notepad (it is a separate step of user sign in process) - $o_notepad=new NotepadModel($o_config); - $o_notepad->s_login='//* Put your login here */'; - $o_notepad->get(); - - // Sign in a user - $o_enter=new EnterModel($o_config); - $o_enter->cookieSet($o_notepad->cookieGet()); // Keep cookies to keep session. - $o_enter->s_login='//* Put your login here */'; - $o_enter->s_notepad=$o_notepad->s_notepad; - $o_enter->s_password=$o_notepad->hash('//* Put your password here */'); - $o_enter->post(); - - // Create first model to get data - $model_1=new ElementModel( $o_config); - $model_1->cookieSet($o_notepad->cookieGet()); - $model_1->k_id='//* Put your product id here */'; - $model_1->k_location='//* Put your location key here */'; - $model_1->id_sale='//* Put your sale id here */'; - - // Create second model to get data - $model_2=new ElementModel( $o_config); - $model_2->cookieSet($o_notepad->cookieGet()); - $model_2->k_id='//* Put your product id here */'; - $model_2->k_location='//* Put your location key here */'; - $model_2->id_sale='//* Put your sale id here*/'; - - // Create multi model and add ElementModels to request - $o_multi_model=new WlModelMultiModel($o_config); - $o_multi_model->add($model_1); - $o_multi_model->add($model_2); - - // Get the data for added models - $o_multi_model->getMulti(); - - // Show model data - print_r($model_1->a_data); - print_r($model_2->a_data); - } - catch(WlAssertException $e) - { - echo $e; - return; - } - catch(WlUserException $e) - { - echo $e->getMessage()."\n"; - return; - } - </pre> - +# Example of using WlModelMultiModel. + <pre> + namespace WlSdkExample; + + use WellnessLiving\Core\Passport\Login\Enter\EnterModel; + use WellnessLiving\Core\Passport\Login\Enter\NotepadModel; + use WellnessLiving\Wl\Catalog\CatalogList\ElementModel; + use WellnessLiving\WlAssertException; + use WellnessLiving\WlModelMultiModel; + use WellnessLiving\WlUserException; + + require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; + require_once __DIR__.'/example-config.php'; + + try + { + $o_config=new ExampleConfig(); + + // Retrieve notepad (it is a separate step of user sign in process) + $o_notepad=new NotepadModel($o_config); + $o_notepad->s_login='//* Put your login here */'; + $o_notepad->get(); + + // Sign in a user + $o_enter=new EnterModel($o_config); + $o_enter->cookieSet($o_notepad->cookieGet()); // Keep cookies to keep session. + $o_enter->s_login='//* Put your login here */'; + $o_enter->s_notepad=$o_notepad->s_notepad; + $o_enter->s_password=$o_notepad->hash('//* Put your password here */'); + $o_enter->post(); + + // Create first model to get data + $model_1=new ElementModel( $o_config); + $model_1->cookieSet($o_notepad->cookieGet()); + $model_1->k_id='//* Put your product id here */'; + $model_1->k_location='//* Put your location key here */'; + $model_1->id_sale='//* Put your sale id here */'; + + // Create second model to get data + $model_2=new ElementModel( $o_config); + $model_2->cookieSet($o_notepad->cookieGet()); + $model_2->k_id='//* Put your product id here */'; + $model_2->k_location='//* Put your location key here */'; + $model_2->id_sale='//* Put your sale id here*/'; + + // Create multi model and add ElementModels to request + $o_multi_model=new WlModelMultiModel($o_config); + $o_multi_model->add($model_1); + $o_multi_model->add($model_2); + + // Get the data for added models + $o_multi_model->getMulti(); + + // Show model data + print_r($model_1->a_data); + print_r($model_2->a_data); + } + catch(WlAssertException $e) + { + echo $e; + return; + } + catch(WlUserException $e) + { + echo $e->getMessage()."\n"; + return; + } + </pre> + diff --git a/WellnessLiving/doc/problems.txt b/WellnessLiving/doc/problems.txt index 5da3513c..4c59b793 100644 --- a/WellnessLiving/doc/problems.txt +++ b/WellnessLiving/doc/problems.txt @@ -1,9 +1,9 @@ -Problem: response error 'group-empty' -Reason: tables core_request_api_application_group, core_request_api_application_member or core_request_api_application - are not filled on server side. - -Problem: response error 'signature-mismatch' -Reasons: -- invalid application code/id in your config file -- invalid server URL in your config file +Problem: response error 'group-empty' +Reason: tables core_request_api_application_group, core_request_api_application_member or core_request_api_application + are not filled on server side. + +Problem: response error 'signature-mismatch' +Reasons: +- invalid application code/id in your config file +- invalid server URL in your config file - invalid cookies names in your config file \ No newline at end of file diff --git a/WellnessLiving/doc/upgrade-20211109.md b/WellnessLiving/doc/upgrade-20211109.md index a0131c36..3c4a3958 100644 --- a/WellnessLiving/doc/upgrade-20211109.md +++ b/WellnessLiving/doc/upgrade-20211109.md @@ -1,43 +1,43 @@ -# WellnessLiving SDK 1.1 Released! - -## Changes - -1. The configuration management system has been redesigned. -2. Added data center regions. See the documentation for class `\WellnessLiving\WlRegionSid`. - -## Migration from WellnessLiving SDK 1.0 to 1.1 - -Check that your config class is extended from: -* `\WellnessLiving\Config\WlConfigProduction` for production; -* `\WellnessLiving\Config\WlConfigDeveloper` for testing purpose. - -You need to change the way the configuration object is created. -Use the `\WellnessLiving\Config\WlConfigAbstract::create()` method to create the configuration object. -Manual creation of a configuration object using the `new ...` operator is prohibited. - -For example, we have a configuration class `\WlSdkExample\ExampleConfig`. Create a config object: - - <?php - ... - $o_config = \WlSdkExample\ExampleConfig::create(\WellnessLiving\WlRegionSid::US_EAST_1); - - -## Using the data center region id in production version. - -All businesses registered before December 2021 belong to the `\WellnessLiving\WlRegionSid::US_EAST_1` region. - -Businesses that register in December 2021 and later independently choose a region based on the speed of -their clients' access to the data center of the selected region. - -You can contact technical support to find out in which data center your business is registered or -this information can be found in the admin menu if you have admin rights. - -## Using the data center region id in testing versions. - -Use the `\WellnessLiving\WlRegionSid::US_EAST_1` constant as the data center region id for testing the Wellnessliving SDK and API -in our staging branch. - -Use the `\WellnessLiving\WlRegionSid::AP_SOUTHEAST_2` constant as the data center region id for testing -the Wellnessliving SDK and API in our trunk branch. - +# WellnessLiving SDK 1.1 Released! + +## Changes + +1. The configuration management system has been redesigned. +2. Added data center regions. See the documentation for class `\WellnessLiving\WlRegionSid`. + +## Migration from WellnessLiving SDK 1.0 to 1.1 + +Check that your config class is extended from: +* `\WellnessLiving\Config\WlConfigProduction` for production; +* `\WellnessLiving\Config\WlConfigDeveloper` for testing purpose. + +You need to change the way the configuration object is created. +Use the `\WellnessLiving\Config\WlConfigAbstract::create()` method to create the configuration object. +Manual creation of a configuration object using the `new ...` operator is prohibited. + +For example, we have a configuration class `\WlSdkExample\ExampleConfig`. Create a config object: + + <?php + ... + $o_config = \WlSdkExample\ExampleConfig::create(\WellnessLiving\WlRegionSid::US_EAST_1); + + +## Using the data center region id in production version. + +All businesses registered before December 2021 belong to the `\WellnessLiving\WlRegionSid::US_EAST_1` region. + +Businesses that register in December 2021 and later independently choose a region based on the speed of +their clients' access to the data center of the selected region. + +You can contact technical support to find out in which data center your business is registered or +this information can be found in the admin menu if you have admin rights. + +## Using the data center region id in testing versions. + +Use the `\WellnessLiving\WlRegionSid::US_EAST_1` constant as the data center region id for testing the Wellnessliving SDK and API +in our staging branch. + +Use the `\WellnessLiving\WlRegionSid::AP_SOUTHEAST_2` constant as the data center region id for testing +the Wellnessliving SDK and API in our trunk branch. + For more information about our branches see [WellnessLiving/README.md](../../README.md) file. \ No newline at end of file diff --git a/composer.json b/composer.json index 325bf432..4443d175 100644 --- a/composer.json +++ b/composer.json @@ -1,14 +1,14 @@ -{ - "name": "wellnessliving/wl-sdk", - "description": "Wellenessliving API SDK", - "license": "proprietary", - "require": { - "ext-bcmath": "*", - "ext-curl": "*", - "ext-json": "*", - "php": ">=5.5" - }, - "autoload": { - "WellnessLiving": "\\" - } +{ + "name": "wellnessliving/wl-sdk", + "description": "Wellenessliving API SDK", + "license": "proprietary", + "require": { + "ext-bcmath": "*", + "ext-curl": "*", + "ext-json": "*", + "php": ">=5.5" + }, + "autoload": { + "WellnessLiving": "\\" + } } \ No newline at end of file diff --git a/composer.lock b/composer.lock index 72444779..bea916ba 100644 --- a/composer.lock +++ b/composer.lock @@ -1,20 +1,20 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "334cbc00cf13580453752048b798ec88", - "packages": [], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.4" - }, - "platform-dev": [], - "plugin-api-version": "2.2.0" -} +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "334cbc00cf13580453752048b798ec88", + "packages": [], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.4" + }, + "platform-dev": [], + "plugin-api-version": "2.2.0" +} From ad668a5ccee3ce461408bbadfdda6c7514f36127 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 16 May 2024 20:11:00 +0000 Subject: [PATCH 02/71] Automatic upgrade of the SDK. Build #340133. --- WellnessLiving/Wl/Fitbuilder/MessageModel.php | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 WellnessLiving/Wl/Fitbuilder/MessageModel.php diff --git a/WellnessLiving/Wl/Fitbuilder/MessageModel.php b/WellnessLiving/Wl/Fitbuilder/MessageModel.php new file mode 100644 index 00000000..b5f2bb04 --- /dev/null +++ b/WellnessLiving/Wl/Fitbuilder/MessageModel.php @@ -0,0 +1,29 @@ +<?php + +namespace WellnessLiving\Wl\Fitbuilder; + +use WellnessLiving\WlModelAbstract; + +/** + * Point to get messenger information from Fitbuilder. + */ +class MessageModel extends WlModelAbstract +{ + /** + * Messenger information. + * + * @post post + * @var array + */ + public $a_data = []; + + /** + * Messenger channel key. + * + * @post get + * @var string + */ + public $k_channel = ''; +} + +?> \ No newline at end of file From 04ef52c0b17e5e0824bd2675e00ef6d3474e297a Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 21 May 2024 14:53:23 +0000 Subject: [PATCH 03/71] Automatic upgrade of the SDK. Build #340768. --- WellnessLiving/Core/Quiz/ResponseStatusSid.php | 7 ++++++- WellnessLiving/Social/Apple/Login/AppleLoginModel.php | 1 + WellnessLiving/Wl/Mail/SendMailModel.php | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Core/Quiz/ResponseStatusSid.php b/WellnessLiving/Core/Quiz/ResponseStatusSid.php index 73d12bf1..cfb30b61 100644 --- a/WellnessLiving/Core/Quiz/ResponseStatusSid.php +++ b/WellnessLiving/Core/Quiz/ResponseStatusSid.php @@ -5,7 +5,7 @@ /** * List of response statuses. * - * Last used ID: 5 + * Last used ID: 6 */ class ResponseStatusSid { @@ -24,6 +24,11 @@ class ResponseStatusSid */ const DRAFT = 2; + /** + * Response are duplicated. + */ + const DUPLICATE = 6; + /** * Response in inactive. * diff --git a/WellnessLiving/Social/Apple/Login/AppleLoginModel.php b/WellnessLiving/Social/Apple/Login/AppleLoginModel.php index bceb86c3..0910ddf7 100644 --- a/WellnessLiving/Social/Apple/Login/AppleLoginModel.php +++ b/WellnessLiving/Social/Apple/Login/AppleLoginModel.php @@ -12,6 +12,7 @@ class AppleLoginModel extends WlModelAbstract /** * The application ID. * + * @delete post * @post post * @var string */ diff --git a/WellnessLiving/Wl/Mail/SendMailModel.php b/WellnessLiving/Wl/Mail/SendMailModel.php index e8aed96d..07ce00fc 100644 --- a/WellnessLiving/Wl/Mail/SendMailModel.php +++ b/WellnessLiving/Wl/Mail/SendMailModel.php @@ -49,6 +49,14 @@ class SendMailModel extends WlModelAbstract */ public $s_campaign = ''; + /** + * The message uncompressed content. + * + * @post post + * @var string + */ + public $s_html = ''; + /** * The message recipient's address. * From 3566c40e7687355f6abd2d428e1a5778f1113b9e Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 22 May 2024 15:28:34 +0000 Subject: [PATCH 04/71] Automatic upgrade of the SDK. Build #341049. --- .../Wl/Purchase/Receipt/PurchaseReceiptModel.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php index 9459a75c..eb174992 100644 --- a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php +++ b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php @@ -405,6 +405,14 @@ class PurchaseReceiptModel extends WlModelAbstract */ public $text_receipt; + /** + * UID of current user. Can be empty. + * + * @get get + * @var string|null + */ + public $uid_current = null; + /** * The URL for printing on a normal printer. * From f1fc6f68bf4df513fe02a10a2908c36bc46417b9 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 22 May 2024 19:00:40 +0000 Subject: [PATCH 05/71] Automatic upgrade of the SDK. Build #341100. --- WellnessLiving/Core/Passport/Login/Enter/EnterModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/Core/Passport/Login/Enter/EnterModel.php b/WellnessLiving/Core/Passport/Login/Enter/EnterModel.php index 25ed5dfb..f5b12242 100644 --- a/WellnessLiving/Core/Passport/Login/Enter/EnterModel.php +++ b/WellnessLiving/Core/Passport/Login/Enter/EnterModel.php @@ -73,7 +73,7 @@ class EnterModel extends WlModelAbstract * * This field is filled in a case when a captcha code is required to sign in. * - * @post error + * @post result * @var string */ public $url_captcha; From 68f42be8ca7948d6037118e2fdc4c9ac659af6a7 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 24 May 2024 19:28:57 +0000 Subject: [PATCH 06/71] Automatic upgrade of the SDK. Build #341517. --- .../Catalog/StaffApp/CatalogList/CatalogListModel.php | 7 +++++++ .../Wl/Purchase/Receipt/PurchaseReceiptModel.php | 8 -------- WellnessLiving/Wl/User/Info/UserInfoModel.php | 10 ++++++++++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php index 3b697f04..4dfff192 100644 --- a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php +++ b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php @@ -33,6 +33,13 @@ class CatalogListModel extends WlModelAbstract * The list of login types available to purchase the sale item. * </dd> * <dt> + * string[] <var>a_member_group</var> + * </dt> + * <dd> + * The list of member groups available to purchase the sale item. + * + * </dd> + * <dt> * string[] <var>a_shop_category</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php index eb174992..9459a75c 100644 --- a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php +++ b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php @@ -405,14 +405,6 @@ class PurchaseReceiptModel extends WlModelAbstract */ public $text_receipt; - /** - * UID of current user. Can be empty. - * - * @get get - * @var string|null - */ - public $uid_current = null; - /** * The URL for printing on a normal printer. * diff --git a/WellnessLiving/Wl/User/Info/UserInfoModel.php b/WellnessLiving/Wl/User/Info/UserInfoModel.php index 6fe5bf21..b773b995 100644 --- a/WellnessLiving/Wl/User/Info/UserInfoModel.php +++ b/WellnessLiving/Wl/User/Info/UserInfoModel.php @@ -10,6 +10,14 @@ */ class UserInfoModel extends WlModelAbstract { + /** + * List of member groups that the user belongs to. + * + * @get result + * @var string[] + */ + public $a_member_group = []; + /** * Information about the user's photo. The information returned has the following structure:<dl> * <dt>int <var>i_height</var></dt> @@ -31,6 +39,8 @@ class UserInfoModel extends WlModelAbstract * List of user's data. * * <dl> + * <dt>array <var>a_member_group</var></dt> + * <dd>List of member groups that the user belongs to.</dd> * <dt>array <var>a_photo</var></dt> * <dd>Information about the user's photo.</dd> * <dt>string <var>dt_add</var></dt> From c3f216867f3a733c5e56e1080432a630f817ce2c Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 29 May 2024 21:56:09 +0000 Subject: [PATCH 07/71] Automatic upgrade of the SDK. Build #342231. --- .../Core/Quiz/ResponseStatusSid.php | 5 - .../Wl/Book/Process/Payment/PaymentModel.php | 48 +-- .../Book/Process/Purchase/Purchase56Model.php | 297 ++++++------------ .../Process/Purchase/PurchaseElementModel.php | 9 + .../Book/Process/Purchase/PurchaseModel.php | 297 ++++++------------ .../StaffApp/CatalogList/CatalogListModel.php | 2 + .../Wl/Pay/Form/EnvironmentModel.php | 2 +- WellnessLiving/Wl/Quiz/QuizElementModel.php | 16 + WellnessLiving/WlHeaderAuthorization.php | 133 ++++++++ WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlTool.php | 38 +++ WellnessLiving/WlWebhook.php | 155 +++++++++ example-webhook.php | 28 ++ 13 files changed, 588 insertions(+), 444 deletions(-) create mode 100644 WellnessLiving/WlHeaderAuthorization.php create mode 100644 WellnessLiving/WlWebhook.php create mode 100644 example-webhook.php diff --git a/WellnessLiving/Core/Quiz/ResponseStatusSid.php b/WellnessLiving/Core/Quiz/ResponseStatusSid.php index cfb30b61..97467bf5 100644 --- a/WellnessLiving/Core/Quiz/ResponseStatusSid.php +++ b/WellnessLiving/Core/Quiz/ResponseStatusSid.php @@ -24,11 +24,6 @@ class ResponseStatusSid */ const DRAFT = 2; - /** - * Response are duplicated. - */ - const DUPLICATE = 6; - /** * Response in inactive. * diff --git a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php index d40dca4e..b167e948 100644 --- a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php @@ -19,41 +19,19 @@ class PaymentModel extends WlModelAbstract { /** - * A list of items to be bought. Every element has the next keys: - * <dl> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of purchase item type. One of {@link WlPurchaseItemSid} constants. - * </dd> - * <dt> - * boolean [<var>is_renew</var>] - * </dt> - * <dd> - * <tt>true</tt> if the item should be set to auto-renew; <tt>false</tt> if otherwise. - * If not set yet, use the default option for this item. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the purchase item in the database. - * </dd> - * <dt> - * string <var>k_login_prize</var> - * </dt> - * <dd> - * ID of user's prize. - * Not <tt>0</tt> only if user is paying book by prize. - * </dd> - * <dt> - * string [<var>s_signature</var>] - * </dt> - * <dd> - * The signature of the Purchase Option contract. - * This won't be set if the Purchase Option doesn't require a contract assignment. - * </dd> + * A list of items to be bought. Every element has the next keys: <dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of purchase item type. One of {@link WlPurchaseItemSid} constants.</dd> + * <dt>boolean [<var>is_renew</var>]</dt> + * <dd>`true` if the item should be set to auto-renew; `false` otherwise. If not set yet, use the default option for this item.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the purchase item in the database.</dd> + * <dt>string <var>k_login_prize</var></dt> + * <dd>Key of user's prize. Not `0` only if user is paying book by prize.</dd> + * <dt>string <var>k_reward_prize</var></dt> + * <dd>Key of reward prize. Not `0` only if user wants to redeem prize and use it to pay for visit.</dd> + * <dt>string [<var>s_signature</var>]</dt> + * <dd>The signature of the Purchase Option contract. This won't be set if the Purchase Option doesn't require a contract assignment.</dd> * </dl> * * @post post diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index 6e607ec5..e540eb93 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -21,9 +21,20 @@ class Purchase56Model extends WlModelAbstract /** * Data about the login prize which can be used to pay for service. * <dl> - * <dt>int <var>i_count</var></dt><dd>Login prize remaining quantity.</dd> - * <dt>string <var>k_login_prize</var></dt><dd>Key of login prize.</dd> - * <dt>string <var>text_description</var></dt><dd>User friendly login prize description.</dd> + * <dt>string <var>f_price</var></dt> + * <dd>The price, always '0'.</dd> + * <dt>int <var>i_count</var></dt> + * <dd>Login prize remaining quantity.</dd> + * <dt>int <var>i_limit</var></dt> + * <dd>The limit of sessions that can be booked with reward prize.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> + * <dt>string <var>k_login_prize</var></dt> + * <dd>Key of login prize.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>User friendly login prize description.</dd> * </dl> * * @get result @@ -109,199 +120,71 @@ class Purchase56Model extends WlModelAbstract /** * A list of Purchase Options that are available for the session(s) being booked. Keys refer to unique string IDs, and - * values refer arrays with the next fields: - * <dl> - * <dt> - * array[] <var>a_installment_template</var>. - * </dt> - * <dd> - * A list of installment plans. Every element has the next keys: - * <dl> - * <dt> - * int <var>i_count</var> - * </dt> - * <dd> - * The number of payments. - * </dd> - * <dt> - * int <var>id_duration</var> - * </dt> - * <dd> - * The duration of a single period. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The number of periods specified by <var>id_period</var> between individual payments. - * </dd> - * <dt> - * string <var>k_currency</var> - * </dt> - * <dd> - * The payment currency key. - * </dd> - * <dt> - * string <var>k_pay_installment_template</var> - * </dt> - * <dd> - * The key of the installment plan template. - * </dd> - * <dt> - * string <var>m_amount</var> - * </dt> - * <dd> - * The amount of the installment plan. - * </dd> - * <dt> - * string <var>s_duration</var> - * </dt> - * <dd> - * The title of the installment plan. - * </dd> - * </dl> - * </dd> - * <dt> - * array[] [<var>a_visit_limit</var>] - * </dt> - * <dd> - * This is only set for Purchase Options. A list of limits on booking by the Purchase Option. Every element has the next keys: - * <dl> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The limit description. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_price</var> - * </dt> - * <dd> - * The price. - * </dd> - * <dt> - * string [<var>f_price_early</var>] - * </dt> - * <dd> - * The price for early bookings. - * </dd> - * <dt> - * string <var>html_payment_period</var> - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var> in short form. - * </dd> - * <dt> - * string <var>html_description</var> - * </dt> - * <dd> - * The description, ready to paste in a browser. - * </dd> - * <dt> - * int [<var>i_limit</var>] - * </dt> - * <dd> - * The limit of sessions that can be booked by Purchase Options. - * </dd> - * <dt> - * int [<var>i_payment_period</var>] - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The duration of the regular payment interval. - * </dd> - * <dt> - * int [<var>i_session</var>] - * </dt> - * <dd> - * This is only set for purchases of single sessions. The number of sessions booked simultaneously. - * </dd> - * <dt> - * int [<var>id_program_category</var>] - * </dt> - * <dd> - * This is only set for promotions. The ID of the promotion program category. One of the {@link WlProgramCategorySid} constants. - * </dd> - * <dt> - * int [<var>id_program_type</var>] - * </dt> - * <dd> - * This is only set for promotions. The ID of the promotion program type. One of the {@link WlProgramTypeSid} constants. - * </dd> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants. - * </dd> - * <dt> - * bool [<var>is_contract</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option requires a contract assignment. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_convert</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option converts to another instance upon expiration. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_renew</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option is renewable. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_renew_check</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option is renewable and the "auto-renew" option is turned on by default. Otherwise, - * this will be <tt>false</tt>. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>. - * </dd> - * <dt> - * string [<var>k_login_prize</var>] - * </dt> - * <dd> - * The key of the user's prize that can be used instead a Purchase Option to book the session. - * </dd> - * <dt> - * string [<var>s_contract</var>] - * </dt> - * <dd> - * The contract of the Purchase Option. This is only set if <var>is_contract</var> is <tt>true</tt>. - * </dd> - * <dt> - * string [<var>s_payment_duration</var>] - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var>. - * </dd> - * <dt> - * string [<var>s_promotion_convert</var>] - * </dt> - * <dd> - * This is only set if <var>is_convert</var> is <tt>true</tt>. The title to use for the new Purchase Option instance upon auto-renewal. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The title. - * </dd> - * <dt> - * string <var>s_value</var> - * </dt> - * <dd> - * The unique identifier. - * </dd> + * values refer arrays with the next fields: <dl> + * <dt>array[] <var>a_installment_template</var>.</dt> + * <dd>A list of installment plans. Every element has the next keys:<dl> + * <dt>int <var>i_count</var></dt> + * <dd>The number of payments.</dd> + * <dt>int <var>id_duration</var></dt> + * <dd>The duration of a single period. One of the {@link ADurationSid} constants.</dd> + * <dt>int <var>i_period</var></dt> + * <dd>The number of periods specified by <var>id_period</var> between individual payments.</dd> + * <dt>string <var>k_currency</var></dt> + * <dd>The payment currency key.</dd> + * <dt>string <var>k_pay_installment_template</var></dt> + * <dd>The key of the installment plan template.</dd> + * <dt>string <var>m_amount</var></dt> + * <dd>The amount of the installment plan.</dd> + * <dt>string <var>s_duration</var></dt> + * <dd>The title of the installment plan.</dd></dl></dd> + * <dt>array[] [<var>a_visit_limit</var>]</dt> + * <dd>This is only set for Purchase Options. A list of limits on booking by the Purchase Option. Every element has the next keys:<dl> + * <dt>string <var>s_title</var></dt> + * <dd>The limit description.</dd></dl></dd> + * <dt>string <var>f_price</var></dt> + * <dd>The price.</dd> + * <dt>string [<var>f_price_early</var>]</dt> + * <dd>The price for early bookings.</dd> + * <dt>string <var>html_payment_period</var></dt> + * <dd>This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var> in short form.</dd> + * <dt>string <var>html_description</var></dt> + * <dd>The description, ready to paste in a browser.</dd> + * <dt>int [<var>i_limit</var>]</dt> + * <dd>The limit of sessions that can be booked by Purchase Options.</dd> + * <dt>int [<var>i_payment_period</var>]</dt> + * <dd>This is only set for Purchase Options with the 'membership' program type. The duration of the regular payment interval.</dd> + * <dt>int [<var>i_session</var>]</dt> + * <dd>This is only set for purchases of single sessions. The number of sessions booked simultaneously.</dd> + * <dt>int [<var>id_program_category</var>]</dt> + * <dd>This is only set for promotions. The ID of the promotion program category. One of the {@link WlProgramCategorySid} constants.</dd> + * <dt>int [<var>id_program_type</var>]</dt> + * <dd>This is only set for promotions. The ID of the promotion program type. One of the {@link WlProgramTypeSid} constants.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>bool [<var>is_contract</var>]</dt> + * <dd>If `true`, the Purchase Option requires a contract assignment. Otherwise, this will be `false`.</dd> + * <dt>bool [<var>is_convert</var>]</dt> + * <dd>If `true`, the Purchase Option converts to another instance upon expiration. Otherwise, this will be `false`.</dd> + * <dt>bool [<var>is_renew</var>]</dt> + * <dd>If `true`, the Purchase Option is renewable. Otherwise, this will be `false`.</dd> + * <dt>bool [<var>is_renew_check</var>]</dt> + * <dd>If `true`, the Purchase Option is renewable and the "auto-renew" option is turned on by default. Otherwise, this will be `false`.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> + * <dt>string [<var>k_login_prize</var>]</dt> + * <dd>The key of the user's prize that can be used instead a Purchase Option to book the session.</dd> + * <dt>string [<var>k_reward_prize</var>]</dt> + * <dd>The key of the reward prize that can be used instead a Purchase Option to book the session.</dd> + * <dt>string [<var>s_contract</var>]</dt> + * <dd>The contract of the Purchase Option. This is only set if <var>is_contract</var> is `true`.</dd> + * <dt>string [<var>s_payment_duration</var>]</dt> + * <dd>This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var>.</dd> + * <dt>string [<var>s_promotion_convert</var>]</dt> + * <dd>This is only set if <var>is_convert</var> is `true`. The title to use for the new Purchase Option instance upon auto-renewal.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The title.</dd> + * <dt>string <var>s_value</var></dt> + * <dd>The unique identifier.</dd> * </dl> * * @get result @@ -365,9 +248,21 @@ class Purchase56Model extends WlModelAbstract * List of redeemable prizes which can be used to pay for service. * Each element has the following fields: * <dl> + * <dt>string <var>f_price</var></dt> + * <dd>The price, always '0'.</dd> + * <dt>int <var>i_limit</var></dt> + * <dd>The limit of sessions that can be booked with reward prize.</dd> * <dt>int <var>i_score</var></dt><dd>Prize price in points.</dd> - * <dt>string <var>k_reward_prize</var></dt><dd>Key of redeemable prize..</dd> - * <dt>string <var>text_description</var></dt><dd>User friendly prize description.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> + * <dt>string <var>k_reward_prize</var></dt> + * <dd>Key of redeemable prize.</dd> + * <dt>string <var>s_value</var></dt> + * <dd>The unique identifier.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>User friendly prize description.</dd> * </dl> * * @get result @@ -388,15 +283,15 @@ class Purchase56Model extends WlModelAbstract /** * The list of session passes that might be used in booking process. - * Each element has the following fields: + * Each element has the following fields: * <dl> * <dt>int <var>i_remain</var></dt> * <dd>Number of remaining visits on session pass.</dd> - * <dt>int <var>k_session_pass</var></dt> + * <dt>string <var>k_session_pass</var></dt> * <dd>Session pass key.</dd> * <dt>int <var>id_purchase_item</var></dt> * <dd>Type of the session pass purchase. One of {@link WlPurchaseItemSid} constants.</dd> - * <dt>int <var>s_title</var></dt> + * <dt>string <var>s_title</var></dt> * <dd>Session pass title.</dd> * </dl> * diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php index facfb5f2..855877ce 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php @@ -72,6 +72,15 @@ class PurchaseElementModel extends WlModelAbstract */ public $k_pay_installment_template = null; + /** + * The key of the reward prize. + * Not empty only if the user wants to redeem prize and use it to pay for a visit. + * + * @get get + * @var string + */ + public $k_reward_prize = '0'; + /** * The cost of one purchase item (with taxes). * diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index b329bc99..306e881d 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -24,9 +24,20 @@ class PurchaseModel extends WlModelAbstract /** * Data about the login prize which can be used to pay for service. * <dl> - * <dt>int <var>i_count</var></dt><dd>Login prize remaining quantity.</dd> - * <dt>string <var>k_login_prize</var></dt><dd>Key of login prize.</dd> - * <dt>string <var>text_description</var></dt><dd>User friendly login prize description.</dd> + * <dt>string <var>f_price</var></dt> + * <dd>The price, always '0'.</dd> + * <dt>int <var>i_count</var></dt> + * <dd>Login prize remaining quantity.</dd> + * <dt>int <var>i_limit</var></dt> + * <dd>The limit of sessions that can be booked with reward prize.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> + * <dt>string <var>k_login_prize</var></dt> + * <dd>Key of login prize.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>User friendly login prize description.</dd> * </dl> * * @get result @@ -112,199 +123,71 @@ class PurchaseModel extends WlModelAbstract /** * A list of Purchase Options that are available for the session(s) being booked. Keys refer to unique string IDs, and - * values refer arrays with the next fields: - * <dl> - * <dt> - * array[] <var>a_installment_template</var>. - * </dt> - * <dd> - * A list of installment plans. Every element has the next keys: - * <dl> - * <dt> - * int <var>i_count</var> - * </dt> - * <dd> - * The number of payments. - * </dd> - * <dt> - * int <var>id_duration</var> - * </dt> - * <dd> - * The duration of a single period. One of the {@link ADurationSid} constants. - * </dd> - * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The number of periods specified by <var>id_period</var> between individual payments. - * </dd> - * <dt> - * string <var>k_currency</var> - * </dt> - * <dd> - * The payment currency key. - * </dd> - * <dt> - * string <var>k_pay_installment_template</var> - * </dt> - * <dd> - * The key of the installment plan template. - * </dd> - * <dt> - * string <var>m_amount</var> - * </dt> - * <dd> - * The amount of the installment plan. - * </dd> - * <dt> - * string <var>s_duration</var> - * </dt> - * <dd> - * The title of the installment plan. - * </dd> - * </dl> - * </dd> - * <dt> - * array[] [<var>a_visit_limit</var>] - * </dt> - * <dd> - * This is only set for Purchase Options. A list of limits on booking by the Purchase Option. Every element has the next keys: - * <dl> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The limit description. - * </dd> - * </dl> - * </dd> - * <dt> - * string <var>f_price</var> - * </dt> - * <dd> - * The price. - * </dd> - * <dt> - * string [<var>f_price_early</var>] - * </dt> - * <dd> - * The price for early bookings. - * </dd> - * <dt> - * string <var>html_payment_period</var> - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var> in short form. - * </dd> - * <dt> - * string <var>html_description</var> - * </dt> - * <dd> - * The description, ready to paste in a browser. - * </dd> - * <dt> - * int [<var>i_limit</var>] - * </dt> - * <dd> - * The limit of sessions that can be booked by Purchase Options. - * </dd> - * <dt> - * int [<var>i_payment_period</var>] - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The duration of the regular payment interval. - * </dd> - * <dt> - * int [<var>i_session</var>] - * </dt> - * <dd> - * This is only set for purchases of single sessions. The number of sessions booked simultaneously. - * </dd> - * <dt> - * int [<var>id_program_category</var>] - * </dt> - * <dd> - * This is only set for promotions. The ID of the promotion program category. One of the {@link WlProgramCategorySid} constants. - * </dd> - * <dt> - * int [<var>id_program_type</var>] - * </dt> - * <dd> - * This is only set for promotions. The ID of the promotion program type. One of the {@link WlProgramTypeSid} constants. - * </dd> - * <dt> - * int <var>id_purchase_item</var> - * </dt> - * <dd> - * The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants. - * </dd> - * <dt> - * bool [<var>is_contract</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option requires a contract assignment. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_convert</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option converts to another instance upon expiration. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_renew</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option is renewable. Otherwise, this will be <tt>false</tt>. - * </dd> - * <dt> - * bool [<var>is_renew_check</var>] - * </dt> - * <dd> - * If <tt>true</tt>, the Purchase Option is renewable and the "auto-renew" option is turned on by default. Otherwise, - * this will be <tt>false</tt>. - * </dd> - * <dt> - * string <var>k_id</var> - * </dt> - * <dd> - * The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>. - * </dd> - * <dt> - * string [<var>k_login_prize</var>] - * </dt> - * <dd> - * The key of the user's prize that can be used instead a Purchase Option to book the session. - * </dd> - * <dt> - * string [<var>s_contract</var>] - * </dt> - * <dd> - * The contract of the Purchase Option. This is only set if <var>is_contract</var> is <tt>true</tt>. - * </dd> - * <dt> - * string [<var>s_payment_duration</var>] - * </dt> - * <dd> - * This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var>. - * </dd> - * <dt> - * string [<var>s_promotion_convert</var>] - * </dt> - * <dd> - * This is only set if <var>is_convert</var> is <tt>true</tt>. The title to use for the new Purchase Option instance upon auto-renewal. - * </dd> - * <dt> - * string <var>s_title</var> - * </dt> - * <dd> - * The title. - * </dd> - * <dt> - * string <var>s_value</var> - * </dt> - * <dd> - * The unique identifier. - * </dd> + * values refer arrays with the next fields: <dl> + * <dt>array[] <var>a_installment_template</var>.</dt> + * <dd>A list of installment plans. Every element has the next keys:<dl> + * <dt>int <var>i_count</var></dt> + * <dd>The number of payments.</dd> + * <dt>int <var>id_duration</var></dt> + * <dd>The duration of a single period. One of the {@link ADurationSid} constants.</dd> + * <dt>int <var>i_period</var></dt> + * <dd>The number of periods specified by <var>id_period</var> between individual payments.</dd> + * <dt>string <var>k_currency</var></dt> + * <dd>The payment currency key.</dd> + * <dt>string <var>k_pay_installment_template</var></dt> + * <dd>The key of the installment plan template.</dd> + * <dt>string <var>m_amount</var></dt> + * <dd>The amount of the installment plan.</dd> + * <dt>string <var>s_duration</var></dt> + * <dd>The title of the installment plan.</dd></dl></dd> + * <dt>array[] [<var>a_visit_limit</var>]</dt> + * <dd>This is only set for Purchase Options. A list of limits on booking by the Purchase Option. Every element has the next keys:<dl> + * <dt>string <var>s_title</var></dt> + * <dd>The limit description.</dd></dl></dd> + * <dt>string <var>f_price</var></dt> + * <dd>The price.</dd> + * <dt>string [<var>f_price_early</var>]</dt> + * <dd>The price for early bookings.</dd> + * <dt>string <var>html_payment_period</var></dt> + * <dd>This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var> in short form.</dd> + * <dt>string <var>html_description</var></dt> + * <dd>The description, ready to paste in a browser.</dd> + * <dt>int [<var>i_limit</var>]</dt> + * <dd>The limit of sessions that can be booked by Purchase Options.</dd> + * <dt>int [<var>i_payment_period</var>]</dt> + * <dd>This is only set for Purchase Options with the 'membership' program type. The duration of the regular payment interval.</dd> + * <dt>int [<var>i_session</var>]</dt> + * <dd>This is only set for purchases of single sessions. The number of sessions booked simultaneously.</dd> + * <dt>int [<var>id_program_category</var>]</dt> + * <dd>This is only set for promotions. The ID of the promotion program category. One of the {@link WlProgramCategorySid} constants.</dd> + * <dt>int [<var>id_program_type</var>]</dt> + * <dd>This is only set for promotions. The ID of the promotion program type. One of the {@link WlProgramTypeSid} constants.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>bool [<var>is_contract</var>]</dt> + * <dd>If `true`, the Purchase Option requires a contract assignment. Otherwise, this will be `false`.</dd> + * <dt>bool [<var>is_convert</var>]</dt> + * <dd>If `true`, the Purchase Option converts to another instance upon expiration. Otherwise, this will be `false`.</dd> + * <dt>bool [<var>is_renew</var>]</dt> + * <dd>If `true`, the Purchase Option is renewable. Otherwise, this will be `false`.</dd> + * <dt>bool [<var>is_renew_check</var>]</dt> + * <dd>If `true`, the Purchase Option is renewable and the "auto-renew" option is turned on by default. Otherwise, this will be `false`.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> + * <dt>string [<var>k_login_prize</var>]</dt> + * <dd>The key of the user's prize that can be used instead a Purchase Option to book the session.</dd> + * <dt>string [<var>k_reward_prize</var>]</dt> + * <dd>The key of the reward prize that can be used instead a Purchase Option to book the session.</dd> + * <dt>string [<var>s_contract</var>]</dt> + * <dd>The contract of the Purchase Option. This is only set if <var>is_contract</var> is `true`.</dd> + * <dt>string [<var>s_payment_duration</var>]</dt> + * <dd>This is only set for Purchase Options with the 'membership' program type. The measurement unit of <var>i_payment_period</var>.</dd> + * <dt>string [<var>s_promotion_convert</var>]</dt> + * <dd>This is only set if <var>is_convert</var> is `true`. The title to use for the new Purchase Option instance upon auto-renewal.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>The title.</dd> + * <dt>string <var>s_value</var></dt> + * <dd>The unique identifier.</dd> * </dl> * * @get result @@ -368,9 +251,21 @@ class PurchaseModel extends WlModelAbstract * List of redeemable prizes which can be used to pay for service. * Each element has the following fields: * <dl> + * <dt>string <var>f_price</var></dt> + * <dd>The price, always '0'.</dd> + * <dt>int <var>i_limit</var></dt> + * <dd>The limit of sessions that can be booked with reward prize.</dd> * <dt>int <var>i_score</var></dt><dd>Prize price in points.</dd> - * <dt>string <var>k_reward_prize</var></dt><dd>Key of redeemable prize..</dd> - * <dt>string <var>text_description</var></dt><dd>User friendly prize description.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of Purchase Option type. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> + * <dt>string <var>k_reward_prize</var></dt> + * <dd>Key of redeemable prize.</dd> + * <dt>string <var>s_value</var></dt> + * <dd>The unique identifier.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>User friendly prize description.</dd> * </dl> * * @get result @@ -391,15 +286,15 @@ class PurchaseModel extends WlModelAbstract /** * The list of session passes that might be used in booking process. - * Each element has the following fields: + * Each element has the following fields: * <dl> * <dt>int <var>i_remain</var></dt> * <dd>Number of remaining visits on session pass.</dd> - * <dt>int <var>k_session_pass</var></dt> + * <dt>string <var>k_session_pass</var></dt> * <dd>Session pass key.</dd> * <dt>int <var>id_purchase_item</var></dt> * <dd>Type of the session pass purchase. One of {@link WlPurchaseItemSid} constants.</dd> - * <dt>int <var>s_title</var></dt> + * <dt>string <var>s_title</var></dt> * <dd>Session pass title.</dd> * </dl> * diff --git a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php index 4dfff192..e21d3fff 100644 --- a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php +++ b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php @@ -31,6 +31,7 @@ class CatalogListModel extends WlModelAbstract * </dt> * <dd> * The list of login types available to purchase the sale item. + * Empty list means that the sale item is available to all login types. * </dd> * <dt> * string[] <var>a_member_group</var> @@ -38,6 +39,7 @@ class CatalogListModel extends WlModelAbstract * <dd> * The list of member groups available to purchase the sale item. * + * Empty list means that the sale item is available to all member groups. * </dd> * <dt> * string[] <var>a_shop_category</var> diff --git a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php index b517a226..a66b17f8 100644 --- a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php +++ b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php @@ -91,7 +91,7 @@ class EnvironmentModel extends WlModelAbstract public $a_pay_processor = null; /** - * Local date with time now in current location {@link EnvironmentModel::$k_location} + * Current local date in current location {@link EnvironmentModel::$k_location} * or business {@link EnvironmentModel::$k_business} if not set location. * * @get result diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 5b15ac44..8971404b 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -50,6 +50,22 @@ class QuizElementModel extends WlModelAbstract */ public $can_anonymous = false; + /** + * Whether user has privileges to manage form. + * + * @get result + * @var bool + */ + public $can_manage = false; + + /** + * Whether user has privileges to view form responses. + * + * @get result + * @var bool + */ + public $can_view_response = false; + /** * Number of responses for specific quiz. * diff --git a/WellnessLiving/WlHeaderAuthorization.php b/WellnessLiving/WlHeaderAuthorization.php new file mode 100644 index 00000000..7ca1a1ab --- /dev/null +++ b/WellnessLiving/WlHeaderAuthorization.php @@ -0,0 +1,133 @@ +<?php + +namespace WellnessLiving; + +use WellnessLiving\Config\WlConfigAbstract; + +/** + * Represents the 'Authorization' header fields from an HTTP request. + */ +class WlHeaderAuthorization +{ + /** + * List of headers that were used in computing the signature. + * Each element is the name of the header. + * The order of enumeration corresponds to the order of application when generating the signature. + * + * `null` if there is no value (in case of data format violation). + * + * @var string[]|null + */ + public $a_header_sign = null; + + /** + * Application ID. + * Copy of {@link \WellnessLiving\Config\WlConfigAbstract::AUTHORIZE_ID}. + * + * `null` if there is no value (in case of data format violation). + * + * @var string|null + */ + public $s_application_id = null; + + /** + * Source string with debug information. + * `null` if there is no debug information. + * + * @var string|null + */ + public $s_debug = null; + + /** + * Debug information format version. + * `null` if there is no debug information. + * + * @var string|null + */ + public $s_debug_version = null; + + /** + * The signature hash. + * + * `null` if there is no value (in case of data format violation). + * + * @var string|null + */ + public $s_signature = null; + + /** + * Source string with 'Authorization' header value. + * + * @var string + */ + public $s_source; + + /** + * Format version for 'Authorization' header. + * + * @var string + */ + public $s_version; + + /** + * Retrieves all 'Authorization' headers from the current request. + * + * @return WlHeaderAuthorization[] All 'Authorization' headers from the current request. + */ + public static function createFromRequest() + { + $a_header = WlTool::getAllHeaders(); + // When several HTTP headers arrive, on the PHP side they are combined into one, separated by comma+space. + $a_auth = explode(', ',isset($a_header['Authorization'])?$a_header['Authorization']:''); + + $a_result = []; + foreach($a_auth as $s_auth) + $a_result[] = WlHeaderAuthorization::createParse($s_auth); + + return $a_result; + } + + /** + * Create 'Authorization' header object from string. + * + * @param string $s_auth The value of 'Authorization' header. + * @return WlHeaderAuthorization The 'Authorization' header object. + */ + public static function createParse($s_auth) + { + $o_result = new WlHeaderAuthorization(); + $o_result->s_source = $s_auth; + + $a_auth = explode(',',$s_auth,4); + $o_result->s_version = $a_auth[0]; + if(!isset($a_auth[1])) + return $o_result; + + $o_result->s_application_id = $a_auth[1]; + if(!isset($a_auth[2])) + return $o_result; + + if($a_auth[2]==='') + $o_result->a_header_sign = []; + else + $o_result->a_header_sign = explode(';',$a_auth[2]); + + if(!isset($a_auth[3])) + return $o_result; + + $a_sign_debug = explode('.',$a_auth[3],3); + $o_result->s_signature = $a_sign_debug[0]; + if(!isset($a_sign_debug[1])) + return $o_result; + + $o_result->s_debug_version = $a_sign_debug[1]; + if(!isset($a_sign_debug[2])) + return $o_result; + + $o_result->s_debug = $a_sign_debug[2]; + + return $o_result; + } +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d6d3c4d1..d69a05d5 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='202404171145'; + const VERSION='20240529.342231'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlTool.php b/WellnessLiving/WlTool.php index 3c56880b..0b890f59 100644 --- a/WellnessLiving/WlTool.php +++ b/WellnessLiving/WlTool.php @@ -68,6 +68,44 @@ public static function dateNowMysql() { return gmdate('Y-m-d H:i:s',time()); } + + /** + * Gets all HTTP request headers. + * + * @return string[] All HTTP headers. The key is header name. The value is header value. + */ + public static function getAllHeaders() + { + // The list of headers remains unchanged until the request is processed. + static $a_header = null; + + if(function_exists('apache_request_headers')) + return apache_request_headers(); + + if($a_header!==null) + return $a_header; + + $a_header=[]; + foreach($_SERVER as $s_name => $s_value) + { + if(strncmp($s_name,'HTTP_',5)==0) + { + $s_header = str_replace( + ' ', + '-', + ucwords( + strtolower( + str_replace('_', ' ', substr($s_name, 5)) + ) + ) + ); + + $a_header[$s_header] = $s_value; + } + } + + return $a_header; + } } ?> \ No newline at end of file diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php new file mode 100644 index 00000000..ff6f0912 --- /dev/null +++ b/WellnessLiving/WlWebhook.php @@ -0,0 +1,155 @@ +<?php + +namespace WellnessLiving; + +use WellnessLiving\Config\WlConfigAbstract; + +/** + * A class with helper functions for working with webhooks. + */ +class WlWebhook +{ + /** + * Request variable values. + * Key is the variable name, value is the variable value. + * + * Cache for the {@link WlWebhook::variable()} method. + * + * `null` if the {@link WlWebhook::variable()} method was not called. + * `false` if no request variables were passed or a data format error. + * + * @var array|null|false + */ + private $a_variable = null; + + /** + * SDK configuration object. + * + * @var WlConfigAbstract + */ + private $o_config; + + /** + * Constructs a new webhook helper object. + * + * @param WlConfigAbstract $o_config WellnessLiving SDK configuration object. + */ + public function __construct($o_config) + { + $this->o_config = $o_config; + } + + /** + * Checks whether the request is authorized or not. + * + * @return bool `true` if the request is authorized. `false` if the request is signed incorrectly. + */ + public function isAuthorize() + { + // The request parameters cannot be changed until it is processed. + // After processing the request, the script will complete its work. + static $is_authorize = null; + + if($is_authorize!==null) + return $is_authorize; + + $is_authorize = false; + + $a_variable = $this->variable(); + if($a_variable===false) + return false; + + /** @var WlConfigAbstract $s_config_class */ + $s_config_class = get_class($this->o_config); + + $a_auth = WlHeaderAuthorization::createFromRequest(); + $a_signature_receive = []; + foreach($a_auth as $o_header_auth) + { + if( + $o_header_auth->s_version==='20150518' && + $o_header_auth->s_application_id===$s_config_class::AUTHORIZE_ID && + $o_header_auth->s_signature!==null && + strlen($o_header_auth->s_signature)==64 + ) + { + $a_signature_receive[] = $o_header_auth->s_signature; + } + } + + if(!$a_signature_receive) + return false; + + $s_signature_compute = $this->signatureCompute(); + if(in_array($s_signature_compute,$a_signature_receive)) + $is_authorize = true; + + return $is_authorize; + } + + /** + * Computes the signatures of the current request. + * + * @return string The signature of the current request. + */ + private function signatureCompute() + { + $s_resource = $_SERVER['REQUEST_URI']; + if(strncmp($s_resource,'/',1)==0) + $s_resource = substr($s_resource,1); + + /** @var WlConfigAbstract $s_config_class */ + $s_config_class = get_class($this->o_config); + + $a_header = WlTool::getAllHeaders(); + + $a_signature = [ + 'a_header' => [], + 'a_variable' => $this->variable(), + 'dt_time' => date_create($a_header['Date'])->format('Y-m-d H:i:s'), + 's_code' => $s_config_class::AUTHORIZE_CODE, + 's_cookie_persistent' => '', + 's_cookie_transient' => '', + 's_host' => $_SERVER['SERVER_NAME'], + 's_id' => $s_config_class::AUTHORIZE_ID, + 's_method' => 'POST', + 's_resource' => $s_resource, + ]; + + $s_signature_compute = WlModelRequest::signatureCompute($a_signature); + + // Truncate the debug information. + $a_signature = explode('.',$s_signature_compute,2); + return $a_signature[0]; + } + + /** + * Gets the request variable values. + * + * @return array|false Request variable values. + * `false` if no request variables were passed or a data format error. + */ + public function variable() + { + if($this->a_variable!==null) + return $this->a_variable; + + // Variables come in the body of the POST request in the form of a json object. + $s_data = file_get_contents('php://input'); + if(!$s_data) + { + $this->a_variable = false; + return false; + } + + $a_variable = @json_decode($s_data,true); + if(!is_array($a_variable) || count($a_variable)==0) + $this->a_variable = false; + else + $this->a_variable = $a_variable; + + return $this->a_variable; + } +} + +?> \ No newline at end of file diff --git a/example-webhook.php b/example-webhook.php new file mode 100644 index 00000000..22d6a4c1 --- /dev/null +++ b/example-webhook.php @@ -0,0 +1,28 @@ +<?php + +namespace WlSdkExample; + +use WellnessLiving\WlRegionSid; +use WellnessLiving\WlWebhook; + +require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; +require_once __DIR__.'/example-config.php'; + +$o_config=ExampleConfig::create(WlRegionSid::US_EAST_1); +$o_webhook = new WlWebhook($o_config); + +// We check whether the webhook request is authorized or not. +if($o_webhook->isAuthorize()) + echo "Webhook is authorized.".PHP_EOL; +else +{ + echo "ERROR: Webhook is not authorized.".PHP_EOL; + return; +} + +echo "The request body: ".PHP_EOL; +echo var_export($o_webhook->variable(),true); + +echo PHP_EOL; + +?> \ No newline at end of file From c3feb7df3ac7b438a64cfba2560a8815f3ead902 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 31 May 2024 16:45:54 +0000 Subject: [PATCH 08/71] Automatic upgrade of the SDK. Build #342617. --- .../Book/Service/ServiceList52Model.php | 10 ++++---- WellnessLiving/Wl/Catalog/Cart/CartModel.php | 24 +++++++++++++++---- WellnessLiving/Wl/Fitbuilder/MessageModel.php | 11 ++++++++- WellnessLiving/Wl/Lead/LeadModel.php | 10 ++++++++ WellnessLiving/Wl/Quiz/QuizElementModel.php | 16 ------------- WellnessLiving/WlModelRequest.php | 2 +- 6 files changed, 45 insertions(+), 28 deletions(-) diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php index 0b03e231..01f9c5d8 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php @@ -79,18 +79,18 @@ class ServiceList52Model extends WlModelAbstract * </dl> * </dd> * <dt> - * string[] <var>a_login_type_restriction</var> + * array <var>a_login_type_restriction</var> * </dt> * <dd> - * List of login type titles for current service. - * Clients that have one of these types can book service. + * Keys are login type keys, primary keys in {@link \Wl\Login\Type\Sql}, values - List of login types' titles for + * current service. Clients that have one of these types can book service. * </dd> * <dt> * string[] <var>a_member_group_restriction</var> * </dt> * <dd> - * List of member groups titles for current service. - * Clients that belongs to these groups can book service. + * Keys are member group keys, primary keys in {@link \Wl\Member\Group\Sql}, values - list of member groups' titles + * for current service. Clients that belongs to these groups can book service. * </dd> * <dt> * string <var>f_deposit</var> diff --git a/WellnessLiving/Wl/Catalog/Cart/CartModel.php b/WellnessLiving/Wl/Catalog/Cart/CartModel.php index 49874770..93ac938a 100644 --- a/WellnessLiving/Wl/Catalog/Cart/CartModel.php +++ b/WellnessLiving/Wl/Catalog/Cart/CartModel.php @@ -35,7 +35,7 @@ class CartModel extends WlModelAbstract * <dd>The shop product option. If empty string, the sale item has no options.</dd> * </dl> * - * @get get + * @get get,result * @var array[] */ public $a_item = []; @@ -43,10 +43,14 @@ class CartModel extends WlModelAbstract /** * List of prizes that can be redeemed and applied to items in the cart. * <dl> + * <dt>int <var>i_score</var></dt> + * <dd>Amount of points needed to redeem the prize.</dd> * <dt>string <var>k_reward_prize</var></dt> * + * <dt>string <var>text_discount</var></dt> + * <dd>Reward prize discount, e.g. '$10.00 off', '10% off'.</dd> * <dt>string <var>text_title</var></dt> - * <dd>Reward prize title.</dd> + * <dd>Reward prize title, e.g. 'on any item', 'on Water bottle', 'on any Appointment Pass or Membership Purchase Option'.</dd> * </dl> * * @get result @@ -80,11 +84,13 @@ class CartModel extends WlModelAbstract * <dt>string <var>k_login_prize</var></dt> * * <dt>string <var>text_discount</var></dt> - * <dd>Login prize discount title, for example 'Apply 10% off'.</dd> + * <dd>Reward prize discount, e.g. '$10.00 off', '10% off'.</dd> * <dt>string <var>text_discount_applied</var></dt> - * <dd>Applied login prize discount title, for example '10% discount'.</dd> + * <dd>Applied login prize discount title, e.g. '10% discount'.</dd> + * <dt>string <var>text_discount_purpose</var></dt> + * <dd>Purpose login prize discount title, e.g. 'Apply 10% off'.</dd> * <dt>string <var>text_title</var></dt> - * <dd>Login prize title.</dd> + * <dd>Reward prize title, e.g. 'on any item', 'on Water bottle', 'on any Appointment Pass or Membership Purchase Option'.</dd> * </dl> * * @get result @@ -111,6 +117,14 @@ class CartModel extends WlModelAbstract */ public $i_score; + /** + * Whether selected login prize should be auto applied to first applicable item. + * + * @get get + * @var bool + */ + public $is_auto_apply_prize = true; + /** * The location key. * diff --git a/WellnessLiving/Wl/Fitbuilder/MessageModel.php b/WellnessLiving/Wl/Fitbuilder/MessageModel.php index b5f2bb04..ec41ade3 100644 --- a/WellnessLiving/Wl/Fitbuilder/MessageModel.php +++ b/WellnessLiving/Wl/Fitbuilder/MessageModel.php @@ -10,7 +10,16 @@ class MessageModel extends WlModelAbstract { /** - * Messenger information. + * Messenger information: + * <dl> + * <dt> + * array `message` + * <dt> + * <dd> + * Message information: + * <dl><dt>string `id`</dt><dd>Message key.</dd></dl> + * </dd> + * </dl> * * @post post * @var array diff --git a/WellnessLiving/Wl/Lead/LeadModel.php b/WellnessLiving/Wl/Lead/LeadModel.php index 72ca5fd0..d0728c2a 100644 --- a/WellnessLiving/Wl/Lead/LeadModel.php +++ b/WellnessLiving/Wl/Lead/LeadModel.php @@ -113,6 +113,16 @@ class LeadModel extends WlModelAbstract */ public $a_skin; + /** + * Whether it is possible to give free promotion when adding a user (only if free promotion is configured in the widget). + * `true` if it is possible, `false` if not. + * + * @get result + * @post get + * @var bool + */ + public $can_use_free_purchase = false; + /** * The key of business to which the new user must be captured. * diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 8971404b..5b15ac44 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -50,22 +50,6 @@ class QuizElementModel extends WlModelAbstract */ public $can_anonymous = false; - /** - * Whether user has privileges to manage form. - * - * @get result - * @var bool - */ - public $can_manage = false; - - /** - * Whether user has privileges to view form responses. - * - * @get result - * @var bool - */ - public $can_view_response = false; - /** * Number of responses for specific quiz. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d69a05d5..b94bce1a 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240529.342231'; + const VERSION='20240531.342617'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From cc7459ec50946b6d7103940f024225153a08db7a Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Mon, 3 Jun 2024 11:52:41 +0000 Subject: [PATCH 09/71] Automatic upgrade of the SDK. Build #342788. --- WellnessLiving/Wl/Catalog/Cart/CartModel.php | 2 ++ WellnessLiving/Wl/Profile/Edit/EditModel.php | 21 ++++++++++++++++++++ WellnessLiving/Wl/WlProfileNoteSid.php | 7 ++++++- WellnessLiving/WlHeaderAuthorization.php | 16 +++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlWebhook.php | 2 +- 6 files changed, 47 insertions(+), 3 deletions(-) diff --git a/WellnessLiving/Wl/Catalog/Cart/CartModel.php b/WellnessLiving/Wl/Catalog/Cart/CartModel.php index 93ac938a..50ca1751 100644 --- a/WellnessLiving/Wl/Catalog/Cart/CartModel.php +++ b/WellnessLiving/Wl/Catalog/Cart/CartModel.php @@ -23,6 +23,8 @@ class CartModel extends WlModelAbstract /** * The list of items in the cart. * <dl> + * <dt>string <var>dl_client_prorate</var></dt> + * <dd>The client prorate date. This will be `null` in cases where the client prorate date hasn't passed.</dd> * <dt>int <var>i_quantity</var></dt> * <dd>The quantity of sale items.</dd> * <dt>int <var>id_sale</var></dt> diff --git a/WellnessLiving/Wl/Profile/Edit/EditModel.php b/WellnessLiving/Wl/Profile/Edit/EditModel.php index 482f9b14..7a475fe3 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditModel.php @@ -149,6 +149,16 @@ class EditModel extends WlModelAbstract */ public $id_register_source = null; + /** + * `true` if address inherit, otherwise `false`. + * + * @get result + * @post get + * @put get + * @var bool + */ + public $is_address_inherit = false; + /** * Indicates whether to display the full profile edit form or the short version. * This is assumed to be used only in user registration mode. @@ -270,6 +280,17 @@ class EditModel extends WlModelAbstract */ public $uid_existed = ''; + /** + * UID of the user, whose address was inherited by the existing client we want to add. + * Empty if non-existent user is being added or user to add is the one, whose address is inherited. + * + * @get result + * @post get + * @put get + * @var string|null + */ + public $uid_inherit_address = null; + /** * UID of the user, whose email was inherited by the existing client we want to add. * Empty if non-existent user is being added or user to add is the one, whose email is inherited. diff --git a/WellnessLiving/Wl/WlProfileNoteSid.php b/WellnessLiving/Wl/WlProfileNoteSid.php index 68a96d81..9cca2fd5 100644 --- a/WellnessLiving/Wl/WlProfileNoteSid.php +++ b/WellnessLiving/Wl/WlProfileNoteSid.php @@ -21,10 +21,15 @@ * </li> * </ol> * - * Last used ID: 4. + * Last used ID: 5. */ abstract class WlProfileNoteSid { + /** + * A list of clients with not redeemed invitations. + */ + const DOORACCESS_BRIVO_INVITATION_BRIVOINVITATIONPROFILE = 5; + /** * A list of accounts with invalid progress log. */ diff --git a/WellnessLiving/WlHeaderAuthorization.php b/WellnessLiving/WlHeaderAuthorization.php index 7ca1a1ab..8c52c1e0 100644 --- a/WellnessLiving/WlHeaderAuthorization.php +++ b/WellnessLiving/WlHeaderAuthorization.php @@ -9,6 +9,20 @@ */ class WlHeaderAuthorization { + /** + * Standard authorization header prefix for requests from our PHP SDK. + * + * @link namespace.Core/Request/Api/doc/authorization-header.md + */ + const VERSION_20150518='20150518'; + + /** + * Authorization header prefix for requests from JS SDK when session ID is stored in the local storage. + * + * @link namespace.Core/Request/Api/doc/authorization-header.md + */ + const VERSION_20210304_CORS='20210304-cors'; + /** * List of headers that were used in computing the signature. * Each element is the name of the header. @@ -64,6 +78,7 @@ class WlHeaderAuthorization /** * Format version for 'Authorization' header. + * One of {@link WlHeaderAuthorization}::`VERSION_*` constants. * * @var string */ @@ -73,6 +88,7 @@ class WlHeaderAuthorization * Retrieves all 'Authorization' headers from the current request. * * @return WlHeaderAuthorization[] All 'Authorization' headers from the current request. + * If the array is empty, then there are no 'Authorization' headers in the request. */ public static function createFromRequest() { diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index b94bce1a..cffe25d8 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240531.342617'; + const VERSION='20240603.342788'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php index ff6f0912..809cccfd 100644 --- a/WellnessLiving/WlWebhook.php +++ b/WellnessLiving/WlWebhook.php @@ -67,7 +67,7 @@ public function isAuthorize() foreach($a_auth as $o_header_auth) { if( - $o_header_auth->s_version==='20150518' && + $o_header_auth->s_version=== WlHeaderAuthorization::VERSION_20150518 && $o_header_auth->s_application_id===$s_config_class::AUTHORIZE_ID && $o_header_auth->s_signature!==null && strlen($o_header_auth->s_signature)==64 From 5f737da6d9e8853c8a6f4f68f1a450cee2c11a9f Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 4 Jun 2024 12:13:36 +0000 Subject: [PATCH 10/71] Automatic upgrade of the SDK. Build #343020. --- WellnessLiving/Config/WlConfigAbstract.php | 66 +++++++ .../Appointment/Book/Payment/PaymentModel.php | 14 +- .../Book/Payment/PaymentMultipleModel.php | 14 +- .../Book/Payment/PaymentPostModel.php | 14 +- .../Book/Service/ServiceListModel.php | 10 +- .../Wl/Profile/Edit/EditByTokenModel.php | 21 +++ WellnessLiving/WlHeaderAuthorization.php | 133 ++++++++++---- WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlWebhook.php | 171 ++++++++++++++---- example-webhook.php | 8 +- 10 files changed, 375 insertions(+), 78 deletions(-) diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 44a821d4..5ef8b1b3 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -4,6 +4,7 @@ use WellnessLiving\Wl\WlRegionSid; use WellnessLiving\WlAssertException; +use WellnessLiving\WlTool; /** * Contains WellnessLiving SDK configuration. @@ -321,6 +322,71 @@ final public function csrfCode($s_session_key) return hash('sha3-512',$s_session_key.'::'.$this::AUTHORIZE_CODE.'::'.$t_time).'.'.$t_time.'.'.substr($s_session_key,0,5); } + /** + * Retrieves the raw body content of the POST request. + * + * Attention! + * This method should be overridden in the descendant so that it always returns + * the raw body content of the POST request if: + * * method execution fails with an error; + * * the developer uses PHP version up to 5.6.0; + * * the `always_populate_raw_post_data` option is disabled; + * * the developer needs to access the raw data of the POST request body. + * + * This is because the only remaining way to get the raw body content of the POST request is to read + * from the 'php://input' stream. + * In PHP versions prior to 5.6.0, the 'php://input' stream can only be read once. + * + * @return string|null Thw raw body content of the POST request. + * `null` if the POST request body is empty. + */ + public static function postRawData() + { + if(version_compare(PHP_VERSION,'5.6.0')<0) + { + $s_always_populate_raw_post_data = ini_get('always_populate_raw_post_data'); + $is_always_populate_raw_post_data = + $s_always_populate_raw_post_data && + $s_always_populate_raw_post_data!=-1 + ; + + if(!$is_always_populate_raw_post_data) + { + trigger_error( + "The 'always_populate_raw_post_data' option disabled. ". + "You must enable the 'always_populate_raw_post_data' option or override this method.", + E_USER_ERROR + ); + } + + if(!array_key_exists('HTTP_RAW_POST_DATA',$_POST)) + trigger_error("The 'HTTP_RAW_POST_DATA' variable is not available.", E_USER_ERROR); + + return $_POST['HTTP_RAW_POST_DATA']; + } + + $a_header = WlTool::getAllHeaders(); + if(!array_key_exists('Content-Type',$a_header)) + trigger_error("The 'Content-Type' header are missing: \n".var_export($a_header,true),E_USER_ERROR); + + if( + ini_get('enable_post_data_reading') && + ( + $a_header['Content-Type']==='multipart/form-data' || + strncmp($a_header['Content-Type'],'multipart/form-data;',20)==0 + ) + ) + { + trigger_error("Cannot read POST request data with content type 'multipart/form-data': \n".var_export($a_header,true),E_USER_ERROR); + } + + $s_post_raw = file_get_contents('php://input'); + if(!$s_post_raw) + return null; + + return $s_post_raw; + } + /** * Returns URL of the server in the current configuration (including trailing slash). * diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index 914e1f6a..badb7b63 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -349,13 +349,23 @@ class PaymentModel extends WlModelAbstract public $m_discount = '0.00'; /** - * Surcharge amount. + * Surcharge amount calculated for credit cards. + * `null` when surcharge is not enabled or calculated. * * @get result - * @var string + * @var string|null */ public $m_surcharge = '0.00'; + /** + * Surcharge amount calculated for ACH. + * `null` when surcharge is not enabled or calculated. + * + * @get result + * @var string|null + */ + public $m_surcharge_ach = '0.00'; + /** * The tax of service. * diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 2f97e642..1f1832fb 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -475,13 +475,23 @@ class PaymentMultipleModel extends WlModelAbstract public $m_discount; /** - * The surcharge amount. + * The surcharge amount calculated for credit cards. + * `null` when surcharge is not enabled or calculated. * * @get result - * @var string + * @var string|null */ public $m_surcharge; + /** + * The surcharge amount calculated for ACH. + * `null` when surcharge is not enabled or calculated. + * + * @get result + * @var string|null + */ + public $m_surcharge_ach; + /** * The amount of tax to pay. * diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index 730712ac..fa0ea669 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -346,13 +346,23 @@ class PaymentPostModel extends WlModelAbstract public $m_discount = '0.00'; /** - * Surcharge amount. + * Surcharge amount calculated for credit cards. + * `null` when surcharge is not enabled or calculated. * * @get result - * @var string + * @var string|null */ public $m_surcharge = '0.00'; + /** + * Surcharge amount calculated for ACH. + * `null` when surcharge is not enabled or calculated. + * + * @get result + * @var string|null + */ + public $m_surcharge_ach = '0.00'; + /** * The tax of service. * diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php index 362daddd..77a32ee3 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php @@ -78,18 +78,18 @@ class ServiceListModel extends WlModelAbstract * </dl> * </dd> * <dt> - * string[] <var>a_login_type_restriction</var> + * array <var>a_login_type_restriction</var> * </dt> * <dd> - * List of login type titles for current service. - * Clients that have one of these types can book service. + * Keys are login type keys, primary keys in {@link \Wl\Login\Type\Sql}, values - List of login types' titles for + * current service. Clients that have one of these types can book service. * </dd> * <dt> * string[] <var>a_member_group_restriction</var> * </dt> * <dd> - * List of member groups titles for current service. - * Clients that belongs to these groups can book service. + * Keys are member group keys, primary keys in {@link \Wl\Member\Group\Sql}, values - list of member groups' titles + * for current service. Clients that belongs to these groups can book service. * </dd> * <dt> * string <var>f_deposit</var> diff --git a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php index 64fb64c7..270f77b4 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php @@ -122,6 +122,16 @@ class EditByTokenModel extends WlModelAbstract */ public $id_register_source = null; + /** + * `true` if address inherit, otherwise `false`. + * + * @get result + * @post get + * @put get + * @var bool + */ + public $is_address_inherit = false; + /** * Indicates whether to display the full profile edit form or the short version. * This is assumed to be used only in user registration mode. @@ -251,6 +261,17 @@ class EditByTokenModel extends WlModelAbstract */ public $uid_existed = ''; + /** + * UID of the user, whose address was inherited by the existing client we want to add. + * Empty if non-existent user is being added or user to add is the one, whose address is inherited. + * + * @get result + * @post get + * @put get + * @var string|null + */ + public $uid_inherit_address = null; + /** * UID of the user, whose email was inherited by the existing client we want to add. * Empty if non-existent user is being added or user to add is the one, whose email is inherited. diff --git a/WellnessLiving/WlHeaderAuthorization.php b/WellnessLiving/WlHeaderAuthorization.php index 8c52c1e0..cc35d6ae 100644 --- a/WellnessLiving/WlHeaderAuthorization.php +++ b/WellnessLiving/WlHeaderAuthorization.php @@ -23,10 +23,29 @@ class WlHeaderAuthorization */ const VERSION_20210304_CORS='20210304-cors'; + /** + * Debug information fields. + * + * `null` if there is no debug information or the header is not + * in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). + * + * The array key is field number. Field numbering starts from 2. + * The value is field value. + * + * @var string[]|null + */ + public $a_debug = null; + + /** + * List of found errors in header format. + * + * @var string[] + */ + public $a_diagnostic = []; + /** * List of headers that were used in computing the signature. * Each element is the name of the header. - * The order of enumeration corresponds to the order of application when generating the signature. * * `null` if there is no value (in case of data format violation). * @@ -35,26 +54,28 @@ class WlHeaderAuthorization public $a_header_sign = null; /** - * Application ID. - * Copy of {@link \WellnessLiving\Config\WlConfigAbstract::AUTHORIZE_ID}. + * Whether the header is in the correct format. * - * `null` if there is no value (in case of data format violation). - * - * @var string|null + * @var bool */ - public $s_application_id = null; + public $is_valid=false; /** - * Source string with debug information. - * `null` if there is no debug information. + * Application ID. + * + * The value must match the value of the {@link WlConfigAbstract::AUTHORIZE_ID} constant. + * + * `null` if the header is not in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). * * @var string|null */ - public $s_debug = null; + public $s_application_id = null; /** * Debug information format version. - * `null` if there is no debug information. + * + * `null` if there is no debug information or the header is not + * in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). * * @var string|null */ @@ -63,7 +84,7 @@ class WlHeaderAuthorization /** * The signature hash. * - * `null` if there is no value (in case of data format violation). + * `null` if the header is not in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). * * @var string|null */ @@ -80,7 +101,9 @@ class WlHeaderAuthorization * Format version for 'Authorization' header. * One of {@link WlHeaderAuthorization}::`VERSION_*` constants. * - * @var string + * `null` if the header is not in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). + * + * @var ?string */ public $s_version; @@ -114,33 +137,81 @@ public static function createParse($s_auth) $o_result = new WlHeaderAuthorization(); $o_result->s_source = $s_auth; - $a_auth = explode(',',$s_auth,4); - $o_result->s_version = $a_auth[0]; + $a_auth = explode(',',$s_auth,5); + if(count($a_auth)!=4) + $o_result->a_diagnostic[] = 'The number of header elements is not as expected (4 expected, '.count($a_auth).' present.).'; + + if(!in_array($a_auth[0],[self::VERSION_20150518,self::VERSION_20210304_CORS])) + $o_result->a_diagnostic[] = 'Error in specifying header version: '.$a_auth[0]; + + $s_version = $a_auth[0]; + if(!isset($a_auth[1])) + { + $o_result->a_diagnostic[] = 'Application ID is missing.'; return $o_result; + } - $o_result->s_application_id = $a_auth[1]; - if(!isset($a_auth[2])) - return $o_result; + $s_application_id = $a_auth[1]; - if($a_auth[2]==='') - $o_result->a_header_sign = []; - else - $o_result->a_header_sign = explode(';',$a_auth[2]); + $a_header_sign = []; + if(isset($a_auth[2]) && $a_auth[2]!=='') + $a_header_sign = explode(';',$a_auth[2]); if(!isset($a_auth[3])) + { + $o_result->a_diagnostic[] = 'Signature is not specified.'; return $o_result; - - $a_sign_debug = explode('.',$a_auth[3],3); - $o_result->s_signature = $a_sign_debug[0]; - if(!isset($a_sign_debug[1])) - return $o_result; - - $o_result->s_debug_version = $a_sign_debug[1]; - if(!isset($a_sign_debug[2])) + } + + $a_signature = explode('.',$a_auth[3]); + if(strlen($a_signature[0])!=64) + $o_result->a_diagnostic[] = 'Signature SHA256 hash length is not 64 characters: '.$a_signature[0]; + + $s_signature = $a_signature[0]; + + // A signature can consist of several fields that are separated by a dot. + // The first field is always the SHA256 hash of the signature. + // Blocks of debugging information may be included in the signature. + // If debug information is present, then the second field is the format version of the debug information block, + // which can be from 1 to 3. + // Depending on the version of the debugging information block, the number of signature fields may vary. + $i_sign_count = count($a_signature); + $s_debug_version = null; + $a_debug = null; + if($i_sign_count>1) + { + $a_debug_field_count = [ + '1' => 5, + '2' => 8, + '3' => 4 + ]; + $s_debug_version = $a_signature[1]; + if(!array_key_exists($s_debug_version,$a_debug_field_count)) + { + $o_result->a_diagnostic[] = 'There was an error in specifying the version of the signature debugging information block.: '.$s_debug_version; + return $o_result; + } + + if($i_sign_count!=$a_debug_field_count[$s_debug_version]) + { + $o_result->a_diagnostic[] = 'The number of signature fields is out of range: '.$i_sign_count; + return $o_result; + } + + $a_debug = array_slice($a_signature,2,null,true); + } + + if($o_result->a_diagnostic) return $o_result; - $o_result->s_debug = $a_sign_debug[2]; + $o_result->a_debug = $a_debug; + $o_result->a_header_sign = $a_header_sign; + $o_result->is_valid = true; + $o_result->s_application_id = $s_application_id; + $o_result->s_debug_version = $s_debug_version; + $o_result->s_signature = $s_signature; + $o_result->s_version = $s_version; return $o_result; } diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index cffe25d8..473b461d 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240603.342788'; + const VERSION='20240604.343020'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php index 809cccfd..6a5b45cf 100644 --- a/WellnessLiving/WlWebhook.php +++ b/WellnessLiving/WlWebhook.php @@ -9,6 +9,13 @@ */ class WlWebhook { + /** + * List of found authentication errors. + * + * @var string[] + */ + public $a_diagnostic = []; + /** * Request variable values. * Key is the variable name, value is the variable value. @@ -16,12 +23,24 @@ class WlWebhook * Cache for the {@link WlWebhook::variable()} method. * * `null` if the {@link WlWebhook::variable()} method was not called. - * `false` if no request variables were passed or a data format error. + * The empty array if no request variables were passed or a data format error. * * @var array|null|false */ private $a_variable = null; + /** + * Whether the request is authorized or not. + * + * The cache of {@link WlWebhook::isAuthorize()} method. + * + * `true` if the request is authorized. `false` if the request is signed incorrectly. + * `null` if the {@link WlWebhook::isAuthorize()} method has not been called yet. + * + * @var bool|null + */ + private $is_authorize = null; + /** * SDK configuration object. * @@ -46,51 +65,111 @@ public function __construct($o_config) */ public function isAuthorize() { - // The request parameters cannot be changed until it is processed. - // After processing the request, the script will complete its work. - static $is_authorize = null; + if($this->is_authorize!==null) + return $this->is_authorize; - if($is_authorize!==null) - return $is_authorize; + $this->is_authorize = false; - $is_authorize = false; + $a_header = WlTool::getAllHeaders(); + if(!array_key_exists('Date',$a_header)) + { + $this->a_diagnostic[] = "There are no 'Date' header:\n".var_export($a_header,true); + return false; + } + + if(!array_key_exists('Content-Type',$a_header)) + { + $this->a_diagnostic[] = "There are no 'Content-Type' header:\n".var_export($a_header,true); + return false; + } + + if($a_header['Content-Type']!=='application/json') + { + $this->a_diagnostic[] = "The content type of POST request is not 'application/json':\n". + var_export($a_header,true) + ; + return false; + } + + if(!array_key_exists('User-Agent',$a_header) || $a_header['User-Agent']!=='WellnessLiving/WebhookAgent') + { + $this->a_diagnostic[] = "The 'User-Agent' header is invalid:\n". + var_export($a_header,true) + ; + return false; + } $a_variable = $this->variable(); - if($a_variable===false) + if(!$a_variable) + { + $this->a_diagnostic[] = 'There are no request variables.'; return false; + } /** @var WlConfigAbstract $s_config_class */ $s_config_class = get_class($this->o_config); $a_auth = WlHeaderAuthorization::createFromRequest(); - $a_signature_receive = []; + if(!$a_auth) + { + $this->a_diagnostic[] = "There are no 'Authorization' headers."; + return false; + } + + $a_signature_hash_receive = []; + $a_auth_valid = []; foreach($a_auth as $o_header_auth) { - if( - $o_header_auth->s_version=== WlHeaderAuthorization::VERSION_20150518 && - $o_header_auth->s_application_id===$s_config_class::AUTHORIZE_ID && - $o_header_auth->s_signature!==null && - strlen($o_header_auth->s_signature)==64 - ) + if(!$o_header_auth->is_valid) { - $a_signature_receive[] = $o_header_auth->s_signature; + $this->a_diagnostic[] = "Invalid 'Authorization' header: ".$o_header_auth->s_source."=>\n". + var_export($o_header_auth->a_diagnostic,true) + ; + + continue; } + + if($o_header_auth->s_version!==WlHeaderAuthorization::VERSION_20150518) + { + $this->a_diagnostic[] = "The 'Authorization' header version error (expected '".WlHeaderAuthorization::VERSION_20150518."'): ".$o_header_auth->s_version; + continue; + } + + if($o_header_auth->s_application_id!==$s_config_class::AUTHORIZE_ID) + { + $this->a_diagnostic[] = "The Application ID is incorrect (expected '".$s_config_class::AUTHORIZE_ID."'): ".$o_header_auth->s_application_id; + continue; + } + + $a_signature_hash_receive[] = $o_header_auth->s_signature; + $a_auth_valid[] = $o_header_auth; } - if(!$a_signature_receive) + if(!$a_signature_hash_receive) return false; - $s_signature_compute = $this->signatureCompute(); - if(in_array($s_signature_compute,$a_signature_receive)) - $is_authorize = true; + $a_signature_compute = $this->signatureCompute(); + if(in_array($a_signature_compute['s_signature'],$a_signature_hash_receive)) + $this->is_authorize = true; + else + { + $this->a_diagnostic[] = "Authorisation error: \n".var_export([ + 'a_signature_compute' => $a_signature_compute, + 'a_header_auth_valid' => $a_auth_valid + ],true); + } - return $is_authorize; + return $this->is_authorize; } /** * Computes the signatures of the current request. * - * @return string The signature of the current request. + * @return string[] The signature of the current request:<dl> + * <dt>string <var>s_signature</var></dt><dd>The signature SHA256 hash.</dd> + * <dt>string <var>s_signature_check</var></dt><dd>Check characters of data that was used for signature.</dd> + * </dl> + * @throws WlAssertException */ private function signatureCompute() { @@ -117,37 +196,63 @@ private function signatureCompute() ]; $s_signature_compute = WlModelRequest::signatureCompute($a_signature); + $a_signature_compute = explode('.',$s_signature_compute); + + // We further assume that the signature version is fixed. + // If there is a different version, then it is necessary to reconsider the result returned by the method, + // as well as the use of this result. + WlAssertException::assertTrue(count($a_signature_compute)==5 && $a_signature_compute[1]==='1',[ + 'a_signature_compute' => $a_signature_compute, + 'text_message' => 'Unexpected computed signature format.', + ]); - // Truncate the debug information. - $a_signature = explode('.',$s_signature_compute,2); - return $a_signature[0]; + return [ + 's_signature' => $a_signature_compute[0], + 's_signature_check' => $a_signature_compute[2] + ]; } /** * Gets the request variable values. * + * Request variables are passed in the body of the POST request in JSON format. + * To verify the signature, variables are already extracted from the body of the POST request. + * Using this method allows to avoid repeated steps to parse the POST request body. + * + * The method can only be called after the request is authorized (the {@link WlWebhook::isAuthorize()} method). + * * @return array|false Request variable values. - * `false` if no request variables were passed or a data format error. + * The empty array if no request variables were passed or a data format error. + * The array key is field value. The value is the field value. */ public function variable() { if($this->a_variable!==null) return $this->a_variable; + if($this->is_authorize===null) + trigger_error('Method WlWebhook::isAuthorize() must be called first.',E_USER_ERROR); + // Variables come in the body of the POST request in the form of a json object. - $s_data = file_get_contents('php://input'); + /** @var string|WlConfigAbstract $s_config_class */ + $s_config_class = get_class($this->o_config); + $s_data = $s_config_class::postRawData(); if(!$s_data) { - $this->a_variable = false; - return false; + $this->a_diagnostic[] = 'Request body us empty.'; + $this->a_variable = []; + return []; } $a_variable = @json_decode($s_data,true); - if(!is_array($a_variable) || count($a_variable)==0) - $this->a_variable = false; - else - $this->a_variable = $a_variable; + if(!is_array($a_variable)) + { + $this->a_diagnostic[] = 'Error in request variable format: '.$s_data; + $this->a_variable = []; + return []; + } + $this->a_variable = $a_variable; return $this->a_variable; } } diff --git a/example-webhook.php b/example-webhook.php index 22d6a4c1..d0ddbd90 100644 --- a/example-webhook.php +++ b/example-webhook.php @@ -17,11 +17,15 @@ else { echo "ERROR: Webhook is not authorized.".PHP_EOL; + echo "Diagnostic information:".PHP_EOL; + echo var_export($o_webhook->a_diagnostic,true).PHP_EOL; + return; } -echo "The request body: ".PHP_EOL; -echo var_export($o_webhook->variable(),true); +$a_variable = $o_webhook->variable(); +echo "The request variables: ".PHP_EOL; +echo var_export($a_variable,true); echo PHP_EOL; From 4aa51c50c4d8bfb26a0f602d0a8c8603e309d776 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 4 Jun 2024 18:00:17 +0000 Subject: [PATCH 11/71] Automatic upgrade of the SDK. Build #343130. --- WellnessLiving/Config/WlConfigAbstract.php | 35 ++++---- .../Wl/Announcement/AnnouncementListModel.php | 81 +++++++++++++++++++ .../Wl/Login/WlLoginActivityTypeSid.php | 2 - WellnessLiving/Wl/User/Info/UserInfoModel.php | 20 +++++ WellnessLiving/WlModelRequest.php | 2 +- 5 files changed, 121 insertions(+), 19 deletions(-) create mode 100644 WellnessLiving/Wl/Announcement/AnnouncementListModel.php diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 5ef8b1b3..63d06586 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -323,22 +323,25 @@ final public function csrfCode($s_session_key) } /** - * Retrieves the raw body content of the POST request. - * - * Attention! - * This method should be overridden in the descendant so that it always returns - * the raw body content of the POST request if: - * * method execution fails with an error; - * * the developer uses PHP version up to 5.6.0; - * * the `always_populate_raw_post_data` option is disabled; - * * the developer needs to access the raw data of the POST request body. - * - * This is because the only remaining way to get the raw body content of the POST request is to read - * from the 'php://input' stream. - * In PHP versions prior to 5.6.0, the 'php://input' stream can only be read once. - * - * @return string|null Thw raw body content of the POST request. - * `null` if the POST request body is empty. + * Retrieves the raw content of the HTTP request body. + * + * ## PHP 5.5 and 5.6 compatibility notes + * + * In PHP 5.5 and before, there was not possible to make multiple reads from `php://input` stream. + * And, this method requires reading from this stream. + * If you use PHP 5.5, this will interfere with your application which also needs to read from this stream. + * Please, override this method in your configuration subclass to provide a method to read the entire HTTP request body. + * + * Please, note that there are messages that `php://input` was not reusable in PHP 5.6. See links below for details. + * + * You may also need to override this method if `always_populate_raw_post_data` is disabled. + * + * Feel free to override it in other cases when this default implementation does not work well for you. + * + * @return string|null The raw body content of the POST request. `null` if the POST request body is empty. + * @link https://stackoverflow.com/questions/31762278/how-the-php-input-was-made-reusable-in-5-6 It seems they have removed the notice from their official documentation about that `php://input` was not reusable in PHP 5.5. + * @link https://stackoverflow.com/questions/35361763/php-input-can-only-be-read-once-in-php-5-6-16 Messages that it was not working for someone in PHP 5.6. + * @link https://www.php.net/manual/en/migration56.new-features.php#migration56.new-features.reusable-input PHP 5.6 migration notes: php://input is reusable */ public static function postRawData() { diff --git a/WellnessLiving/Wl/Announcement/AnnouncementListModel.php b/WellnessLiving/Wl/Announcement/AnnouncementListModel.php new file mode 100644 index 00000000..2b82a5f2 --- /dev/null +++ b/WellnessLiving/Wl/Announcement/AnnouncementListModel.php @@ -0,0 +1,81 @@ +<?php + +namespace WellnessLiving\Wl\Announcement; + +use WellnessLiving\Core\Sid\SortOrderSid; +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves a list of announcements. + */ +class AnnouncementListModel extends WlModelAbstract +{ + /** + * List of announcements. + * + * @get result + * @var array[] + */ + public $a_list = []; + + /** + * Order ID for list of announcements. + * + * Used only when {@link AnnouncementListModel::$is_backend} is `true`. + * + * `null` in case when use default order. + * + * @get get,result + * @var int|null + * @see SortOrderSid + */ + public $id_order = null; + + /** + * Sort field ID for list of announcements. + * + * Used only when {@link AnnouncementListModel::$is_backend} is `true`. + * + * `null` in case when use default field. + * + * @get get,result + * @var int|null + */ + public $id_sort_field = null; + + /** + * If `true`, the API is being used from backend. Otherwise, this will be `false`. + * + * @get get + * @var bool + */ + public $is_backend = false; + + /** + * Business key. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * Location key for which need show announcement. + * + * `null` in case when need show location for all locations in business. + * + * @get get + * @var string|null + */ + public $k_location = null; + + /** + * The filter phrase to filter announcements by name. + * + * @get get + * @var string + */ + public $text_search = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php b/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php index 4672c0d0..a7267b20 100644 --- a/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php +++ b/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php @@ -6,8 +6,6 @@ * Manages identifiers of user activity. * * Last ID: 54. - * - * @copyright 2012 - 2015, WellnessLiving Inc, www.wellnessliving.com. */ abstract class WlLoginActivityTypeSid { diff --git a/WellnessLiving/Wl/User/Info/UserInfoModel.php b/WellnessLiving/Wl/User/Info/UserInfoModel.php index b773b995..a4484bff 100644 --- a/WellnessLiving/Wl/User/Info/UserInfoModel.php +++ b/WellnessLiving/Wl/User/Info/UserInfoModel.php @@ -122,6 +122,17 @@ class UserInfoModel extends WlModelAbstract */ public $dt_birth; + /** + * Whether client's login type has a discount. + * `true` - login type has a discount, `false` - otherwise. + * + * This will be `null` if a client has no assigned login type. + * + * @get result + * @var ?bool + */ + public $has_discount = null; + /** * The ID of the user's gender. One of the {@link AGenderSid} constants. * @@ -224,6 +235,15 @@ class UserInfoModel extends WlModelAbstract */ public $s_phone_work = ''; + /** + * Login type title. + * Empty if a client has no client type assigned. + * + * @get result + * @var string + */ + public $text_login_type = ''; + /** * The key of the user. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 473b461d..a4c83dc9 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240604.343020'; + const VERSION='20240604.343130'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 3603b317b016f6111b736a2bc522271f6e181d4d Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 7 Jun 2024 09:46:57 +0000 Subject: [PATCH 12/71] Automatic upgrade of the SDK. Build #343602. --- .../Wl/Appointment/Book/Payment/PaymentModel.php | 10 ++++------ .../Appointment/Book/Payment/PaymentMultipleModel.php | 8 ++++---- WellnessLiving/Wl/Fitbuilder/MessageModel.php | 10 +++++++++- .../Profile/PurchaseList/PurchaseListElementModel.php | 8 ++++++++ WellnessLiving/Wl/Quiz/QuizElementModel.php | 9 +++++++++ WellnessLiving/Wl/WlProfileNoteSid.php | 2 ++ WellnessLiving/WlModelRequest.php | 2 +- 7 files changed, 37 insertions(+), 12 deletions(-) diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index badb7b63..64a6faf4 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -349,20 +349,18 @@ class PaymentModel extends WlModelAbstract public $m_discount = '0.00'; /** - * Surcharge amount calculated for credit cards. - * `null` when surcharge is not enabled or calculated. + * Surcharge amount calculated for credit cards (Virtual Terminal and Card Swiper). * * @get result - * @var string|null + * @var string */ public $m_surcharge = '0.00'; /** - * Surcharge amount calculated for ACH. - * `null` when surcharge is not enabled or calculated. + * Surcharge amount calculated for money transfers from account: ACH, Direct Connect. * * @get result - * @var string|null + * @var string */ public $m_surcharge_ach = '0.00'; diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 1f1832fb..2dfdb7bd 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -475,22 +475,22 @@ class PaymentMultipleModel extends WlModelAbstract public $m_discount; /** - * The surcharge amount calculated for credit cards. + * Surcharge amount calculated for credit cards (Virtual Terminal and Card Swiper). * `null` when surcharge is not enabled or calculated. * * @get result * @var string|null */ - public $m_surcharge; + public $m_surcharge = null; /** - * The surcharge amount calculated for ACH. + * Surcharge amount calculated for money transfers from account: ACH, Direct Connect. * `null` when surcharge is not enabled or calculated. * * @get result * @var string|null */ - public $m_surcharge_ach; + public $m_surcharge_ach = null; /** * The amount of tax to pay. diff --git a/WellnessLiving/Wl/Fitbuilder/MessageModel.php b/WellnessLiving/Wl/Fitbuilder/MessageModel.php index ec41ade3..7dfa428f 100644 --- a/WellnessLiving/Wl/Fitbuilder/MessageModel.php +++ b/WellnessLiving/Wl/Fitbuilder/MessageModel.php @@ -17,7 +17,15 @@ class MessageModel extends WlModelAbstract * <dt> * <dd> * Message information: - * <dl><dt>string `id`</dt><dd>Message key.</dd></dl> + * <dl><dt>string `id`</dt><dd>Message key.</dd> + * <dt>string `message`</dt><dd>Message text.</dd> + * <dt>string `updated_at`</dt><dd>Date/time when the message has been posted.</dd></dl> + * </dd> + * <dt> + * array `user_profile` + * </dt> + * <dd> + * User's information. * </dd> * </dl> * diff --git a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php index 88bcef4e..fffbe99e 100644 --- a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php +++ b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php @@ -790,6 +790,14 @@ class PurchaseListElementModel extends WlModelAbstract */ public $sid_value; + /** + * Expire conditions for the purchased item (only for promotion). + * + * @get result + * @var string + */ + public $text_expire = ''; + /** * The key of the user who paid for this purchase. * diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 5b15ac44..55a60fb6 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -9,6 +9,14 @@ */ class QuizElementModel extends WlModelAbstract { + /** + * Access log data. + * + * @get result + * @var array[] Access log data. + */ + public $a_access_log = []; + /** * List of quiz elements. * @@ -107,6 +115,7 @@ class QuizElementModel extends WlModelAbstract * Quiz login key. * * @delete get + * @get get * @post get * @put get * @var string diff --git a/WellnessLiving/Wl/WlProfileNoteSid.php b/WellnessLiving/Wl/WlProfileNoteSid.php index 9cca2fd5..edfedcb4 100644 --- a/WellnessLiving/Wl/WlProfileNoteSid.php +++ b/WellnessLiving/Wl/WlProfileNoteSid.php @@ -18,6 +18,8 @@ * <li><tt>\Wl\A\B\C\Note</tt></li> * <li><tt>\Wl\A\B\C\CNote</tt></li> * </ol> + * Also, you can set the class name in see tag of the constant's documentation. + * Only one requirement is: the class should exist and path to it should be correct, as an example see {@link WlProfileNoteSid::DOORACCESS_BRIVO_INVITATION_BRIVOINVITATIONPROFILE}. * </li> * </ol> * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index a4c83dc9..1fba3a51 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240604.343130'; + const VERSION='20240607.343602'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 42b8478f7506821c5d7b1ec3106ab012b3690d79 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 19 Jun 2024 15:45:51 +0000 Subject: [PATCH 13/71] Automatic upgrade of the SDK. Build #345342. --- WellnessLiving/Config/WlConfigAbstract.php | 46 ++++- .../Book/Payment/PaymentMultipleModel.php | 10 +- .../Wl/Book/Process/ProcessModel.php | 8 + .../Wl/Book/Process/Store/StoreModel.php | 20 +++ WellnessLiving/Wl/Profile/Edit/EditModel.php | 2 + .../StaffApp/ScheduleListModel.php | 7 + WellnessLiving/WlHeaderAuthorization.php | 168 +++++++++++------- WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlWebhook.php | 146 ++++++++++----- WellnessLiving/WlWebhookOperationSid.php | 26 +++ 10 files changed, 315 insertions(+), 120 deletions(-) create mode 100644 WellnessLiving/WlWebhookOperationSid.php diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 63d06586..6bbf3e81 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -332,7 +332,7 @@ final public function csrfCode($s_session_key) * If you use PHP 5.5, this will interfere with your application which also needs to read from this stream. * Please, override this method in your configuration subclass to provide a method to read the entire HTTP request body. * - * Please, note that there are messages that `php://input` was not reusable in PHP 5.6. See links below for details. + * Note that there are messages that `php://input` was not reusable in PHP 5.6 either. See links below for details. * * You may also need to override this method if `always_populate_raw_post_data` is disabled. * @@ -360,17 +360,45 @@ public static function postRawData() "You must enable the 'always_populate_raw_post_data' option or override this method.", E_USER_ERROR ); + + /** + * User code may ignore errors that are caused through {@link \trigger_error()}. + * Therefore we return `null`. + * + * @noinspection PhpUnreachableStatementInspection + */ + return null; } - if(!array_key_exists('HTTP_RAW_POST_DATA',$_POST)) - trigger_error("The 'HTTP_RAW_POST_DATA' variable is not available.", E_USER_ERROR); + if(!array_key_exists('HTTP_RAW_POST_DATA',$GLOBALS)) + { + trigger_error("The 'HTTP_RAW_POST_DATA' global variable is not available.", E_USER_ERROR); + + /** + * User code may ignore errors that are caused through {@link \trigger_error()}. + * Therefore we return `null`. + * + * @noinspection PhpUnreachableStatementInspection + */ + return null; + } - return $_POST['HTTP_RAW_POST_DATA']; + return $GLOBALS['HTTP_RAW_POST_DATA']; } $a_header = WlTool::getAllHeaders(); if(!array_key_exists('Content-Type',$a_header)) - trigger_error("The 'Content-Type' header are missing: \n".var_export($a_header,true),E_USER_ERROR); + { + trigger_error("The 'Content-Type' header is missing: \n".var_export($a_header,true),E_USER_ERROR); + + /** + * User code may ignore errors that are caused through {@link \trigger_error()}. + * Therefore we return `null`. + * + * @noinspection PhpUnreachableStatementInspection + */ + return null; + } if( ini_get('enable_post_data_reading') && @@ -381,6 +409,14 @@ public static function postRawData() ) { trigger_error("Cannot read POST request data with content type 'multipart/form-data': \n".var_export($a_header,true),E_USER_ERROR); + + /** + * User code may ignore errors that are caused through {@link \trigger_error()}. + * Therefore we return `null`. + * + * @noinspection PhpUnreachableStatementInspection + */ + return null; } $s_post_raw = file_get_contents('php://input'); diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 2dfdb7bd..7055d67a 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -476,21 +476,19 @@ class PaymentMultipleModel extends WlModelAbstract /** * Surcharge amount calculated for credit cards (Virtual Terminal and Card Swiper). - * `null` when surcharge is not enabled or calculated. * * @get result - * @var string|null + * @var string */ - public $m_surcharge = null; + public $m_surcharge = '0.00'; /** * Surcharge amount calculated for money transfers from account: ACH, Direct Connect. - * `null` when surcharge is not enabled or calculated. * * @get result - * @var string|null + * @var string */ - public $m_surcharge_ach = null; + public $m_surcharge_ach = '0.00'; /** * The amount of tax to pay. diff --git a/WellnessLiving/Wl/Book/Process/ProcessModel.php b/WellnessLiving/Wl/Book/Process/ProcessModel.php index d3fc7616..754890eb 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessModel.php +++ b/WellnessLiving/Wl/Book/Process/ProcessModel.php @@ -222,6 +222,14 @@ class ProcessModel extends WlModelAbstract */ public $is_wait; + /** + * If `true`, the user can be placed on a wait list without payment, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_wait_list_unpaid; + /** * Key of session which is booked. * diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 6f28e146..0df69691 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -6,6 +6,7 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** * Manages the booking wizard for the "Purchase Options" page. @@ -20,6 +21,25 @@ class StoreModel extends WlModelAbstract */ public $a_login_activity; + /** + * The selected purchase item. + * + * This new purchasable item should be checked to see if it can be applied to the current class or event before purchasing it. + * + * <dl> + * <dt>int <var>i_session</var></dt> + * <dd>The number of sessions that this item can cover.</dd> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The purchase item ID. Constant from {@link WlPurchaseItemSid}</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The purchase item key.</dd> + * </dl> + * + * @post post + * @var array + */ + public $a_purchase_item_check = []; + /** * Information about the recurring booking: * <dl> diff --git a/WellnessLiving/Wl/Profile/Edit/EditModel.php b/WellnessLiving/Wl/Profile/Edit/EditModel.php index 7a475fe3..6f62c3dd 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditModel.php @@ -150,6 +150,7 @@ class EditModel extends WlModelAbstract public $id_register_source = null; /** + * Whether the address be inherited. * `true` if address inherit, otherwise `false`. * * @get result @@ -283,6 +284,7 @@ class EditModel extends WlModelAbstract /** * UID of the user, whose address was inherited by the existing client we want to add. * Empty if non-existent user is being added or user to add is the one, whose address is inherited. + * `null` If the address is not inherited. * * @get result * @post get diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php index e3622f95..989c9537 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php @@ -75,6 +75,13 @@ class ScheduleListModel extends WlModelAbstract * * </dd> * <dt> + * string[] <var>a_resource_removed</var> + * </dt> + * <dd> + * List of removed assets involved in the session. + * + * </dd> + * <dt> * string[] <var>a_staff</var> * </dt> * <dd> diff --git a/WellnessLiving/WlHeaderAuthorization.php b/WellnessLiving/WlHeaderAuthorization.php index cc35d6ae..14dca260 100644 --- a/WellnessLiving/WlHeaderAuthorization.php +++ b/WellnessLiving/WlHeaderAuthorization.php @@ -24,24 +24,23 @@ class WlHeaderAuthorization const VERSION_20210304_CORS='20210304-cors'; /** - * Debug information fields. + * Information about an authentication error, if found. * - * `null` if there is no debug information or the header is not - * in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). + * This array is designed for logging purposes only. * - * The array key is field number. Field numbering starts from 2. - * The value is field value. + * Known elements: + * * `text_message` - text of the error message which may contain secret information which may not be presented + * to the end users for security reasons. + * * Other elements - additional debugging information which is only designed for logging purposes, + * may contain secret information, may not be presented to the end users, keys and values may change + * without preliminary notice, and thus may not be used by your code. * - * @var string[]|null - */ - public $a_debug = null; - - /** - * List of found errors in header format. + * `null` if there are no authentication errors found. * - * @var string[] + * @var array|null + * @see WlHeaderAuthorization::$is_valid */ - public $a_diagnostic = []; + public $a_diagnostic = null; /** * List of headers that were used in computing the signature. @@ -56,6 +55,15 @@ class WlHeaderAuthorization /** * Whether the header is in the correct format. * + * `true` if authorization header has a valid format. + * + * `false` if there are errors encountered in the format of the authorization header. + * In this case {@link WlHeaderAuthorization::$a_diagnostic} will contain the diagnostic information + * about the found error. + * + * Also, `false` is set if authorization header was not parsed. + * It is parsed by {@link WlHeaderAuthorization::createParse()}. + * * @var bool */ public $is_valid=false; @@ -72,14 +80,40 @@ class WlHeaderAuthorization public $s_application_id = null; /** - * Debug information format version. + * The build number in whose code the signature was generated. + * For debug purposes only. + * + * The part of the source debug string in {@link WlHeaderAuthorization::$s_debug}. + * + * `null` if not specified or could not be parsed. + * + * @var string|null + */ + public $s_build = null; + + /** + * The signature debugging hash. + * For debug purposes only. + * + * The part of the source debug string in {@link WlHeaderAuthorization::$s_debug}. + * + * `null` if not specified or could not be parsed. + * + * @var string|null + */ + public $s_check = null; + + /** + * The source debug string, excluding the signature hash. + * For debug purposes only. * - * `null` if there is no debug information or the header is not - * in the correct format ({@link WlHeaderAuthorization::$is_valid}=`false`). + * `null` if not specified. * * @var string|null + * @see WlHeaderAuthorization::$s_build + * @see WlHeaderAuthorization::$s_check */ - public $s_debug_version = null; + public $s_debug = null; /** * The signature hash. @@ -117,7 +151,7 @@ public static function createFromRequest() { $a_header = WlTool::getAllHeaders(); // When several HTTP headers arrive, on the PHP side they are combined into one, separated by comma+space. - $a_auth = explode(', ',isset($a_header['Authorization'])?$a_header['Authorization']:''); + $a_auth = isset($a_header['Authorization']) ? explode(', ',$a_header['Authorization']) : []; $a_result = []; foreach($a_auth as $s_auth) @@ -139,77 +173,87 @@ public static function createParse($s_auth) $a_auth = explode(',',$s_auth,5); if(count($a_auth)!=4) - $o_result->a_diagnostic[] = 'The number of header elements is not as expected (4 expected, '.count($a_auth).' present.).'; + { + $o_result->a_diagnostic = [ + 'a_auth' => $a_auth, + 'i_count' => count($a_auth), + 'text_message' => 'The number of header elements is not expected (4 expected).' + ]; - if(!in_array($a_auth[0],[self::VERSION_20150518,self::VERSION_20210304_CORS])) - $o_result->a_diagnostic[] = 'Error in specifying header version: '.$a_auth[0]; + return $o_result; + } + $a_version_valid = [self::VERSION_20150518,self::VERSION_20210304_CORS]; $s_version = $a_auth[0]; - - if(!isset($a_auth[1])) + if(!in_array($s_version,$a_version_valid)) { - $o_result->a_diagnostic[] = 'Application ID is missing.'; + $o_result->a_diagnostic = [ + 'a_auth' => $a_auth, + 'a_version_valid' => $a_version_valid, + 's_version' => $s_version, + 'text_message' => 'Unknown header version.' + ]; + return $o_result; } $s_application_id = $a_auth[1]; + if(trim($s_application_id)==='') + { + $o_result->a_diagnostic = [ + 'a_auth' => $a_auth, + 'text_message' => 'Application ID is empty.' + ]; + + return $o_result; + } $a_header_sign = []; - if(isset($a_auth[2]) && $a_auth[2]!=='') + if($a_auth[2]!=='') $a_header_sign = explode(';',$a_auth[2]); - if(!isset($a_auth[3])) + if(trim($a_auth[3])==='') { - $o_result->a_diagnostic[] = 'Signature is not specified.'; + $o_result->a_diagnostic = [ + 'a_auth' => $a_auth, + 'text_message' => 'Signature is not specified.' + ]; + return $o_result; } $a_signature = explode('.',$a_auth[3]); - if(strlen($a_signature[0])!=64) - $o_result->a_diagnostic[] = 'Signature SHA256 hash length is not 64 characters: '.$a_signature[0]; - $s_signature = $a_signature[0]; + if(strlen($s_signature)!=64) + { + $o_result->a_diagnostic = [ + 'a_auth' => $a_auth, + 'a_signature' => $a_signature, + 's_signature' => $s_signature, + 'text_message' => 'Signature SHA256 hash length is not 64 characters.' + ]; + + return $o_result; + } - // A signature can consist of several fields that are separated by a dot. - // The first field is always the SHA256 hash of the signature. - // Blocks of debugging information may be included in the signature. - // If debug information is present, then the second field is the format version of the debug information block, - // which can be from 1 to 3. - // Depending on the version of the debugging information block, the number of signature fields may vary. $i_sign_count = count($a_signature); - $s_debug_version = null; - $a_debug = null; if($i_sign_count>1) { - $a_debug_field_count = [ - '1' => 5, - '2' => 8, - '3' => 4 - ]; - $s_debug_version = $a_signature[1]; - if(!array_key_exists($s_debug_version,$a_debug_field_count)) - { - $o_result->a_diagnostic[] = 'There was an error in specifying the version of the signature debugging information block.: '.$s_debug_version; - return $o_result; - } - - if($i_sign_count!=$a_debug_field_count[$s_debug_version]) - { - $o_result->a_diagnostic[] = 'The number of signature fields is out of range: '.$i_sign_count; - return $o_result; - } - - $a_debug = array_slice($a_signature,2,null,true); - } + $a_signature_debug = array_slice($a_signature,1); + $o_result->s_debug = implode('.',$a_signature_debug); - if($o_result->a_diagnostic) - return $o_result; + $o_result->s_version = $a_signature[1]; + + if($i_sign_count>2) + $o_result->s_check = $a_signature[2]; + + if($i_sign_count>3 && $o_result->s_version==='3') + $o_result->s_build = $a_signature[3]; + } - $o_result->a_debug = $a_debug; $o_result->a_header_sign = $a_header_sign; $o_result->is_valid = true; $o_result->s_application_id = $s_application_id; - $o_result->s_debug_version = $s_debug_version; $o_result->s_signature = $s_signature; $o_result->s_version = $s_version; diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 1fba3a51..858f478f 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240607.343602'; + const VERSION='20240619.345342'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php index 6a5b45cf..39ba0d6c 100644 --- a/WellnessLiving/WlWebhook.php +++ b/WellnessLiving/WlWebhook.php @@ -10,11 +10,22 @@ class WlWebhook { /** - * List of found authentication errors. + * Information about an authentication error, if found. * - * @var string[] + * This array is designed for logging purposes only. + * + * Known elements: + * * `text_message` - text of the error message which may contain secret information which may not be presented + * to the end users for security reasons. + * * Other elements - additional debugging information which is only designed for logging purposes, + * may contain secret information, may not be presented to the end users, keys and values may change + * without preliminary notice, and thus may not be used by your code. + * + * `null` if there are no authentication errors found. + * + * @var array|null */ - public $a_diagnostic = []; + public $a_diagnostic = null; /** * Request variable values. @@ -25,7 +36,7 @@ class WlWebhook * `null` if the {@link WlWebhook::variable()} method was not called. * The empty array if no request variables were passed or a data format error. * - * @var array|null|false + * @var array|null */ private $a_variable = null; @@ -73,71 +84,98 @@ public function isAuthorize() $a_header = WlTool::getAllHeaders(); if(!array_key_exists('Date',$a_header)) { - $this->a_diagnostic[] = "There are no 'Date' header:\n".var_export($a_header,true); + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'text_message' => '`Date` header is missing.' + ]; + return false; } if(!array_key_exists('Content-Type',$a_header)) { - $this->a_diagnostic[] = "There are no 'Content-Type' header:\n".var_export($a_header,true); + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'text_message' => '`Content-Type` header is missing.' + ]; + return false; } if($a_header['Content-Type']!=='application/json') { - $this->a_diagnostic[] = "The content type of POST request is not 'application/json':\n". - var_export($a_header,true) - ; - return false; - } + // In the code below we read the request body and parse it as json. + // Parsing in other formats is not implemented. + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'text_message' => "The content type of request is not 'application/json'." + ]; - if(!array_key_exists('User-Agent',$a_header) || $a_header['User-Agent']!=='WellnessLiving/WebhookAgent') - { - $this->a_diagnostic[] = "The 'User-Agent' header is invalid:\n". - var_export($a_header,true) - ; return false; } $a_variable = $this->variable(); + if($this->a_diagnostic) + return false; + if(!$a_variable) { - $this->a_diagnostic[] = 'There are no request variables.'; + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'text_message' => 'No variables arrived in the HTTP request body.' + ]; + return false; } /** @var WlConfigAbstract $s_config_class */ $s_config_class = get_class($this->o_config); - $a_auth = WlHeaderAuthorization::createFromRequest(); if(!$a_auth) { - $this->a_diagnostic[] = "There are no 'Authorization' headers."; + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'text_message' => "There are no 'Authorization' headers." + ]; + return false; } $a_signature_hash_receive = []; $a_auth_valid = []; + $a_diagnostic_header = []; foreach($a_auth as $o_header_auth) { if(!$o_header_auth->is_valid) { - $this->a_diagnostic[] = "Invalid 'Authorization' header: ".$o_header_auth->s_source."=>\n". - var_export($o_header_auth->a_diagnostic,true) - ; + $a_diagnostic_header[] = [ + 'o_header_auth' => $o_header_auth, + 'text_message' => "Invalid 'Authorization' header." + ]; continue; } if($o_header_auth->s_version!==WlHeaderAuthorization::VERSION_20150518) { - $this->a_diagnostic[] = "The 'Authorization' header version error (expected '".WlHeaderAuthorization::VERSION_20150518."'): ".$o_header_auth->s_version; + $a_diagnostic_header[] = [ + 'o_header_auth' => $o_header_auth, + 'o_header_auth::$s_version' => $o_header_auth->s_version, + 'text_message' => "This version of `Authorization` header is not supported." + ]; + continue; } if($o_header_auth->s_application_id!==$s_config_class::AUTHORIZE_ID) { - $this->a_diagnostic[] = "The Application ID is incorrect (expected '".$s_config_class::AUTHORIZE_ID."'): ".$o_header_auth->s_application_id; + $a_diagnostic_header[] = [ + 'o_header_auth' => $o_header_auth, + 'o_header_auth::$s_application_id' => $o_header_auth->s_application_id, + 's_config_class::AUTHORIZE_ID' => $s_config_class::AUTHORIZE_ID, + 'text_message' => "The Application ID is invalid." + ]; + continue; } @@ -146,17 +184,26 @@ public function isAuthorize() } if(!$a_signature_hash_receive) + { + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'a_diagnostic_header' => $a_diagnostic_header, + 'text_message' => 'There are no valid headers to verify the signature.' + ]; return false; + } $a_signature_compute = $this->signatureCompute(); - if(in_array($a_signature_compute['s_signature'],$a_signature_hash_receive)) + if(in_array($a_signature_compute['s_signature'],$a_signature_hash_receive,true)) $this->is_authorize = true; else { - $this->a_diagnostic[] = "Authorisation error: \n".var_export([ + $this->a_diagnostic = [ + 'a_diagnostic_header' => $a_diagnostic_header, + 'a_header_auth_valid' => $a_auth_valid, 'a_signature_compute' => $a_signature_compute, - 'a_header_auth_valid' => $a_auth_valid - ],true); + 'text_message' => 'Invalid authorization hash.' + ]; } return $this->is_authorize; @@ -198,18 +245,20 @@ private function signatureCompute() $s_signature_compute = WlModelRequest::signatureCompute($a_signature); $a_signature_compute = explode('.',$s_signature_compute); - // We further assume that the signature version is fixed. - // If there is a different version, then it is necessary to reconsider the result returned by the method, - // as well as the use of this result. - WlAssertException::assertTrue(count($a_signature_compute)==5 && $a_signature_compute[1]==='1',[ - 'a_signature_compute' => $a_signature_compute, - 'text_message' => 'Unexpected computed signature format.', - ]); - - return [ - 's_signature' => $a_signature_compute[0], - 's_signature_check' => $a_signature_compute[2] + $a_result = [ + 's_signature' => $a_signature_compute[0] ]; + + $i_signature_compute = count($a_signature_compute); + if($i_signature_compute>1) + { + if($a_signature_compute[1]==='1' && $i_signature_compute>2) + $a_result['s_signature_check'] = $a_signature_compute[2]; + else + $a_result['s_signature_debug'] = implode('.',array_slice($a_signature_compute,1)); + } + + return $a_result; } /** @@ -234,21 +283,26 @@ public function variable() trigger_error('Method WlWebhook::isAuthorize() must be called first.',E_USER_ERROR); // Variables come in the body of the POST request in the form of a json object. - /** @var string|WlConfigAbstract $s_config_class */ - $s_config_class = get_class($this->o_config); - $s_data = $s_config_class::postRawData(); - if(!$s_data) + $s_data_post = ($this->o_config)::postRawData(); + if(!$s_data_post) { - $this->a_diagnostic[] = 'Request body us empty.'; + $this->a_diagnostic = [ + 'text_message' => 'Request body us empty.' + ]; $this->a_variable = []; + return []; } - $a_variable = @json_decode($s_data,true); + $a_variable = @json_decode($s_data_post,true); if(!is_array($a_variable)) { - $this->a_diagnostic[] = 'Error in request variable format: '.$s_data; + $this->a_diagnostic = [ + 's_data_post' => $s_data_post, + 'text_message' => 'Error in request variable format.', + ]; $this->a_variable = []; + return []; } diff --git a/WellnessLiving/WlWebhookOperationSid.php b/WellnessLiving/WlWebhookOperationSid.php new file mode 100644 index 00000000..664bb543 --- /dev/null +++ b/WellnessLiving/WlWebhookOperationSid.php @@ -0,0 +1,26 @@ +<?php + +namespace WellnessLiving; + +/** + * Types of webhook operations. + */ +class WlWebhookOperationSid +{ + /** + * Add row operation. + */ + const CREATED = 1; + + /** + * Delete row operation. + */ + const DELETED = 3; + + /** + * Modification row operation. + */ + const MODIFIED = 2; +} + +?> \ No newline at end of file From 1d1bbbcda14abad009c73b2da8186e968ed903f6 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 19 Jun 2024 18:02:50 +0000 Subject: [PATCH 14/71] Automatic upgrade of the SDK. Build #345368. --- WellnessLiving/Wl/Lead/LeadModel.php | 7 ++++--- WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/WellnessLiving/Wl/Lead/LeadModel.php b/WellnessLiving/Wl/Lead/LeadModel.php index d0728c2a..95b62440 100644 --- a/WellnessLiving/Wl/Lead/LeadModel.php +++ b/WellnessLiving/Wl/Lead/LeadModel.php @@ -115,13 +115,14 @@ class LeadModel extends WlModelAbstract /** * Whether it is possible to give free promotion when adding a user (only if free promotion is configured in the widget). - * `true` if it is possible, `false` if not. + * `true` or `null` if it is possible, `false` if not. + * `null` used for backward compatibility. * * @get result * @post get - * @var bool + * @var bool|null */ - public $can_use_free_purchase = false; + public $can_use_free_purchase = null; /** * The key of business to which the new user must be captured. diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 858f478f..fdcfc1c1 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240619.345342'; + const VERSION='20240619.345368'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 364e40e3b7d1577a87da5fc992d5885d78209168 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 28 Jun 2024 00:04:25 +0000 Subject: [PATCH 15/71] Automatic upgrade of the SDK. Build #347080. --- .../Appointment/Book/Payment/PaymentModel.php | 2 +- .../Book/Payment/PaymentMultipleModel.php | 2 +- .../Book/Payment/PaymentPostModel.php | 10 ++--- .../Wl/Book/Process/Process54Model.php | 8 ++++ .../Wl/Book/Process/Process59Model.php | 8 ++++ .../Schedule/Frontend/LifetimeTotalsModel.php | 44 +++++++++++++++++++ .../Wl/Profile/Edit/EditByTokenModel.php | 2 + WellnessLiving/Wl/Tax/TaxListModel.php | 8 ++++ WellnessLiving/WlHeaderAuthorization.php | 11 ++--- WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlWebhook.php | 16 ++++--- 11 files changed, 92 insertions(+), 21 deletions(-) create mode 100644 WellnessLiving/Wl/Profile/Attendance/Schedule/Frontend/LifetimeTotalsModel.php diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index 64a6faf4..9c25511c 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -357,7 +357,7 @@ class PaymentModel extends WlModelAbstract public $m_surcharge = '0.00'; /** - * Surcharge amount calculated for money transfers from account: ACH, Direct Connect. + * Surcharge amount calculated for money transfers from account: ACH, Direct Entry. * * @get result * @var string diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 7055d67a..5574ca2d 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -483,7 +483,7 @@ class PaymentMultipleModel extends WlModelAbstract public $m_surcharge = '0.00'; /** - * Surcharge amount calculated for money transfers from account: ACH, Direct Connect. + * Surcharge amount calculated for money transfers from account: ACH, Direct Entry. * * @get result * @var string diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index fa0ea669..535e8689 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -346,20 +346,18 @@ class PaymentPostModel extends WlModelAbstract public $m_discount = '0.00'; /** - * Surcharge amount calculated for credit cards. - * `null` when surcharge is not enabled or calculated. + * Surcharge amount calculated for credit cards (Virtual Terminal and Card Swiper). * * @get result - * @var string|null + * @var string */ public $m_surcharge = '0.00'; /** - * Surcharge amount calculated for ACH. - * `null` when surcharge is not enabled or calculated. + * Surcharge amount calculated for money transfers from account: ACH, Direct Entry. * * @get result - * @var string|null + * @var string */ public $m_surcharge_ach = '0.00'; diff --git a/WellnessLiving/Wl/Book/Process/Process54Model.php b/WellnessLiving/Wl/Book/Process/Process54Model.php index ff27f5b1..2b6c94af 100644 --- a/WellnessLiving/Wl/Book/Process/Process54Model.php +++ b/WellnessLiving/Wl/Book/Process/Process54Model.php @@ -224,6 +224,14 @@ class Process54Model extends WlModelAbstract */ public $is_wait; + /** + * If `true`, the user can be placed on a wait list without payment, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_wait_list_unpaid; + /** * Key of session which is booked. * diff --git a/WellnessLiving/Wl/Book/Process/Process59Model.php b/WellnessLiving/Wl/Book/Process/Process59Model.php index 0d4c8b80..7af00b0e 100644 --- a/WellnessLiving/Wl/Book/Process/Process59Model.php +++ b/WellnessLiving/Wl/Book/Process/Process59Model.php @@ -223,6 +223,14 @@ class Process59Model extends WlModelAbstract */ public $is_wait; + /** + * If `true`, the user can be placed on a wait list without payment, `false` otherwise. + * + * @get result + * @var bool + */ + public $is_wait_list_unpaid; + /** * Key of session which is booked. * diff --git a/WellnessLiving/Wl/Profile/Attendance/Schedule/Frontend/LifetimeTotalsModel.php b/WellnessLiving/Wl/Profile/Attendance/Schedule/Frontend/LifetimeTotalsModel.php new file mode 100644 index 00000000..ceba7a57 --- /dev/null +++ b/WellnessLiving/Wl/Profile/Attendance/Schedule/Frontend/LifetimeTotalsModel.php @@ -0,0 +1,44 @@ +<?php + +namespace WellnessLiving\Wl\Profile\Attendance\Schedule\Frontend; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns a list with totals of lifetime visits. + */ +class LifetimeTotalsModel extends WlModelAbstract +{ + /** + * Report totals. + * + * A set of key-value pairs. + * + * @get result + * @var array[] Each element has followed structure: <dl> + * <dt>string <var>text_title</var></dt> + * <dd>Total title.</dd> + * <dt>int <var>s_value</var></dt> + * <dd>Total value.</dd> + * </dl> + */ + public $a_total = []; + + /** + * The business key. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * The user key. + * + * @get get + * @var string + */ + public $uid = '0'; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php index 270f77b4..c42c15ed 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php @@ -123,6 +123,7 @@ class EditByTokenModel extends WlModelAbstract public $id_register_source = null; /** + * Whether the address be inherited. * `true` if address inherit, otherwise `false`. * * @get result @@ -264,6 +265,7 @@ class EditByTokenModel extends WlModelAbstract /** * UID of the user, whose address was inherited by the existing client we want to add. * Empty if non-existent user is being added or user to add is the one, whose address is inherited. + * `null` If the address is not inherited. * * @get result * @post get diff --git a/WellnessLiving/Wl/Tax/TaxListModel.php b/WellnessLiving/Wl/Tax/TaxListModel.php index 9901b9bd..cbf56c2b 100644 --- a/WellnessLiving/Wl/Tax/TaxListModel.php +++ b/WellnessLiving/Wl/Tax/TaxListModel.php @@ -28,6 +28,14 @@ class TaxListModel extends WlModelAbstract */ public $a_list; + /** + * Include a list of franchise taxes, `true` include, otherwise `false. + * + * @get get + * @var bool + */ + public $is_include_franchisee = false; + /** * The key of the business for which to get a list of taxes. * diff --git a/WellnessLiving/WlHeaderAuthorization.php b/WellnessLiving/WlHeaderAuthorization.php index 14dca260..1d7e907f 100644 --- a/WellnessLiving/WlHeaderAuthorization.php +++ b/WellnessLiving/WlHeaderAuthorization.php @@ -145,13 +145,13 @@ class WlHeaderAuthorization * Retrieves all 'Authorization' headers from the current request. * * @return WlHeaderAuthorization[] All 'Authorization' headers from the current request. - * If the array is empty, then there are no 'Authorization' headers in the request. + * An empty array if there are no `Authorization` headers arrived in this request. */ public static function createFromRequest() { $a_header = WlTool::getAllHeaders(); // When several HTTP headers arrive, on the PHP side they are combined into one, separated by comma+space. - $a_auth = isset($a_header['Authorization']) ? explode(', ',$a_header['Authorization']) : []; + $a_auth = !empty($a_header['Authorization']) ? explode(', ',$a_header['Authorization']) : []; $a_result = []; foreach($a_auth as $s_auth) @@ -197,6 +197,8 @@ public static function createParse($s_auth) return $o_result; } + $o_result->s_version = $s_version; + $s_application_id = $a_auth[1]; if(trim($s_application_id)==='') { @@ -242,12 +244,11 @@ public static function createParse($s_auth) $a_signature_debug = array_slice($a_signature,1); $o_result->s_debug = implode('.',$a_signature_debug); - $o_result->s_version = $a_signature[1]; - if($i_sign_count>2) $o_result->s_check = $a_signature[2]; - if($i_sign_count>3 && $o_result->s_version==='3') + $s_version_debug = $a_signature[1]; + if($i_sign_count>3 && $s_version_debug==='3') $o_result->s_build = $a_signature[3]; } diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index fdcfc1c1..12327803 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240619.345368'; + const VERSION='20240628.347080'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php index 39ba0d6c..39102979 100644 --- a/WellnessLiving/WlWebhook.php +++ b/WellnessLiving/WlWebhook.php @@ -115,15 +115,17 @@ public function isAuthorize() } $a_variable = $this->variable(); - if($this->a_diagnostic) - return false; - if(!$a_variable) { - $this->a_diagnostic = [ - 'a_header' => $a_header, - 'text_message' => 'No variables arrived in the HTTP request body.' - ]; + // If there is an error in obtaining variables in the {@link WlWebhook::variable()} method, + // then do not overwrite the error information. + if(!$this->a_diagnostic) + { + $this->a_diagnostic = [ + 'a_header' => $a_header, + 'text_message' => 'No variables arrived in the HTTP request body.' + ]; + } return false; } From b1f14ef6d5aab8d54e2751c485972db05edbd26a Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 2 Jul 2024 12:35:08 +0000 Subject: [PATCH 16/71] Automatic upgrade of the SDK. Build #347600. --- WellnessLiving/Core/Passport/Login/InfoModel.php | 8 ++++++++ WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Core/Passport/Login/InfoModel.php b/WellnessLiving/Core/Passport/Login/InfoModel.php index 5627614a..3a8dd774 100644 --- a/WellnessLiving/Core/Passport/Login/InfoModel.php +++ b/WellnessLiving/Core/Passport/Login/InfoModel.php @@ -9,6 +9,14 @@ */ class InfoModel extends WlModelAbstract { + /** + * Business key. + * + * @get get + * @var string + */ + public $k_business = ''; + /** * The current user key. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 12327803..2a33bcf7 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240628.347080'; + const VERSION='20240702.347600'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 99f854e15e687c735e46745b1302c2a30f1d7ef0 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 2 Jul 2024 16:11:09 +0000 Subject: [PATCH 17/71] Automatic upgrade of the SDK. Build #347681. --- .../Core/Passport/Login/InfoModel.php | 8 ---- WellnessLiving/Wl/Location/ListModel.php | 7 +++ .../Wl/Passport/Login/InfoModel.php | 47 +++++++++++++++++++ WellnessLiving/Wl/Tax/TaxListModel.php | 8 ---- WellnessLiving/WlModelRequest.php | 2 +- 5 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 WellnessLiving/Wl/Passport/Login/InfoModel.php diff --git a/WellnessLiving/Core/Passport/Login/InfoModel.php b/WellnessLiving/Core/Passport/Login/InfoModel.php index 3a8dd774..5627614a 100644 --- a/WellnessLiving/Core/Passport/Login/InfoModel.php +++ b/WellnessLiving/Core/Passport/Login/InfoModel.php @@ -9,14 +9,6 @@ */ class InfoModel extends WlModelAbstract { - /** - * Business key. - * - * @get get - * @var string - */ - public $k_business = ''; - /** * The current user key. * diff --git a/WellnessLiving/Wl/Location/ListModel.php b/WellnessLiving/Wl/Location/ListModel.php index b8205a1c..66d657dd 100644 --- a/WellnessLiving/Wl/Location/ListModel.php +++ b/WellnessLiving/Wl/Location/ListModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Location; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlProjectSid; /** * Returns information for all locations belonging to a business. @@ -24,6 +25,12 @@ class ListModel extends WlModelAbstract * return location information for multiple businesses. Keys refer to location keys. Values refer to subarrays with the next keys: * <dl> * <dt> + * int <var>a_directories</var> + * </dt> + * <dd> + * List of directories from {@link WlProjectSid}, where location is published. + * </dd> + * <dt> * float <var>f_latitude</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/Passport/Login/InfoModel.php b/WellnessLiving/Wl/Passport/Login/InfoModel.php new file mode 100644 index 00000000..67a1d0b1 --- /dev/null +++ b/WellnessLiving/Wl/Passport/Login/InfoModel.php @@ -0,0 +1,47 @@ +<?php + +namespace WellnessLiving\Wl\Passport\Login; + +use WellnessLiving\WlModelAbstract; + +/** + * Gets the user ID for the current user and a password reset URL. + */ +class InfoModel extends WlModelAbstract +{ + /** + * Business key. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * The current user key. + * + * This will be `null` if the user isn't signed in. + * + * @get result + * @var string|null + */ + public $uid; + + /** + * A URL that a user can visit to reset their password. + * + * @get result + * @var string + */ + public $url_password_change; + + /** + * The URL to the registration page. + * + * @get result + * @var string + */ + public $url_register; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Tax/TaxListModel.php b/WellnessLiving/Wl/Tax/TaxListModel.php index cbf56c2b..9901b9bd 100644 --- a/WellnessLiving/Wl/Tax/TaxListModel.php +++ b/WellnessLiving/Wl/Tax/TaxListModel.php @@ -28,14 +28,6 @@ class TaxListModel extends WlModelAbstract */ public $a_list; - /** - * Include a list of franchise taxes, `true` include, otherwise `false. - * - * @get get - * @var bool - */ - public $is_include_franchisee = false; - /** * The key of the business for which to get a list of taxes. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 2a33bcf7..4256e435 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240702.347600'; + const VERSION='20240702.347681'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 228d32071d5209f1b45c1a13a5ca84470f3ba2ed Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 4 Jul 2024 16:01:07 +0000 Subject: [PATCH 18/71] Automatic upgrade of the SDK. Build #348210. --- .../Wl/Book/Process/Store/StoreModel.php | 3 ++- .../Wl/Family/Relation/WlFamilyRelationSid.php | 12 +++++++++++- WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/doc/problems.txt | 14 +++++++++++++- example-webhook.php | 3 +-- 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 0df69691..4ed607bc 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -24,7 +24,8 @@ class StoreModel extends WlModelAbstract /** * The selected purchase item. * - * This new purchasable item should be checked to see if it can be applied to the current class or event before purchasing it. + * This new purchasable item should be checked to see if it can be applied to the current class or event before + * purchasing it. * * <dl> * <dt>int <var>i_session</var></dt> diff --git a/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php b/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php index 1a3a28b1..1bc1570a 100644 --- a/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php +++ b/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php @@ -5,10 +5,20 @@ /** * Relation type between two relatives. * - * Last used ID: 7. + * Last used ID: 9. */ class WlFamilyRelationSid { + /** + * Care provider. + */ + const CAREGIVER = 8; + + /** + * Care recipient. + */ + const CARE_RECEIVER = 9; + /** * Child of the parent. */ diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 4256e435..5163aab9 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240702.347681'; + const VERSION='20240704.348210'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/doc/problems.txt b/WellnessLiving/doc/problems.txt index 4c59b793..6a3943c7 100644 --- a/WellnessLiving/doc/problems.txt +++ b/WellnessLiving/doc/problems.txt @@ -6,4 +6,16 @@ Problem: response error 'signature-mismatch' Reasons: - invalid application code/id in your config file - invalid server URL in your config file -- invalid cookies names in your config file \ No newline at end of file +- invalid cookies names in your config file + +Problem: + you got error "Error executing request to WellnessLiving API (error is reported by network)." +Solution: +- exception that was thrown contains debug information; +- you have to get this information in any way, for example: + catch(WlUserException $e) + { + echo $e."\n"; + } + ; +- then send this information to Wellnessliving Support. \ No newline at end of file diff --git a/example-webhook.php b/example-webhook.php index d0ddbd90..1c0d3989 100644 --- a/example-webhook.php +++ b/example-webhook.php @@ -2,13 +2,12 @@ namespace WlSdkExample; -use WellnessLiving\WlRegionSid; use WellnessLiving\WlWebhook; require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; require_once __DIR__.'/example-config.php'; -$o_config=ExampleConfig::create(WlRegionSid::US_EAST_1); +$o_config=ExampleConfig::create(\WellnessLiving\Wl\WlRegionSid::US_EAST_1); $o_webhook = new WlWebhook($o_config); // We check whether the webhook request is authorized or not. From 701811277a2b391470c3849c3edfaef0e9e4bc59 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 4 Jul 2024 16:12:10 +0000 Subject: [PATCH 19/71] Automatic upgrade of the SDK. Build #348214. --- .../CatalogList/CatalogProductModel.php | 113 +++++++++ .../Wl/Pay/Account/Charge/ChargeModel.php | 233 ++++++++++++++++++ .../Inventory/Count/InventoryCountModel.php | 98 ++++++++ WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 445 insertions(+), 1 deletion(-) create mode 100644 WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php create mode 100644 WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php create mode 100644 WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php diff --git a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php new file mode 100644 index 00000000..2d77e2c7 --- /dev/null +++ b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php @@ -0,0 +1,113 @@ +<?php + +namespace WellnessLiving\Wl\Catalog\CatalogList; + +use WellnessLiving\Core\Sid\SortOrderSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\WlSaleSid; + +/** + * Returns list of products. + */ +class CatalogProductModel extends WlModelAbstract +{ + /** + * Categories with sort settings. Keys are shop category keys, values - sort settings. Has next structure:<dl> + * <dt>array <var>a_order</var></dt> + * <dt>int <var>id_order</var></dt><dd>Sort order. One of {@link SortOrderSid} constants.</dd> + * <dt>int <var>id_sort</var></dt><dd>Sort order ID, one of {@link SortOrderSid} constants.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_category_sort; + + /** + * Additional data to filter products.<dl> + * <dt>array [<var>a_quick_config</var>]</dt> + * <dd>Additional data in a case when catalog list is in Quick Buy mode.</dd> + * + * <dt>array [<var>a_sale_id</var>]</dt> + * <dd>List of special categories for catalogue, each value is one of {@link WlSaleSid} constants.</dd> + * + * <dt>array [<var>a_shop_category</var>]</dt> + * <dd>Shop categories to filter by.</dd> + * + * <dt>int <var>i_last</var></dt> + * <dd>Last shown product.</dd> + * + * <dt>int <var>id_order</var></dt><dd>Sort order ID, one of {@link SortOrderSid}.</dd> + * + * <dt>int <var>id_sort</var></dt> + * + * <dt>string <var>k_business</var></dt> + * <dd>Business key.</dd> + * + * <dt>string [<var>k_location</var>]</dt> + * <dd>Location key.</dd> + * + * <dt>string [<var>s_title</var>]</dt> + * <dd>A title of a product to filter.</dd> + * + * <dt>string [<var>uid</var>]</dt> + * <dd>UID of a user.</dd> + * </dl> + * + * @get get + * @var array + */ + public $a_filter; + + /** + * List of elements. + * + * @get result + * @var array + */ + public $a_product; + + /** + * Last currently shown element. + * + * @get get,result + * @var int + */ + public $i_last; + + /** + * Whether more products can be loaded. + * + * @get result + * @var bool + */ + public $is_load_more; + + /** + * Business key to get products for. + * + * @get get + * @var string + */ + public $k_business; + + /** + * Selected shop category. + * + * <tt>null</tt> if not set yet. + * + * @get get + * @var string + */ + public $k_shop_category = null; + + /** + * Cache key to get products. + * + * @get get,result + * @var string + */ + public $s_cache_key; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php new file mode 100644 index 00000000..584f1861 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php @@ -0,0 +1,233 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Account\Charge; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * Allows to fill user account with a specified payment, or to change reset manually. + * + * This endpoint using captcha check. + * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. + * For this API an action is {@link BusinessPaymentCaptcha::CID}. + */ +class ChargeModel extends WlModelAbstract +{ + /** + * A list of payment sources to pay with. + * + * Each element has next keys: + * <dl> + * <dt> + * array [<var>a_pay_card</var>] + * </dt> + * <dd> + * The payment card information: + * <dl> + * <dt> + * array <var>a_pay_address</var> + * </dt> + * <dd> + * The payment address: + * <dl> + * <dt>boolean <var>is_new</var></dt> + * <dd>Set this value to <tt>1</tt> to add a new payment address or to <tt>0</tt> to use a saved payment address.</dd> + * <dt>string [<var>k_geo_country</var>]</dt> + * <dd>The key of the country used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_geo_region</var>]</dt> + * <dd>The key of the region for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>k_pay_address</var>]</dt> + * <dd>The key of the saved payment address. Specify this to use a saved address.</dd> + * <dt>string [<var>s_city</var>]</dt> + * <dd>The city used for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_name</var>]</dt> + * <dd>The card name. Specify this to add a new address.</dd> + * <dt>string [<var>s_phone</var>]</dt> + * <dd>The payment phone. Specify this to add a new address.</dd> + * <dt>string [<var>s_postal</var>]</dt> + * <dd>The postal code for the payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street1</var>]</dt> + * <dd>The payment address. Specify this to add a new address.</dd> + * <dt>string [<var>s_street2</var>]</dt> + * <dd>The optional payment address. Specify this to add a new address.</dd> + * </dl> + * </dd> + * <dt> + * int [<var>i_csc</var>] + * </dt> + * <dd> + * The credit card CSC. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_month</var>] + * </dt> + * <dd> + * The credit card expiration month. Specify this to add a new card. + * </dd> + * <dt> + * int [<var>i_year</var>] + * </dt> + * <dd> + * The credit card expiration year. Specify this to add a new card. + * </dd> + * <dt> + * boolean <var>is_new</var> + * </dt> + * <dd> + * Specify <tt>1</tt> to add a new card, or <tt>0</tt> to use a saved card. + * </dd> + * <dt> + * string [<var>k_pay_bank</var>] + * </dt> + * <dd> + * The key of the credit card. Specify this to use saved card. + * </dd> + * <dt> + * string [<var>s_comment</var>] + * </dt> + * <dd> + * Optional comment(s). Specify this to add a new card. + * </dd> + * <dt> + * string [<var>s_number</var>] + * </dt> + * <dd> + * The card number. Specify this to add a new card. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>f_amount</var> + * </dt> + * <dd> + * The amount of money to withdraw with this payment source. + * </dd> + * <dt> + * boolean [<var>is_hide</var>] + * </dt> + * <dd> + * Determines whether this payment method is hidden. + * </dd> + * <dt> + * boolean [<var>is_success</var>=<tt>false</tt>] + * </dt> + * <dd> + * Identifies whether this source was successfully charged. + * </dd> + * <dt> + * string [<var>m_surcharge</var>] + * </dt> + * <dd> + * The client-side calculated surcharge. + * </dd> + * <dt> + * string [<var>s_index</var>] + * </dt> + * <dd> + * The index of this form (optional). + * </dd> + * <dt> + * string <var>sid_pay_method</var> + * </dt> + * <dd> + * The payment method ID. + * </dd> + * </dl> + * + * @post post + * @var array[] + */ + public $a_pay_form = []; + + /** + * Key of source mode. One of {@link ModeSid} constants. + * + * @post post + * @var int + */ + public $id_mode = 0; + + /** + * Account charge mode. + * + * @post get + * @var int + */ + public $id_pay_account_charge = 0; + + /** + * Set if the operations are performed under the staff. + * + * @post get + * @var bool + */ + public $is_staff = false; + + /** + * ID of business within which changed user account exists. + * + * Should not be passed if user account is created already. + * In this case {@link ChargeModel::$k_pay_account} should be passed. + * + * If both business ID and account ID passed, system checks if given business is owner of specified account. + * + * @post get + * @var string + */ + public $k_business = 0; + + /** + * ID of user account to refill. + * + * May be 0 if user account is not created yet. + * In this case {@link ChargeModel::$k_business} and {@link ChargeModel::$uid} should be passed. + * + * If not passed, currency of account equals default business currency. + * + * @post get + * @var string + */ + public $k_pay_account = 0; + + /** + * ID of purchase that was created during payment. This value is only returned in a case a purchase was created. + * New purchase is created when {@link ChargeModel::$id_pay_account_charge} equals {@link \RsPayAccountChargeSid::AUTO}. + * + * @post result + * @var int [] + */ + public $k_purchase; + + /** + * Amount of payment. + * + * @post post + * @var string + */ + public $m_amount = '0.00'; + + /** + * Transaction comment. + * + * @post post + * @var string + */ + public $s_comment = ''; + + /** + * ID of user whose account to refill. + * + * Should not be passed if user account is created already. + * In this case {@link ChargeModel::$k_pay_account} should be passed. + * + * If both user ID and account ID passed, system checks if given user is owner of specified account. + * + * @post get + * @var string + */ + public $uid = 0; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php b/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php new file mode 100644 index 00000000..3508f28e --- /dev/null +++ b/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php @@ -0,0 +1,98 @@ +<?php + +namespace WellnessLiving\Wl\Shop\Product\Option\Inventory\Count; + +use WellnessLiving\WlModelAbstract; + +/** + * Change inventory quantity and notes for the shop product options. + */ +class InventoryCountModel extends WlModelAbstract +{ + /** + * List of notes for the shop product options. + * + * @get get + * @post get + * @var array + */ + public $a_note = []; + + /** + * Information about product options for review or search. + * Each element contains: + * <dl> + * <dt>array <var>a_image</var></dt> + * <dd>Information about product image: + * <dl> + * <dt>int <var>i_height</var></dt> + * <dd>Height of the image.</dd> + * <dt>int <var>i_width</var></dt> + * <dd>Width of the image.</dd> + * <dt>string <var>url</var></dt> + * <dd>URL of the image.</dd> + * </dl> + * </dd> + * <dt>string <var>dl_change</var></dt> + * <dd>Date of the last change product inventory.</dd> + * <dt>int <var>i_count</var></dt> + * <dd>Product quantity.</dd> + * <dt>string <var>k_location</var></dt> + * <dd>Key of the location.</dd> + * <dt>string <var>k_shop_product_option</var></dt> + * <dd>Key of the shop product option.</dd> + * <dt>string <var>k_shop_product_option_inventory</var></dt> + * <dd>Key of the shop product option inventory.</dd> + * <dt>string <var>text_category</var></dt> + * <dd>Online Store categories title.</dd> + * <dt>string <var>text_location</var></dt> + * <dd>Location title.</dd> + * <dt>string <var>text_note</var></dt> + * <dd>Product option inventory note.</dd> + * <dt>string <var>text_option</var></dt> + * <dd>Product option title.</dd> + * <dt>string <var>text_product</var></dt> + * <dd>Product title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_product_option = []; + + /** + * List of quantities of the shop product options. + * + * @get get + * @post get + * @var array + */ + public $a_quantity = []; + + /** + * Current business. + * + * @get get + * @post get + * @var string + */ + public $k_business; + + /** + * Product barcode for the search. + * + * @get get + * @var string + */ + public $text_barcode; + + /** + * Current user name. + * + * @get result + * @var string + */ + public $text_user_name; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 5163aab9..f2f78739 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240704.348210'; + const VERSION='20240704.348214'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 995c7460053e0d3c581c7ebd9d567704b61babe7 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 10 Jul 2024 18:16:09 +0000 Subject: [PATCH 20/71] Automatic upgrade of the SDK. Build #349213. --- WellnessLiving/Wl/Profile/Alert/AlertModel.php | 18 ++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Wl/Profile/Alert/AlertModel.php b/WellnessLiving/Wl/Profile/Alert/AlertModel.php index 9bb421a9..0854fb63 100644 --- a/WellnessLiving/Wl/Profile/Alert/AlertModel.php +++ b/WellnessLiving/Wl/Profile/Alert/AlertModel.php @@ -67,6 +67,12 @@ class AlertModel extends WlModelAbstract * * </dd> * <dt> + * bool <var>dt_create</var> + * </dt> + * <dd> + * The date and time in MySQL format in local time when the warning was created. + * </dd> + * <dt> * bool <var>dt_date</var> * </dt> * <dd> @@ -90,6 +96,18 @@ class AlertModel extends WlModelAbstract * <dd> * The text of the warning. * </dd> + * <dt> + * string <var>text_author</var> + * </dt> + * <dd> + * Staff name, who created a note. + * </dd> + * <dt> + * string <var>text_editor</var> + * </dt> + * <dd> + * Staff name, who edited a note last time. + * </dd> * </dl> * * @get result diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index f2f78739..751d6361 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240704.348214'; + const VERSION='20240710.349213'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 24e16a6d5128bedb86f056ac336ea28d1fc2e804 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 10 Jul 2024 18:18:45 +0000 Subject: [PATCH 21/71] Automatic upgrade of the SDK. Build #349218. --- .../CatalogList/CatalogProductModel.php | 39 ++++++++-------- .../Wl/Pay/Account/Charge/ChargeModel.php | 46 +++++++++---------- .../Inventory/Count/InventoryCountModel.php | 42 +++++++++-------- WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 66 insertions(+), 63 deletions(-) diff --git a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php index 2d77e2c7..d6d2d43c 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php @@ -7,15 +7,15 @@ use WellnessLiving\Wl\WlSaleSid; /** - * Returns list of products. + * Returns a list of products. */ class CatalogProductModel extends WlModelAbstract { /** - * Categories with sort settings. Keys are shop category keys, values - sort settings. Has next structure:<dl> + * Categories with sort settings. Keys refer to shop category keys. Values refer to sort settings. Contains the following structure:<dl> * <dt>array <var>a_order</var></dt> - * <dt>int <var>id_order</var></dt><dd>Sort order. One of {@link SortOrderSid} constants.</dd> - * <dt>int <var>id_sort</var></dt><dd>Sort order ID, one of {@link SortOrderSid} constants.</dd> + * <dt>int <var>id_order</var></dt><dd>The sort order. One of the {@link SortOrderSid} constants.</dd> + * <dt>int <var>id_sort</var></dt><dd>The sort order ID. One of the {@link SortOrderSid} constants.</dd> * </dl> * * @get result @@ -26,32 +26,33 @@ class CatalogProductModel extends WlModelAbstract /** * Additional data to filter products.<dl> * <dt>array [<var>a_quick_config</var>]</dt> - * <dd>Additional data in a case when catalog list is in Quick Buy mode.</dd> + * <dd>Additional data for cases where the catalog list is in Quick Buy mode.</dd> * * <dt>array [<var>a_sale_id</var>]</dt> - * <dd>List of special categories for catalogue, each value is one of {@link WlSaleSid} constants.</dd> + * <dd>The list of special categories for the catalogue. Each value is a constant of {@link WlSaleSid}.</dd> * * <dt>array [<var>a_shop_category</var>]</dt> * <dd>Shop categories to filter by.</dd> * * <dt>int <var>i_last</var></dt> - * <dd>Last shown product.</dd> + * <dd>The last shown product.</dd> * - * <dt>int <var>id_order</var></dt><dd>Sort order ID, one of {@link SortOrderSid}.</dd> + * <dt>int <var>id_order</var></dt><dd>The sort order ID. One of the {@link SortOrderSid} constants.</dd> * * <dt>int <var>id_sort</var></dt> + * <dd>The sort options ID.</dd> * * <dt>string <var>k_business</var></dt> - * <dd>Business key.</dd> + * <dd>The business key.</dd> * * <dt>string [<var>k_location</var>]</dt> - * <dd>Location key.</dd> + * <dd>The location key.</dd> * * <dt>string [<var>s_title</var>]</dt> - * <dd>A title of a product to filter.</dd> + * <dd>A title of a product to filter by.</dd> * * <dt>string [<var>uid</var>]</dt> - * <dd>UID of a user.</dd> + * <dd>The UID of a user.</dd> * </dl> * * @get get @@ -60,7 +61,7 @@ class CatalogProductModel extends WlModelAbstract public $a_filter; /** - * List of elements. + * The list of elements. * * @get result * @var array @@ -68,7 +69,7 @@ class CatalogProductModel extends WlModelAbstract public $a_product; /** - * Last currently shown element. + * The currently shown element. * * @get get,result * @var int @@ -76,7 +77,7 @@ class CatalogProductModel extends WlModelAbstract public $i_last; /** - * Whether more products can be loaded. + * Determines whether more products can be loaded. * * @get result * @var bool @@ -84,7 +85,7 @@ class CatalogProductModel extends WlModelAbstract public $is_load_more; /** - * Business key to get products for. + * The business key to get products for. * * @get get * @var string @@ -92,9 +93,9 @@ class CatalogProductModel extends WlModelAbstract public $k_business; /** - * Selected shop category. + * The selected shop category. * - * <tt>null</tt> if not set yet. + * This will be `0` for the system's Unassigned category or `null` if not set yet. * * @get get * @var string @@ -102,7 +103,7 @@ class CatalogProductModel extends WlModelAbstract public $k_shop_category = null; /** - * Cache key to get products. + * The cache key used to get products. * * @get get,result * @var string diff --git a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php index 584f1861..68eaed1a 100644 --- a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php +++ b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php @@ -7,11 +7,11 @@ use WellnessLiving\Wl\Mode\ModeSid; /** - * Allows to fill user account with a specified payment, or to change reset manually. + * Fills a user account with a specified payment. * - * This endpoint using captcha check. - * To pass captcha need study the documentation by captcha API, there you will find that you need to send a captcha for a specific action. - * For this API an action is {@link BusinessPaymentCaptcha::CID}. + * This endpoint uses a CAPTCHA check. + * To pass the CAPTCHA, review the CAPTCHA API doumentation. where you'll find that you must send a CAPTCHA for a specific action. + * For this endpoint, the action is {@link BusinessPaymentCaptcha::CID}. */ class ChargeModel extends WlModelAbstract { @@ -142,7 +142,7 @@ class ChargeModel extends WlModelAbstract public $a_pay_form = []; /** - * Key of source mode. One of {@link ModeSid} constants. + * The source mode key. One of the {@link ModeSid} constants. * * @post post * @var int @@ -150,7 +150,7 @@ class ChargeModel extends WlModelAbstract public $id_mode = 0; /** - * Account charge mode. + * The account charge mode. * * @post get * @var int @@ -158,7 +158,7 @@ class ChargeModel extends WlModelAbstract public $id_pay_account_charge = 0; /** - * Set if the operations are performed under the staff. + * If `true`, the account is filled by a staff member in the backend. Otherwise, this will be `false`. * * @post get * @var bool @@ -166,12 +166,12 @@ class ChargeModel extends WlModelAbstract public $is_staff = false; /** - * ID of business within which changed user account exists. + * The ID of the business the user account belongs to. * - * Should not be passed if user account is created already. - * In this case {@link ChargeModel::$k_pay_account} should be passed. + * This shouldn't be passed if a user account has already been created. + * In such cases, {@link ChargeModel::$k_pay_account} should be passed instead. * - * If both business ID and account ID passed, system checks if given business is owner of specified account. + * If both the business ID and account ID passed, the system checks if the given business is the owner of the specified account. * * @post get * @var string @@ -179,12 +179,12 @@ class ChargeModel extends WlModelAbstract public $k_business = 0; /** - * ID of user account to refill. + * The ID of the user account to refill. * - * May be 0 if user account is not created yet. - * In this case {@link ChargeModel::$k_business} and {@link ChargeModel::$uid} should be passed. + * This may be 0 if a user account hasn't been created yet. + * In such cases, {@link ChargeModel::$k_business} and {@link ChargeModel::$uid} should be passed instead. * - * If not passed, currency of account equals default business currency. + * If not passed, the currency of account equals the default business currency. * * @post get * @var string @@ -192,8 +192,8 @@ class ChargeModel extends WlModelAbstract public $k_pay_account = 0; /** - * ID of purchase that was created during payment. This value is only returned in a case a purchase was created. - * New purchase is created when {@link ChargeModel::$id_pay_account_charge} equals {@link \RsPayAccountChargeSid::AUTO}. + * The ID of the purchase that was created during payment. This value is only returned in cases where a purchase was created. + * A new purchase is created when {@link ChargeModel::$id_pay_account_charge} equals {@link \RsPayAccountChargeSid::AUTO}. * * @post result * @var int [] @@ -201,7 +201,7 @@ class ChargeModel extends WlModelAbstract public $k_purchase; /** - * Amount of payment. + * The payment amount. * * @post post * @var string @@ -209,7 +209,7 @@ class ChargeModel extends WlModelAbstract public $m_amount = '0.00'; /** - * Transaction comment. + * The transaction comment. * * @post post * @var string @@ -217,12 +217,12 @@ class ChargeModel extends WlModelAbstract public $s_comment = ''; /** - * ID of user whose account to refill. + * The ID of the user whose account is being refilled. * - * Should not be passed if user account is created already. - * In this case {@link ChargeModel::$k_pay_account} should be passed. + * This shouldn't be passed if a user account has already been created. + * In such cases, {@link ChargeModel::$k_pay_account} should be passed instead. * - * If both user ID and account ID passed, system checks if given user is owner of specified account. + * If both the user ID and account ID passed, the system checks if the given user is the owner of the specified account. * * @post get * @var string diff --git a/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php b/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php index 3508f28e..d6268400 100644 --- a/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php +++ b/WellnessLiving/Wl/Shop/Product/Option/Inventory/Count/InventoryCountModel.php @@ -5,12 +5,13 @@ use WellnessLiving\WlModelAbstract; /** - * Change inventory quantity and notes for the shop product options. + * Used to retrieve and change inventory quantities and notes for product options in the store. */ class InventoryCountModel extends WlModelAbstract { /** - * List of notes for the shop product options. + * The list of notes for product options in the store. + * Keys refer to product options in the store. Values refer to text notes. * * @get get * @post get @@ -23,36 +24,36 @@ class InventoryCountModel extends WlModelAbstract * Each element contains: * <dl> * <dt>array <var>a_image</var></dt> - * <dd>Information about product image: + * <dd>Information about the product option image: * <dl> * <dt>int <var>i_height</var></dt> - * <dd>Height of the image.</dd> + * <dd>The image height.</dd> * <dt>int <var>i_width</var></dt> - * <dd>Width of the image.</dd> + * <dd>The image width.</dd> * <dt>string <var>url</var></dt> - * <dd>URL of the image.</dd> + * <dd>The image URL.</dd> * </dl> * </dd> * <dt>string <var>dl_change</var></dt> - * <dd>Date of the last change product inventory.</dd> + * <dd>The date of the last product inventory change.</dd> * <dt>int <var>i_count</var></dt> - * <dd>Product quantity.</dd> + * <dd>The product option quantity.</dd> * <dt>string <var>k_location</var></dt> - * <dd>Key of the location.</dd> + * <dd>The location key.</dd> * <dt>string <var>k_shop_product_option</var></dt> - * <dd>Key of the shop product option.</dd> + * <dd>The key of the product option in the store.</dd> * <dt>string <var>k_shop_product_option_inventory</var></dt> - * <dd>Key of the shop product option inventory.</dd> + * <dd>The key of the product option inventory in the store.</dd> * <dt>string <var>text_category</var></dt> - * <dd>Online Store categories title.</dd> + * <dd>The title of the store category.</dd> * <dt>string <var>text_location</var></dt> - * <dd>Location title.</dd> + * <dd>The location title.</dd> * <dt>string <var>text_note</var></dt> - * <dd>Product option inventory note.</dd> + * <dd>The product option inventory note.</dd> * <dt>string <var>text_option</var></dt> - * <dd>Product option title.</dd> + * <dd>The product option title.</dd> * <dt>string <var>text_product</var></dt> - * <dd>Product title.</dd> + * <dd>The product option title.</dd> * </dl> * * @get result @@ -61,7 +62,8 @@ class InventoryCountModel extends WlModelAbstract public $a_product_option = []; /** - * List of quantities of the shop product options. + * The list of product option quantities in the store. + * Keys refer to product options in the store. Values refer to product counts. * * @get get * @post get @@ -70,7 +72,7 @@ class InventoryCountModel extends WlModelAbstract public $a_quantity = []; /** - * Current business. + * The current business. * * @get get * @post get @@ -79,7 +81,7 @@ class InventoryCountModel extends WlModelAbstract public $k_business; /** - * Product barcode for the search. + * The product barcode, used for the search. * * @get get * @var string @@ -87,7 +89,7 @@ class InventoryCountModel extends WlModelAbstract public $text_barcode; /** - * Current user name. + * The current username. * * @get result * @var string diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 751d6361..67bcd7ee 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240710.349213'; + const VERSION='20240710.349218'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From fca54899e8922ef9700755f7ae1171249c0e194c Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Mon, 29 Jul 2024 15:05:10 +0000 Subject: [PATCH 22/71] Automatic upgrade of the SDK. Build #352320. --- .../Book/Product/Product62Model.php | 43 ++++++++++++ .../Appointment/Book/Product/ProductModel.php | 2 + .../Wl/Book/Process/ProcessModel.php | 3 +- .../Book/Process/Purchase/Purchase56Model.php | 2 + .../Process/Purchase/PurchaseElementModel.php | 10 +++ .../Book/Process/Purchase/PurchaseModel.php | 2 + .../Family/Relation/WlFamilyRelationSid.php | 9 ++- WellnessLiving/Wl/Location/ListModel.php | 8 ++- .../Attendance/AttendanceInfoByTokenModel.php | 19 ++++++ WellnessLiving/Wl/Rank/RankModel.php | 51 +++++++++++++++ WellnessLiving/Wl/Report/WlReportSid.php | 65 +++++++------------ .../StaffApp/ScheduleListByTokenModel.php | 6 +- .../StaffApp/ScheduleListModel.php | 4 +- WellnessLiving/Wl/Tag/TagListModel.php | 8 +++ WellnessLiving/Wl/Tax/TaxListModel.php | 18 +++++ WellnessLiving/WlModelRequest.php | 2 +- 16 files changed, 199 insertions(+), 53 deletions(-) create mode 100644 WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php create mode 100644 WellnessLiving/Wl/Rank/RankModel.php diff --git a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php new file mode 100644 index 00000000..0b2c36a4 --- /dev/null +++ b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php @@ -0,0 +1,43 @@ +<?php + +namespace WellnessLiving\Wl\Appointment\Book\Product; + +use WellnessLiving\WlModelAbstract; + +/** + * Returns information about service add-ons. + */ +class Product62Model extends WlModelAbstract +{ + /** + * A list service add-ons. + * + * This will be `null` if not set yet. + * + * @get result + * @var array[] + */ + public $a_product = null; + + /** + * The key of a service to show information for. + * + * @get get + * @var string + */ + public $k_service = '0'; + + /** + * The key of a user to show information for. + * + * Only those products that match the client type or those that have no restrictions will be shown. + * + * `null` if the client is not logged in. + * + * @get get + * @var string|null + */ + public $uid = null; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php b/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php index 20d80d32..40353680 100644 --- a/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php @@ -6,6 +6,8 @@ /** * Returns information about service add-ons. + * + * @depreated Use {@link Product62Model} instead. */ class ProductModel extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Book/Process/ProcessModel.php b/WellnessLiving/Wl/Book/Process/ProcessModel.php index 754890eb..405f3f16 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessModel.php +++ b/WellnessLiving/Wl/Book/Process/ProcessModel.php @@ -7,7 +7,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; -use WellnessLiving\Wl\Mode\ModeSid; /** * Performs the booking wizard steps. @@ -122,7 +121,7 @@ class ProcessModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index e540eb93..d5aebe17 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -175,6 +175,8 @@ class Purchase56Model extends WlModelAbstract * <dd>The key of the user's prize that can be used instead a Purchase Option to book the session.</dd> * <dt>string [<var>k_reward_prize</var>]</dt> * <dd>The key of the reward prize that can be used instead a Purchase Option to book the session.</dd> + * <dt>string [`m_prorate`]</dt> + * <dd>Payment for membership prorate. Not empty only if prorate payment is required.</dd> * <dt>string [<var>s_contract</var>]</dt> * <dd>The contract of the Purchase Option. This is only set if <var>is_contract</var> is `true`.</dd> * <dt>string [<var>s_payment_duration</var>]</dt> diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php index 855877ce..3dc2a9d6 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php @@ -121,6 +121,16 @@ class PurchaseElementModel extends WlModelAbstract */ public $m_price; + /** + * Prorate amount. + * + * `null` if no prorate is required. + * + * @get get + * @var string|null + */ + public $m_prorate = null; + /** * Amount of subtotal for 1 purchase item. * diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index 306e881d..e871bfe4 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -178,6 +178,8 @@ class PurchaseModel extends WlModelAbstract * <dd>The key of the user's prize that can be used instead a Purchase Option to book the session.</dd> * <dt>string [<var>k_reward_prize</var>]</dt> * <dd>The key of the reward prize that can be used instead a Purchase Option to book the session.</dd> + * <dt>string [`m_prorate`]</dt> + * <dd>Payment for membership prorate. Not empty only if prorate payment is required.</dd> * <dt>string [<var>s_contract</var>]</dt> * <dd>The contract of the Purchase Option. This is only set if <var>is_contract</var> is `true`.</dd> * <dt>string [<var>s_payment_duration</var>]</dt> diff --git a/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php b/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php index 1bc1570a..64455b16 100644 --- a/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php +++ b/WellnessLiving/Wl/Family/Relation/WlFamilyRelationSid.php @@ -5,7 +5,7 @@ /** * Relation type between two relatives. * - * Last used ID: 9. + * Last used ID: 10. */ class WlFamilyRelationSid { @@ -24,6 +24,13 @@ class WlFamilyRelationSid */ const CHILD = 5; + /** + * Dependent. + * + * @link https://wellnessliving.atlassian.net/browse/WL-82365 + */ + const DEPENDENT = 10; + /** * Friend. */ diff --git a/WellnessLiving/Wl/Location/ListModel.php b/WellnessLiving/Wl/Location/ListModel.php index 66d657dd..ed86ecd6 100644 --- a/WellnessLiving/Wl/Location/ListModel.php +++ b/WellnessLiving/Wl/Location/ListModel.php @@ -88,7 +88,13 @@ class ListModel extends WlModelAbstract * string [<var>url_logo</var>] * </dt> * <dd> - * The location logo's URL. This will only be set if the location has a logo. + * The location logo's URL. This will only be set if the location has a logo and contains small thumbnail of the image. + * </dd> + * <dt> + * string [<var>url_logo_source</var>] + * </dt> + * <dd> + * The location logo's URL. This will only be set if the location has a logo and contains full uploaded image. * </dd> * </dl> * diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index 2e8ee902..7b5dbf44 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -4,6 +4,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; +use WellnessLiving\Wl\WlSaleSid; use WellnessLiving\Wl\WlServiceSid; /** @@ -51,6 +52,24 @@ class AttendanceInfoByTokenModel extends WlModelAbstract */ public $a_logo = null; + /** + * Default purchase option information. + * <dl> + * <dt>string? <var>id_sale</var></dt> + * <dd>The sale item type, one of the {@link WlSaleSid} constants. + * This will be `null` if the class has no default Purchase Option, or it sets to "Drop-in rate".</dd> + * <dt>string? <var>k_id</var></dt> + * <dd>The default Purchase Option key. + * This will be `null` if the class has no default Purchase Option, or it sets to "Drop-in rate".</dd> + * <dt>bool <var>is_single_default</var></dt> + * <dd>If the default Purchase Option is set to "Drop-in rate" then the value will be `true`, `false` otherwise.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_purchase_option_default = []; + /** * Assets which are bound to this session. * diff --git a/WellnessLiving/Wl/Rank/RankModel.php b/WellnessLiving/Wl/Rank/RankModel.php new file mode 100644 index 00000000..3763ccf3 --- /dev/null +++ b/WellnessLiving/Wl/Rank/RankModel.php @@ -0,0 +1,51 @@ +<?php + +namespace WellnessLiving\Wl\Rank; + +use WellnessLiving\WlModelAbstract; + +/** + * Retrieves information about belts in a business. + * + * This information can be used to figure out totals in the Belts Report. + */ +class RankModel extends WlModelAbstract +{ + /** + * Rank category keys. + * Used to filter belts by belt categories. + * + * @get get + * @var array + */ + public $a_rank_category = []; + + /** + * A list of belts, keys, and information. Each element is an array with the following information: + * + * <dl> + * <dt>string <var>k_rank</var></dt> + * <dd>A belt key.</dd> + * <dt>string <var>k_rank_category</var></dt> + * <dd>A belt category key.</dd> + * <dt>string <var>text_rank</var></dt> + * <dd>Belt title.</dd> + * <dt>string <var>text_rank_category</var></dt> + * <dd>Belt category title.</dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_rank_list = []; + + /** + * Business key. + * + * @get get + * @var string + */ + public $k_business = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Report/WlReportSid.php b/WellnessLiving/Wl/Report/WlReportSid.php index aca403de..afad3c9a 100644 --- a/WellnessLiving/Wl/Report/WlReportSid.php +++ b/WellnessLiving/Wl/Report/WlReportSid.php @@ -210,6 +210,7 @@ abstract class WlReportSid * List of franchisee business hours. * * @title Franchise Business Hours + * @deprecated Report is refactored into new core. */ const BUSINESS_FRANCHISE_HOURS = 247; @@ -397,6 +398,7 @@ abstract class WlReportSid * Franchise leads from lead capture forms. Chart representation. * * @title Leads by Location + * @deprecated Report is refactored into new core. */ const LEAD_FRANCHISE_REPORT_CHART = 173; @@ -404,6 +406,7 @@ abstract class WlReportSid * Franchise leads from lead capture forms. Table representation. * * @title Leads by Location + * @deprecated Report is refactored into new core. */ const LEAD_FRANCHISE_REPORT_LIST = 167; @@ -472,6 +475,7 @@ abstract class WlReportSid * Detail franchise client report table. * * @title Corporate Client Details + * @deprecated Report is refactored into new core. */ const LOGIN_FRANCHISE_DETAIL_LIST = 156; @@ -479,6 +483,7 @@ abstract class WlReportSid * Franchise client status report table. * * @title Corporate Status Report + * @deprecated Report is refactored into new core. */ const LOGIN_FRANCHISE_STATUS_LIST = 162; @@ -796,31 +801,11 @@ abstract class WlReportSid */ const PURCHASE_CLIENT_SUMMARY = 115; - /** - * Detail franchise sales report table. - * - * @title Sales Details by Location - */ - const PURCHASE_FRANCHISE_LOCATION_DETAIL_LIST = 151; - - /** - * Summary franchise sales report table. - * - * @title Sales Summary by Location - */ - const PURCHASE_FRANCHISE_LOCATION_SUMMARY_CHART = 155; - - /** - * Summary franchise sales report table. - * - * @title Sales Summary by Location - */ - const PURCHASE_FRANCHISE_LOCATION_SUMMARY_LIST = 154; - /** * Summary franchise memberships report (chart view). * * @title Memberships by Location + * @deprecated Report is refactored into new core. */ const PURCHASE_FRANCHISE_MEMBERSHIP_CHART = 175; @@ -828,6 +813,7 @@ abstract class WlReportSid * Summary franchise memberships report. * * @title Enterprise Memberships by Location Details + * @deprecated Report is refactored into new core. * @link https://wellnessliving.atlassian.net/browse/WL-46987 */ const PURCHASE_FRANCHISE_MEMBERSHIP_DETAIL = 257; @@ -836,17 +822,10 @@ abstract class WlReportSid * Summary franchise memberships report. * * @title Memberships by Location + * @deprecated Report is refactored into new core. */ const PURCHASE_FRANCHISE_MEMBERSHIP_LIST = 174; - /** - * YOY sales comparison report. - * - * @title YOY Sales Comparison - * @link https://wellnessliving.atlassian.net/browse/WL-7397 - */ - const PURCHASE_FRANCHISE_SALE_COMPARE_LIST = 161; - /** * Purchases that have been bought divided by payment methods. * @@ -883,6 +862,8 @@ abstract class WlReportSid /** * Purchase item count revenue. + * + * @deprecated Report is refactored into new core. */ const PURCHASE_ITEM_COUNT_REVENUE = 51; @@ -898,6 +879,8 @@ abstract class WlReportSid /** * Sales With Revenue Categories report. + * + * @deprecated Report is refactored into new core. */ const PURCHASE_ITEM_LIST_REVENUE = 49; @@ -906,20 +889,6 @@ abstract class WlReportSid */ const PURCHASE_ITEM_LIST_USER = 118; - /** - * Purchase summary by location chart. - * - * @title Sales Summary by Location - */ - const PURCHASE_LOCATION_SUMMARY_CHART = 172; - - /** - * Summary franchise sales report table. - * - * @title Sales Summary by Location - */ - const PURCHASE_LOCATION_SUMMARY_LIST = 153; - /** * List of memberships in chart format. * @@ -967,11 +936,15 @@ abstract class WlReportSid /** * Purchase tag count. + * + * @deprecated Report is refactored into new core. */ const PURCHASE_TAG_COUNT = 30; /** * Purchase tag list. + * + * @deprecated Report is refactored into new core. */ const PURCHASE_TAG_LIST = 31; @@ -1306,6 +1279,7 @@ abstract class WlReportSid * Detail franchise cross-location visits table. * * @title Cross-Location Visits Details + * @deprecated Report is refactored into new core. */ const VISIT_FRANCHISE_LOCATION_CROSS_DETAIL_LIST = 157; @@ -1313,6 +1287,7 @@ abstract class WlReportSid * Summary franchise cross-location visits chart. * * @title Cross-Location Visits Summary + * @deprecated Report is refactored into new core. */ const VISIT_FRANCHISE_LOCATION_CROSS_SUMMARY_CHART = 164; @@ -1327,6 +1302,7 @@ abstract class WlReportSid * Summary franchise cross-location visits table. * * @title Cross-Location Visits Summary + * @deprecated Report is refactored into new core. */ const VISIT_FRANCHISE_LOCATION_CROSS_SUMMARY_LIST = 158; @@ -1344,6 +1320,7 @@ abstract class WlReportSid * Detail cross-location visits table. For regular businesses. * * @title Cross-Location Visits Details + * @deprecated Report is refactored into new core. */ const VISIT_LOCATION_CROSS_DETAIL_LIST = 168; @@ -1351,6 +1328,7 @@ abstract class WlReportSid * Summary cross-location visits chart. For regular businesses. * * @title Cross-Location Visits Summary + * @deprecated Report is refactored into new core. */ const VISIT_LOCATION_CROSS_SUMMARY_CHART = 170; @@ -1358,6 +1336,7 @@ abstract class WlReportSid * Summary cross-location visits table. For regular businesses. * * @title Cross-Location Visits Summary + * @deprecated Report is refactored into new core. */ const VISIT_LOCATION_CROSS_SUMMARY_LIST = 169; diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php index 463f06b2..0855e22a 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php @@ -312,7 +312,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * @get get * @var string */ - public $dl_end = null; + public $dl_end = ''; /** * The start date of the range from which the list of scheduled sessions should be retrieved. @@ -323,7 +323,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * @get get * @var string */ - public $dl_start = null; + public $dl_start = ''; /** * The date of the sessions in Coordinated Universal Time (UTC) and MySQL format. @@ -343,7 +343,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * @get result * @var bool */ - public $is_virtual_service = null; + public $is_virtual_service; /** * Business key. diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php index 989c9537..7db7b8f5 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php @@ -318,7 +318,7 @@ class ScheduleListModel extends WlModelAbstract * @get get * @var string */ - public $dl_end; + public $dl_end = ''; /** * The start date of the range from which the list of scheduled sessions should be retrieved. @@ -329,7 +329,7 @@ class ScheduleListModel extends WlModelAbstract * @get get * @var string */ - public $dl_start; + public $dl_start = ''; /** * The date of the sessions in Coordinated Universal Time (UTC) and MySQL format. diff --git a/WellnessLiving/Wl/Tag/TagListModel.php b/WellnessLiving/Wl/Tag/TagListModel.php index 3bd80169..76d2021c 100644 --- a/WellnessLiving/Wl/Tag/TagListModel.php +++ b/WellnessLiving/Wl/Tag/TagListModel.php @@ -24,6 +24,14 @@ class TagListModel extends WlModelAbstract */ public $a_list; + /** + * Whether a business did set up a penalty fee for failed automatic payments. + * + * @get result + * @var bool + */ + public $has_fee = false; + /** * Whether a business did set up surcharges. * diff --git a/WellnessLiving/Wl/Tax/TaxListModel.php b/WellnessLiving/Wl/Tax/TaxListModel.php index 9901b9bd..0bce1a28 100644 --- a/WellnessLiving/Wl/Tax/TaxListModel.php +++ b/WellnessLiving/Wl/Tax/TaxListModel.php @@ -28,6 +28,24 @@ class TaxListModel extends WlModelAbstract */ public $a_list; + /** + * Whether a business has hidden. + * `true` if business franchisor has franchisee with taxes. + * + * @get result + * @var bool + */ + public $is_hidden_tax = false; + + /** + * Whether a business has removed taxes. + * `true` if business has removed tax. + * + * @get result + * @var bool + */ + public $is_removed_tax = false; + /** * The key of the business for which to get a list of taxes. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 67bcd7ee..0d06c7b5 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240710.349218'; + const VERSION='20240729.352320'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 06d89e53de48f007edb8161bf518cbb2e1f16f16 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Mon, 29 Jul 2024 22:22:41 +0000 Subject: [PATCH 23/71] Automatic upgrade of the SDK. Build #352378. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 0d06c7b5..ee1cad62 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240729.352320'; + const VERSION='20240729.352378'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 8f8c85bad63dbcb2bbdf1c66c6feee8ad7f3645c Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 13:15:13 +0000 Subject: [PATCH 24/71] Automatic upgrade of the SDK. Build #352481. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index ee1cad62..d9f063e9 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240729.352378'; + const VERSION='20240730.352481'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 504568639459f27e93c6b55d719a00c61d6b0644 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 13:43:08 +0000 Subject: [PATCH 25/71] Automatic upgrade of the SDK. Build #352483. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d9f063e9..d3515021 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352481'; + const VERSION='20240730.352483'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 7652502eb0fc92ff290ec5f73d77b9170238fff1 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 21:07:13 +0000 Subject: [PATCH 26/71] Automatic upgrade of the SDK. Build #352568. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d3515021..ddc92145 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352483'; + const VERSION='20240730.352568'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 4fef662f99c9a585bbb8d407b7bd029cdb53ef33 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 21:23:54 +0000 Subject: [PATCH 27/71] Automatic upgrade of the SDK. Build #352572. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index ddc92145..98585fd1 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352568'; + const VERSION='20240730.352572'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From e0dd2cde87ce2f2f7840b7c21f0cfa218b5751e4 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 21:28:58 +0000 Subject: [PATCH 28/71] Automatic upgrade of the SDK. Build #352573. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 98585fd1..9ee2f058 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352572'; + const VERSION='20240730.352573'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 459127e1729fa80fbd75dcf84323565f94e3d851 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 21:31:40 +0000 Subject: [PATCH 29/71] Automatic upgrade of the SDK. Build #352574. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 9ee2f058..afec422e 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352573'; + const VERSION='20240730.352574'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From f748b90bc9cf06703a578f5ebb5b46e3a0bf9931 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 22:02:08 +0000 Subject: [PATCH 30/71] Automatic upgrade of the SDK. Build #352584. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index afec422e..7213a5ba 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352574'; + const VERSION='20240730.352584'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 765bcadce38a2ac71f342f68f7ac1ca332267284 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 22:08:53 +0000 Subject: [PATCH 31/71] Automatic upgrade of the SDK. Build #352589. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 7213a5ba..7df1bf9a 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352584'; + const VERSION='20240730.352589'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 66444a891e4094e34c8e5f9f028ecedce3eabf31 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 30 Jul 2024 22:16:19 +0000 Subject: [PATCH 32/71] Automatic upgrade of the SDK. Build #352590. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 7df1bf9a..ed9fb87e 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352589'; + const VERSION='20240730.352590'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 806be8d7ec0366980a0dd02a0c9bb1c65ee84104 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 31 Jul 2024 13:16:02 +0000 Subject: [PATCH 33/71] Automatic upgrade of the SDK. Build #352697. --- WellnessLiving/Wl/Profile/Edit/EditModel.php | 8 ++++ WellnessLiving/Wl/User/Info/UserInfoModel.php | 40 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Wl/Profile/Edit/EditModel.php b/WellnessLiving/Wl/Profile/Edit/EditModel.php index 6f62c3dd..5eed88d4 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditModel.php @@ -160,6 +160,14 @@ class EditModel extends WlModelAbstract */ public $is_address_inherit = false; + /** + * `true` to throw an exception in a case of validation error; `false` to not throw. + * + * @post post + * @var bool + */ + public $is_exception_throw = false; + /** * Indicates whether to display the full profile edit form or the short version. * This is assumed to be used only in user registration mode. diff --git a/WellnessLiving/Wl/User/Info/UserInfoModel.php b/WellnessLiving/Wl/User/Info/UserInfoModel.php index a4484bff..8a74fd74 100644 --- a/WellnessLiving/Wl/User/Info/UserInfoModel.php +++ b/WellnessLiving/Wl/User/Info/UserInfoModel.php @@ -170,6 +170,16 @@ class UserInfoModel extends WlModelAbstract */ public $k_business = '0'; + /** + * Primary key of a city. + * + * `null` is user has no address. + * + * @get result + * @var ?string + */ + public $k_city; + /** * The key of the login type. The login type describes the user's client type in this business. * @@ -235,6 +245,26 @@ class UserInfoModel extends WlModelAbstract */ public $s_phone_work = ''; + /** + * Address inside a city. + * + * `null` is user has no address. + * + * @get result + * @var ?string + */ + public $text_address; + + /** + * City name. + * + * `null` is user has no address. + * + * @get result + * @var ?string + */ + public $text_city; + /** * Login type title. * Empty if a client has no client type assigned. @@ -244,6 +274,16 @@ class UserInfoModel extends WlModelAbstract */ public $text_login_type = ''; + /** + * Postal code. + * + * `null` is user has no address. + * + * @get result + * @var ?string + */ + public $text_postal; + /** * The key of the user. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index ed9fb87e..b975af7e 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240730.352590'; + const VERSION='20240731.352697'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 14242063d9ef7ed083c91c358c5ffcb627c30bfc Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 31 Jul 2024 13:26:49 +0000 Subject: [PATCH 34/71] Automatic upgrade of the SDK. Build #352705. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index b975af7e..89eb744a 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240731.352697'; + const VERSION='20240731.352705'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From ee1ad8358f027913f238d91c309e60e6ac82c7a8 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 31 Jul 2024 14:03:27 +0000 Subject: [PATCH 35/71] Automatic upgrade of the SDK. Build #352714. --- WellnessLiving/WlModelRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 89eb744a..ffd898ed 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240731.352705'; + const VERSION='20240731.352714'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 521db4db09a5ed15e51707bcd5b227e8516d37f2 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 2 Aug 2024 09:27:24 +0000 Subject: [PATCH 36/71] Automatic upgrade of the SDK. Build #353077. --- WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php | 2 +- WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php | 2 ++ WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php | 2 +- WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index 9c25511c..16d3c490 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -282,7 +282,7 @@ class PaymentModel extends WlModelAbstract public $is_walk_in = false; /** - * The item key. Depends of {@link PaymentModel::$id_purchase_item} property. + * The item key. Depends on {@link PaymentModel::$id_purchase_item} property. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php index 0b2c36a4..82c5956b 100644 --- a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php @@ -34,6 +34,8 @@ class Product62Model extends WlModelAbstract * * `null` if the client is not logged in. * + * If you don't need to filter products by client type/group, use {@link ProductModel}. + * * @get get * @var string|null */ diff --git a/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php b/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php index 40353680..6d7e2001 100644 --- a/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Product/ProductModel.php @@ -7,7 +7,7 @@ /** * Returns information about service add-ons. * - * @depreated Use {@link Product62Model} instead. + * If you need to filter products by client type/group, use {@link Product62Model}. */ class ProductModel extends WlModelAbstract { diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index ffd898ed..eccc5884 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240731.352714'; + const VERSION='20240802.353077'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 85cbb858c82a8ceb7a302ff1cf719517f05ed619 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 2 Aug 2024 14:58:28 +0000 Subject: [PATCH 37/71] Automatic upgrade of the SDK. Build #353121. --- WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php | 2 ++ WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php index 82c5956b..17edd34a 100644 --- a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Appointment\Book\Product; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Shop\Product\PurchaseRestrictionSid; /** * Returns information about service add-ons. @@ -30,6 +31,7 @@ class Product62Model extends WlModelAbstract /** * The key of a user to show information for. * + * Products with a {@link PurchaseRestrictionSid::TYPE} restriction will be filtered out. * Only those products that match the client type or those that have no restrictions will be shown. * * `null` if the client is not logged in. diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index eccc5884..4f6d4940 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240802.353077'; + const VERSION='20240802.353121'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 1b4ae8f62f49aebc6343a6e61c9cb6f816aeb534 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 7 Aug 2024 14:19:55 +0000 Subject: [PATCH 38/71] Automatic upgrade of the SDK. Build #353768. --- .../Studio/Task/Branch/BranchListModel.php | 36 +++++++++++++++++++ .../Book/Purchase/PurchaseModel.php | 4 ++- .../Book/Process/Purchase/PurchaseModel.php | 2 ++ WellnessLiving/Wl/Quiz/QuizElementModel.php | 12 +++++++ WellnessLiving/Wl/Quiz/Response/SourceSid.php | 5 +++ WellnessLiving/WlModelRequest.php | 2 +- 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 WellnessLiving/Studio/Task/Branch/BranchListModel.php diff --git a/WellnessLiving/Studio/Task/Branch/BranchListModel.php b/WellnessLiving/Studio/Task/Branch/BranchListModel.php new file mode 100644 index 00000000..6945bc6f --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/BranchListModel.php @@ -0,0 +1,36 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +use WellnessLiving\WlModelAbstract; + +/** + * Runs a build for creation a new branch or delete an existing branch for the specified task. + */ +class BranchListModel extends WlModelAbstract +{ + /** + * List of branch. One element contains: <dl> + * <dt>string <var>dtu_create</var></dt> + * <dd>Date when branch was created.</dd> + * <dt>string <var>k_deploy_instance</var></dt> + * <dd>Key of deployment instance.</dd> + * <dt>string <var>k_task</var></dt> + * <dd>Task key.</dd> + * <dt>string <var>s_fio</var></dt> + * <dd>Task author name.</dd> + * <dt>string <var>s_title</var></dt> + * <dd>Title of the task.</dd> + * <dt>string <var>text_create</var></dt> + * <dd>Formatted time interval when branch was created.</dd> + * <dt>string <var>url_task</var></dt> + * <dd>URL of the task.</dd> + * </dl> + * + * @get result + * @var string[][] + */ + public $a_data; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php index 8cef93cb..89227bf9 100644 --- a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php @@ -72,7 +72,7 @@ class PurchaseModel extends WlModelAbstract * <dt>int <var>i_visit_past</var></dt> * <dd> * The count of attended sessions before the last renewal. - * This will be `0` if no sessions before the last renewal or if the Purchase Option doesn't auto-renew. + * This will be '0' if no sessions before the last renewal or if the Purchase Option doesn't auto-renew. * </dd> * <dt>string <var>text_restriction</var></dt> * <dd>The description of restriction period. For example, "this week" or "for a four-day period".</dd> @@ -82,6 +82,8 @@ class PurchaseModel extends WlModelAbstract * <dd>The count of visits that the Purchase Option allows the client to make.</dd> * <dt>int|null <var>i_limit_duration</var></dt> * <dd>The maximum number of minutes that current Purchase Option can be used for.</dd> + * <dt>int <var>i_promotion_priority</var></dt> + * <dd>Priority of this promotion.</dd> * <dt>int <var>id_program</var></dt> * <dd>The program ID for promotions. One of the {@link WlProgramSid} constants.</dd> * <dt>string <var>k_login_promotion</var></dt> diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index e871bfe4..b9e4227c 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -100,6 +100,8 @@ class PurchaseModel extends WlModelAbstract * <dd>The number of visits the Purchase Option allows the client to make.</dd> * <dt>int|null <var>i_limit_duration</var></dt> * <dd>The maximum number of minutes the Purchase Option can be used for.</dd> + * <dt>int <var>i_promotion_priority</var></dt> + * <dd>Priority of this promotion.</dd> * <dt>int <var>id_program</var></dt> * <dd>The program ID for Purchase Options. One of the {@link WlProgramSid} constants.</dd> * <dt>string <var>k_login_promotion</var></dt> diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 55a60fb6..91acc1e5 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -79,6 +79,18 @@ class QuizElementModel extends WlModelAbstract */ public $is_active = true; + /** + * Whether quiz response received by kiosk or direct mode link. + * + * `true` quiz response received by kiosk mode. + * `false` quiz response received by direct or direct mode) + * + * @get get + * @post get + * @var bool + */ + public $is_simple = false; + /** * List of quiz elements in json format. * diff --git a/WellnessLiving/Wl/Quiz/Response/SourceSid.php b/WellnessLiving/Wl/Quiz/Response/SourceSid.php index 78620d49..13122776 100644 --- a/WellnessLiving/Wl/Quiz/Response/SourceSid.php +++ b/WellnessLiving/Wl/Quiz/Response/SourceSid.php @@ -19,6 +19,11 @@ class SourceSid */ const IMPORT = 6; + /** + * Quiz response received by kiosk mode link. + */ + const KIOSK = 7; + /** * Quiz response received by direct link. */ diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 4f6d4940..8c32134d 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240802.353121'; + const VERSION='20240807.353768'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From e68df26ce5118821ede4dae466b01bc103d5f2da Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 9 Aug 2024 19:03:05 +0000 Subject: [PATCH 39/71] Automatic upgrade of the SDK. Build #354274. --- .../Studio/Deploy/Instance/InstanceModel.php | 19 +++++++++++++++++++ .../Book/Payment/PaymentPostModel.php | 2 +- .../Book/Service/ServiceList52Model.php | 6 ++++++ .../Book/Service/ServiceListModel.php | 6 ++++++ .../Book/Process/Purchase/Purchase56Model.php | 2 ++ WellnessLiving/Wl/Location/ListModel.php | 2 +- .../Wl/Profile/Edit/EditByTokenModel.php | 16 +++++++++++++--- WellnessLiving/Wl/Profile/Edit/EditModel.php | 8 +++++--- WellnessLiving/Wl/Tax/TaxListModel.php | 18 ------------------ WellnessLiving/Wl/User/Info/UserInfoModel.php | 10 +++++----- WellnessLiving/WlModelRequest.php | 2 +- 11 files changed, 59 insertions(+), 32 deletions(-) create mode 100644 WellnessLiving/Studio/Deploy/Instance/InstanceModel.php diff --git a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php new file mode 100644 index 00000000..fd07bdc1 --- /dev/null +++ b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php @@ -0,0 +1,19 @@ +<?php + +namespace WellnessLiving\Studio\Deploy\Instance; + +use WellnessLiving\WlModelAbstract; + +/**/ +class InstanceModel extends WlModelAbstract +{ + /** + * The key of `Studio Deploy Instance`. + * + * @post result + * @var string|null + */ + public $k_deploy_instance = null; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index 535e8689..f0fec16e 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -279,7 +279,7 @@ class PaymentPostModel extends WlModelAbstract public $is_walk_in = false; /** - * The item key. Depends of {@link PaymentModel::$id_purchase_item} property. + * The item key. Depends on {@link PaymentModel::$id_purchase_item} property. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php index 01f9c5d8..f146b339 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php @@ -190,6 +190,12 @@ class ServiceList52Model extends WlModelAbstract * `true` if clients can book classes and appointments on a recurring basis. Otherwise, this `false`. * </dd> * <dt> + * bool <var>is_book_repeat_no_end_date_appointment</var> + * </dt> + * <dd> + * `true` if appointment bookings default to weekly recurring with no end date, `false` otherwise. + * </dd> + * <dt> * bool <var>is_deposit_percent</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php index 77a32ee3..b220abd5 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php @@ -189,6 +189,12 @@ class ServiceListModel extends WlModelAbstract * `true` if clients can book classes and appointments on a recurring basis. Otherwise, this `false`. * </dd> * <dt> + * bool <var>is_book_repeat_no_end_date_appointment</var> + * </dt> + * <dd> + * `true` if appointment bookings default to weekly recurring with no end date, `false` otherwise. + * </dd> + * <dt> * bool <var>is_deposit_percent</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index d5aebe17..aa3f96e9 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -97,6 +97,8 @@ class Purchase56Model extends WlModelAbstract * <dd>The number of visits the Purchase Option allows the client to make.</dd> * <dt>int|null <var>i_limit_duration</var></dt> * <dd>The maximum number of minutes the Purchase Option can be used for.</dd> + * <dt>int <var>i_promotion_priority</var></dt> + * <dd>Priority of this promotion.</dd> * <dt>int <var>id_program</var></dt> * <dd>The program ID for Purchase Options. One of the {@link WlProgramSid} constants.</dd> * <dt>string <var>k_login_promotion</var></dt> diff --git a/WellnessLiving/Wl/Location/ListModel.php b/WellnessLiving/Wl/Location/ListModel.php index ed86ecd6..bd1194b1 100644 --- a/WellnessLiving/Wl/Location/ListModel.php +++ b/WellnessLiving/Wl/Location/ListModel.php @@ -22,7 +22,7 @@ class ListModel extends WlModelAbstract /** * Information about the business's location(s). If you've specified multiple businesses for this endpoint, this will - * return location information for multiple businesses. Keys refer to location keys. Values refer to subarrays with the next keys: + * return location information for multiple businesses. Keys refer to location keys. Values refer to nested arrays with the next keys: * <dl> * <dt> * int <var>a_directories</var> diff --git a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php index c42c15ed..bd26455a 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php @@ -68,16 +68,18 @@ class EditByTokenModel extends WlModelAbstract * An array contained with information about phone inheritance. * The array has the following structure: * <dl> - * <dt>bool [<var>is_phone_inherit</var>]</dt> + * <dt>bool [`is_phone_inherit`]</dt> * <dd>Indicates weather to inherit phone numbers from relative or not. `1` if phone inheritance is needed, '0' otherwise.</dd> - * <dt>string <var>uid_relative</var></dt> + * <dt>string [`text_relative`]</dt> + * <dd>Relative's name.</dd> + * <dt>string `uid_relative`</dt> * <dd>User key of relative.</dd> * </dl> * * @get result * @post post * @put post - * @var array[] + * @var array */ public $a_phone_inherit = []; @@ -133,6 +135,14 @@ class EditByTokenModel extends WlModelAbstract */ public $is_address_inherit = false; + /** + * `true` to throw an exception in a case of validation error; `false` to not throw. + * + * @post post + * @var bool + */ + public $is_exception_throw = false; + /** * Indicates whether to display the full profile edit form or the short version. * This is assumed to be used only in user registration mode. diff --git a/WellnessLiving/Wl/Profile/Edit/EditModel.php b/WellnessLiving/Wl/Profile/Edit/EditModel.php index 5eed88d4..84519060 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditModel.php @@ -95,16 +95,18 @@ class EditModel extends WlModelAbstract * An array contained with information about phone inheritance. * The array has the following structure: * <dl> - * <dt>bool [<var>is_phone_inherit</var>]</dt> + * <dt>bool [`is_phone_inherit`]</dt> * <dd>Indicates weather to inherit phone numbers from relative or not. `1` if phone inheritance is needed, '0' otherwise.</dd> - * <dt>string <var>uid_relative</var></dt> + * <dt>string [`text_relative`]</dt> + * <dd>Relative's name.</dd> + * <dt>string `uid_relative`</dt> * <dd>User key of relative.</dd> * </dl> * * @get result * @post post * @put post - * @var array[] + * @var array */ public $a_phone_inherit = []; diff --git a/WellnessLiving/Wl/Tax/TaxListModel.php b/WellnessLiving/Wl/Tax/TaxListModel.php index 0bce1a28..9901b9bd 100644 --- a/WellnessLiving/Wl/Tax/TaxListModel.php +++ b/WellnessLiving/Wl/Tax/TaxListModel.php @@ -28,24 +28,6 @@ class TaxListModel extends WlModelAbstract */ public $a_list; - /** - * Whether a business has hidden. - * `true` if business franchisor has franchisee with taxes. - * - * @get result - * @var bool - */ - public $is_hidden_tax = false; - - /** - * Whether a business has removed taxes. - * `true` if business has removed tax. - * - * @get result - * @var bool - */ - public $is_removed_tax = false; - /** * The key of the business for which to get a list of taxes. * diff --git a/WellnessLiving/Wl/User/Info/UserInfoModel.php b/WellnessLiving/Wl/User/Info/UserInfoModel.php index 8a74fd74..bece696c 100644 --- a/WellnessLiving/Wl/User/Info/UserInfoModel.php +++ b/WellnessLiving/Wl/User/Info/UserInfoModel.php @@ -171,9 +171,9 @@ class UserInfoModel extends WlModelAbstract public $k_business = '0'; /** - * Primary key of a city. + * City. * - * `null` is user has no address. + * `null` if "address" field is disabled in the business. * * @get result * @var ?string @@ -248,7 +248,7 @@ class UserInfoModel extends WlModelAbstract /** * Address inside a city. * - * `null` is user has no address. + * `null` if "address" field is disabled in the business. * * @get result * @var ?string @@ -258,7 +258,7 @@ class UserInfoModel extends WlModelAbstract /** * City name. * - * `null` is user has no address. + * `null` if "address" field is disabled in the business. * * @get result * @var ?string @@ -277,7 +277,7 @@ class UserInfoModel extends WlModelAbstract /** * Postal code. * - * `null` is user has no address. + * `null` if "address" field is disabled in the business. * * @get result * @var ?string diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 8c32134d..d83cf826 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240807.353768'; + const VERSION='20240809.354274'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 32855483cff8e400adc3c7c6583b1938a24391b1 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 9 Aug 2024 19:23:36 +0000 Subject: [PATCH 40/71] Automatic upgrade of the SDK. Build #354277. --- .../Studio/Deploy/Instance/InstanceModel.php | 90 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php index fd07bdc1..6f954737 100644 --- a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php +++ b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php @@ -7,13 +7,103 @@ /**/ class InstanceModel extends WlModelAbstract { + /** + * List of `Project Role`. + * + * @post post + * @var string[]|null + */ + public $a_role = null; + + /** + * List of tags. + * + * @post post + * @var string[]|null + */ + public $a_tag = null; + + /** + * Allow users to start builds manually by clicking a button. + * + * @post post + * @var bool|null + */ + public $is_button = null; + + /** + * Run build automatically upon commit. + * + * @post post + * @var bool|null + */ + public $is_commit = null; + + /** + * Allow multiple commits to wait in the build queue. + * If not allowed, then only a single (the last one) commit may wait in the queue. + * + * @post post + * @var bool|null + */ + public $is_queue = null; + + /** + * Indicates if instance set as removed. + * + * @post post + * @var bool|null + */ + public $is_remove = null; + + /** + * The key of `Studio Amazon Account`. + * + * @post post + * @var string|null + */ + public $k_amazon_account = null; + /** * The key of `Studio Deploy Instance`. * + * @post post * @post result * @var string|null */ public $k_deploy_instance = null; + + /** + * The key of `Studio Project` + * + * @post post + * @var string|null + */ + public $k_project = null; + + /** + * The name of `Studio Deploy Instance`. + * + * @post post + * @var string|null + */ + public $s_deploy_instance = null; + + /** + * The value contains a list of repository path. + * + * @post post + * @var string|null + */ + public $s_path = null; + + /** + * The value contains a list of variables. + * + * @post post + * @var string|null + */ + public $s_variable = null; } ?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d83cf826..23bc5896 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240809.354274'; + const VERSION='20240809.354277'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 20e4bf13e0ad11110a506bf6c1895afaf07123a9 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 9 Aug 2024 20:42:00 +0000 Subject: [PATCH 41/71] Automatic upgrade of the SDK. Build #354288. --- WellnessLiving/Studio/Deploy/Instance/InstanceModel.php | 7 ++++--- WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php index 6f954737..9043bda0 100644 --- a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php +++ b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php @@ -4,7 +4,9 @@ use WellnessLiving\WlModelAbstract; -/**/ +/** + * Manage `Studio Deploy Instance`. + */ class InstanceModel extends WlModelAbstract { /** @@ -67,8 +69,7 @@ class InstanceModel extends WlModelAbstract /** * The key of `Studio Deploy Instance`. * - * @post post - * @post result + * @post post,result * @var string|null */ public $k_deploy_instance = null; diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 23bc5896..7b5fe03a 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240809.354277'; + const VERSION='20240809.354288'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From bc817005209d57c889e981efd6f4f8d4ae12352a Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 13 Aug 2024 09:48:31 +0000 Subject: [PATCH 42/71] Automatic upgrade of the SDK. Build #354678. --- .../Resource/ApplicationResourceModel.php | 6 +++++- .../Wl/Book/Process/Purchase/PurchaseModel.php | 2 ++ .../Wl/Book/Process/Store/StoreModel.php | 15 ++++++++++----- WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php b/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php index 57b35f1b..b7fca4f8 100644 --- a/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php +++ b/WellnessLiving/Custom/Wl/Skin/Application/Resource/ApplicationResourceModel.php @@ -16,7 +16,7 @@ class ApplicationResourceModel extends WlModelAbstract /** * The application ID placeholder. */ - const ID = '[ID]'; + public const ID = '[ID]'; /** * Updates the `www/js/communication.js` file. @@ -53,6 +53,10 @@ private function _config($k_business, $s_sources) 's_key' => 's_google_reverse', 's_placeholder' => '[GOOGLE_REVERSED_CLIENT_ID]' ], + [ + 's_key' => 's_splash_color_android', + 's_placeholder' => '[SPLASH_COLOR_ANDROID]' + ], [ 's_key' => 'text_domain', 's_placeholder' => static::ID diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index b9e4227c..e33b7968 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -36,6 +36,8 @@ class PurchaseModel extends WlModelAbstract * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> * <dt>string <var>k_login_prize</var></dt> * <dd>Key of login prize.</dd> + * <dt>string <var>s_value</var></dt> + * <dd>The unique identifier.</dd> * <dt>string <var>text_title</var></dt> * <dd>User friendly login prize description.</dd> * </dl> diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 4ed607bc..54dbbfa1 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -6,7 +6,6 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** * Manages the booking wizard for the "Purchase Options" page. @@ -30,10 +29,16 @@ class StoreModel extends WlModelAbstract * <dl> * <dt>int <var>i_session</var></dt> * <dd>The number of sessions that this item can cover.</dd> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The purchase item ID. Constant from {@link WlPurchaseItemSid}</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The purchase item key.</dd> + * <dt>int <var>s_value</var></dt> + * <dd> + * Unique identifier of the element being checked. + * Corresponds to the values: + * <ul> + * <li>{@link PurchaseApi::$a_purchase}`["s_value"]`</li> + * <li>{@link PurchaseApi::$a_reward_prize}`["s_value"]`</li> + * <li>{@link PurchaseApi::$a_login_prize}`["s_value"]`</li> + * </ul> + * </dd> * </dl> * * @post post diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 7b5fe03a..7bb5cbd7 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240809.354288'; + const VERSION='20240813.354678'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From febb26577dc706b529cf3d73684044d3bf9ab4e0 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 14 Aug 2024 15:16:15 +0000 Subject: [PATCH 43/71] Automatic upgrade of the SDK. Build #355228. --- .../Studio/Microservice/Editor/ListModel.php | 53 +++++++++++++++++++ .../Studio/Task/Branch/BranchListModel.php | 7 ++- .../Book/Process/Purchase/Purchase56Model.php | 2 + WellnessLiving/Wl/Quiz/QuizElementModel.php | 2 +- WellnessLiving/WlModelRequest.php | 2 +- 5 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 WellnessLiving/Studio/Microservice/Editor/ListModel.php diff --git a/WellnessLiving/Studio/Microservice/Editor/ListModel.php b/WellnessLiving/Studio/Microservice/Editor/ListModel.php new file mode 100644 index 00000000..69cbe473 --- /dev/null +++ b/WellnessLiving/Studio/Microservice/Editor/ListModel.php @@ -0,0 +1,53 @@ +<?php + +namespace WellnessLiving\Studio\Microservice\Editor; + +use WellnessLiving\Core\a\AFlagSid; +use WellnessLiving\WlModelAbstract; + +/** + * Returns a list of microservices. + */ +class ListModel extends WlModelAbstract +{ + /** + * A list of microservices. One element contains:<dl> + * <dt>bool <var>is_remove</var></dt> + * <dd>Whether the microservice has been deleted. `true` is the microservice is removed, `false` otherwise.</dd> + * <dt>string <var>json_path</var></dt> + * <dd> + * A list of repositories and paths of this microservice. + * + * </dd> + * <dt>string <var>k_project</var></dt> + * <dd>Project key.</dd> + * <dt>string <var>s_file</var></dt> + * <dd>File name.</dd> + * <dt>string <var>text_project</var></dt> + * <dd>Title of the project.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>Title of the microservice.</dd> + * </dl> + * + * @get result + * @var string[][] + */ + public $a_list = []; + + /** + * Specifies whether to show removed and/or not removed microservices. + * + * One of {@link AFlagSid} constants. + * + * * {@link AFlagSid::ON} to show only not removed microservices. + * * {@link AFlagSid::OFF} to show only removed microservices. + * * {@link AFlagSid::ALL} to show all microservices (removed and not removed). + * + * @get get + * @var int + * @see AFlagSid + */ + public $id_remove = 0; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchListModel.php b/WellnessLiving/Studio/Task/Branch/BranchListModel.php index 6945bc6f..02ff22f6 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchListModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchListModel.php @@ -11,6 +11,11 @@ class BranchListModel extends WlModelAbstract { /** * List of branch. One element contains: <dl> + * <dt>string[] <var>a_path</var></dt> + * <dd> + * Information about paths into which catalogs are cloned/copied. + * + * </dd> * <dt>string <var>dtu_create</var></dt> * <dd>Date when branch was created.</dd> * <dt>string <var>k_deploy_instance</var></dt> @@ -28,7 +33,7 @@ class BranchListModel extends WlModelAbstract * </dl> * * @get result - * @var string[][] + * @var array */ public $a_data; } diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index aa3f96e9..7bc73067 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -33,6 +33,8 @@ class Purchase56Model extends WlModelAbstract * <dd>The key of the Purchase Option in the database. The table depends on <var>id_purchase_item</var>.</dd> * <dt>string <var>k_login_prize</var></dt> * <dd>Key of login prize.</dd> + * <dt>string <var>s_value</var></dt> + * <dd>The unique identifier.</dd> * <dt>string <var>text_title</var></dt> * <dd>User friendly login prize description.</dd> * </dl> diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 91acc1e5..e62ed5be 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -83,7 +83,7 @@ class QuizElementModel extends WlModelAbstract * Whether quiz response received by kiosk or direct mode link. * * `true` quiz response received by kiosk mode. - * `false` quiz response received by direct or direct mode) + * `false` quiz response received by direct or direct mode. * * @get get * @post get diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 7bb5cbd7..297d3a81 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240813.354678'; + const VERSION='20240814.355228'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From b57ea7d4e77966a3d6b05df39a9af69916d3944b Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 20 Aug 2024 11:22:13 +0000 Subject: [PATCH 44/71] Automatic upgrade of the SDK. Build #356071. --- .../Studio/Deploy/Cluster/ClusterModel.php | 101 ++++++++++++++++++ .../Studio/Deploy/Instance/InstanceModel.php | 1 + .../Studio/Task/Branch/BranchListModel.php | 4 +- WellnessLiving/Wl/Quiz/QuizElementModel.php | 16 +++ WellnessLiving/Wl/WlPrivilegeSid.php | 26 ++++- WellnessLiving/WlModelRequest.php | 2 +- 6 files changed, 144 insertions(+), 6 deletions(-) create mode 100644 WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php diff --git a/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php b/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php new file mode 100644 index 00000000..45a4b4e5 --- /dev/null +++ b/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php @@ -0,0 +1,101 @@ +<?php + +namespace WellnessLiving\Studio\Deploy\Cluster; + +use WellnessLiving\WlModelAbstract; + +/** + * Manage `Studio Deploy Cluster`. + */ +class ClusterModel extends WlModelAbstract +{ + /** + * SSH port number that should be used by compilation server to connect instance servers. + * + * @post post + * @var int|null + */ + public $i_port = null; + + /** + * Whether this deployment cluster is active. + * + * @post post + * @var int|null + */ + public $is_active = null; + + /** + * Key of the cluster being saved. + * + * @post post,result + * @var string|null + */ + public $k_deploy_cluster = null; + + /** + * ID of deployment server that serves this cluster. + * + * @post post + * @var string|null + */ + public $k_deploy_compile = null; + + /** + * `Deploy Instance` ID. + * + * @post post + * @var string|null + */ + public $k_deploy_instance = null; + + /** + * Cluster description contains either amazon security group id. + * + * @post post + * @var string|null + */ + public $s_cluster = null; + + /** + * Name of this deployment cluster. + * + * @post post + * @var string|null + */ + public $s_deploy_cluster = null; + + /** + * Private key to access all instances of cluster over SSH under control user. + * + * @post post + * @var string|null + */ + public $s_key_control = null; + + /** + * Private key to access all instances of cluster over SSH under instance user. + * + * @post post + * @var string|null + */ + public $s_ssh = null; + + /** + * Name of instance user. + * + * @post post + * @var string|null + */ + public $s_user = null; + + /** + * Name of control user. + * + * @post post + * @var string|null + */ + public $s_user_control = null; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php index 9043bda0..ac79c02f 100644 --- a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php +++ b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php @@ -69,6 +69,7 @@ class InstanceModel extends WlModelAbstract /** * The key of `Studio Deploy Instance`. * + * @delete get * @post post,result * @var string|null */ diff --git a/WellnessLiving/Studio/Task/Branch/BranchListModel.php b/WellnessLiving/Studio/Task/Branch/BranchListModel.php index 02ff22f6..6397c6ed 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchListModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchListModel.php @@ -24,10 +24,10 @@ class BranchListModel extends WlModelAbstract * <dd>Task key.</dd> * <dt>string <var>s_fio</var></dt> * <dd>Task author name.</dd> - * <dt>string <var>s_title</var></dt> - * <dd>Title of the task.</dd> * <dt>string <var>text_create</var></dt> * <dd>Formatted time interval when branch was created.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>Title of the task.</dd> * <dt>string <var>url_task</var></dt> * <dd>URL of the task.</dd> * </dl> diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index e62ed5be..7ba97bb5 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -79,6 +79,14 @@ class QuizElementModel extends WlModelAbstract */ public $is_active = true; + /** + * `true` for request quiz from form builder page, `false` otherwise. + * + * @get get + * @var bool + */ + public $is_builder = false; + /** * Whether quiz response received by kiosk or direct mode link. * @@ -154,6 +162,14 @@ class QuizElementModel extends WlModelAbstract * @var string */ public $text_title = ''; + + /** + * UID of the client for which quiz requested. + * + * @get get + * @var string + */ + public $uid_client = ''; } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlPrivilegeSid.php b/WellnessLiving/Wl/WlPrivilegeSid.php index f29d9df8..dd34a835 100644 --- a/WellnessLiving/Wl/WlPrivilegeSid.php +++ b/WellnessLiving/Wl/WlPrivilegeSid.php @@ -5,7 +5,7 @@ /** * Wellnessliving-wide privileges. * - * Last Used ID: 200. + * Last Used ID: 204. */ abstract class WlPrivilegeSid { @@ -19,6 +19,11 @@ abstract class WlPrivilegeSid */ const APPOINTMENT_BOOK_UNPAID = 167; + /** + * Book appointments for clients with an unsigned waiver. + */ + const APPOINTMENT_BOOK_UNSIGNED = 203; + /** * Edit appointment at my location. */ @@ -42,7 +47,7 @@ abstract class WlPrivilegeSid const APPOINTMENT_VIEW = 52; /** - * Ability to book clients outside of their current paid period. + * Ability to book clients outside their current paid period. */ const BOOK_OUTSIDE_PAID_PERIOD = 141; @@ -141,6 +146,11 @@ abstract class WlPrivilegeSid */ const CLASS_BOOK_UNPAID = 79; + /** + * Book classes for clients with an unsigned waiver. + */ + const CLASS_BOOK_UNSIGNED = 201; + /** * Edit classes at my location. */ @@ -213,6 +223,11 @@ abstract class WlPrivilegeSid */ const ENROLLMENT_BOOK_UNPAID = 80; + /** + * Book events for clients with an unsigned waiver. + */ + const ENROLLMENT_BOOK_UNSIGNED = 202; + /** * Edit classes at my location. */ @@ -461,7 +476,7 @@ abstract class WlPrivilegeSid const NOTIFICATION_CLASS_BOOK = 57; /** - * Receive client class cancelation notification. + * Receive client class cancellation notification. */ const NOTIFICATION_CLASS_CANCEL = 58; @@ -712,6 +727,11 @@ abstract class WlPrivilegeSid */ const RESOURCE_BOOK_UNPAID = 168; + /** + * Book assets for clients with an unsigned waiver. + */ + const RESOURCE_BOOK_UNSIGNED = 204; + /** * Mark client reviews as inappropriate and respond to customer comments. */ diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 297d3a81..65254ccf 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240814.355228'; + const VERSION='20240820.356071'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 8ec575da81191a8024685d92bde76dc4c8c52488 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 20 Aug 2024 13:49:27 +0000 Subject: [PATCH 45/71] Automatic upgrade of the SDK. Build #356136. --- WellnessLiving/Core/Locale/CurrencySid.php | 12 +++++++++++- WellnessLiving/Core/Locale/LocaleSid.php | 12 +++++++++++- .../Studio/Deploy/Instance/InstanceModel.php | 2 +- WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/WellnessLiving/Core/Locale/CurrencySid.php b/WellnessLiving/Core/Locale/CurrencySid.php index 3dc1de7c..ae8f93b0 100644 --- a/WellnessLiving/Core/Locale/CurrencySid.php +++ b/WellnessLiving/Core/Locale/CurrencySid.php @@ -9,7 +9,7 @@ * * @link https://docs.1010data.com/1010dataReferenceManual/DataTypesAndFormats/currencyUnitCodes.html * - * Last used ID: 13 + * Last used ID: 16 */ abstract class CurrencySid { @@ -53,6 +53,11 @@ abstract class CurrencySid */ const KYD = 5; + /** + * Mauritian Rupee. + */ + const MUR = 16; + /** * New Zealand Dollar. */ @@ -63,6 +68,11 @@ abstract class CurrencySid */ const PHP = 12; + /** + * Saudi Riyal. + */ + const SAR = 15; + /** * Unknown code. * diff --git a/WellnessLiving/Core/Locale/LocaleSid.php b/WellnessLiving/Core/Locale/LocaleSid.php index 05dfd6dc..87346886 100644 --- a/WellnessLiving/Core/Locale/LocaleSid.php +++ b/WellnessLiving/Core/Locale/LocaleSid.php @@ -5,7 +5,7 @@ /** * A list of locales. * - * Last used ID: 14 + * Last used ID: 16 */ abstract class LocaleSid { @@ -39,6 +39,11 @@ abstract class LocaleSid */ const KUWAIT = 14; + /** + * Republic of Mauritius. + */ + const MAURITIUS = 16; + /** * A special locale that can be used for testing or a business situated in an unknown region. */ @@ -54,6 +59,11 @@ abstract class LocaleSid */ const PHILIPPINES = 12; + /** + * Saudi Arabia. + */ + const SAUDI_ARABIA = 15; + /** * South Africa. */ diff --git a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php index ac79c02f..1f83366d 100644 --- a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php +++ b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php @@ -70,7 +70,7 @@ class InstanceModel extends WlModelAbstract * The key of `Studio Deploy Instance`. * * @delete get - * @post post,result + * @post get,result * @var string|null */ public $k_deploy_instance = null; diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 65254ccf..50b02d37 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240820.356071'; + const VERSION='20240820.356136'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 8a99591af05c2ca5023b0166d1a2c5c44b89d4ba Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 20 Aug 2024 13:59:48 +0000 Subject: [PATCH 46/71] Automatic upgrade of the SDK. Build #356140. --- WellnessLiving/Studio/Deploy/Instance/InstanceModel.php | 4 ++-- WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php index 1f83366d..9c1718ab 100644 --- a/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php +++ b/WellnessLiving/Studio/Deploy/Instance/InstanceModel.php @@ -69,8 +69,8 @@ class InstanceModel extends WlModelAbstract /** * The key of `Studio Deploy Instance`. * - * @delete get - * @post get,result + * @delete post + * @post post,result * @var string|null */ public $k_deploy_instance = null; diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 50b02d37..d44198a0 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240820.356136'; + const VERSION='20240820.356140'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From dcf6c5056d73ae726fb000e397e9a79ad19f8637 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 20 Aug 2024 20:28:23 +0000 Subject: [PATCH 47/71] Automatic upgrade of the SDK. Build #356224. --- WellnessLiving/Config/WlConfigAbstract.php | 32 +++++++++++++++++++++- WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlWebhook.php | 2 +- example-webhook.php | 2 +- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 6bbf3e81..56e00428 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -193,6 +193,14 @@ abstract class WlConfigAbstract */ private $id_region; + /** + * Local host name. Used when calculating the correct webhook signature. + * `null` if <var>$_SERVER['SERVER_NAME']</var> should be used. + * + * @var ?string + */ + private $s_hostname=null; + /** * User-agent to use in API requests. * @@ -249,10 +257,12 @@ public function cookieTransient() * * @param int $id_region ID of a data center region in which information about this business is stored. * One of {@link WlRegionSid} constants. + * @param ?string $s_hostname Local host name. Used when calculating the correct webhook signature. + * `null` if <var>$_SERVER['SERVER_NAME']</var> should be used. * @return WlConfigAbstract Configuration object. * @throws WlAssertException In a case of an error with argument. */ - final public static function create($id_region) + final public static function create($id_region,$s_hostname=null) { WlAssertException::assertTrue(is_string(static::AUTHORIZE_CODE) && strlen(static::AUTHORIZE_CODE)>0,[ 'text_class' => static::class, @@ -304,8 +314,15 @@ final public static function create($id_region) 'text_message' => 'The URL endpoint API is not set for the requested data center region id. Let the developers know about it.' ]); + WlAssertException::assertTrue($s_hostname===null || is_string($s_hostname) && strlen($s_hostname)>0,[ + 's_hostname' => $s_hostname, + 'text_class' => static::class, + 'text_message' => 'The local host name is bad.' + ]); + $o_config = new static(); $o_config->id_region = $id_region; + $o_config->s_hostname = $s_hostname; return $o_config; } @@ -322,6 +339,19 @@ final public function csrfCode($s_session_key) return hash('sha3-512',$s_session_key.'::'.$this::AUTHORIZE_CODE.'::'.$t_time).'.'.$t_time.'.'.substr($s_session_key,0,5); } + /** + * Gets the local host name. + * + * @return string The local host name. + */ + public function hostname() + { + if($this->s_hostname===null) + return $_SERVER['SERVER_NAME']; + + return $this->s_hostname; + } + /** * Retrieves the raw content of the HTTP request body. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d44198a0..e72fb8cf 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240820.356140'; + const VERSION='20240820.356224'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php index 39102979..f45a2f4f 100644 --- a/WellnessLiving/WlWebhook.php +++ b/WellnessLiving/WlWebhook.php @@ -238,7 +238,7 @@ private function signatureCompute() 's_code' => $s_config_class::AUTHORIZE_CODE, 's_cookie_persistent' => '', 's_cookie_transient' => '', - 's_host' => $_SERVER['SERVER_NAME'], + 's_host' => $this->o_config->hostname(), 's_id' => $s_config_class::AUTHORIZE_ID, 's_method' => 'POST', 's_resource' => $s_resource, diff --git a/example-webhook.php b/example-webhook.php index 1c0d3989..923bbe40 100644 --- a/example-webhook.php +++ b/example-webhook.php @@ -7,7 +7,7 @@ require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; require_once __DIR__.'/example-config.php'; -$o_config=ExampleConfig::create(\WellnessLiving\Wl\WlRegionSid::US_EAST_1); +$o_config=ExampleConfig::create(\WellnessLiving\Wl\WlRegionSid::US_EAST_1,'example.com'); $o_webhook = new WlWebhook($o_config); // We check whether the webhook request is authorized or not. From d819295c5f4b33d6802606ad58484ef90408b936 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 21 Aug 2024 09:02:23 +0000 Subject: [PATCH 48/71] Automatic upgrade of the SDK. Build #356253. --- WellnessLiving/Config/WlConfigAbstract.php | 5 +---- WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 56e00428..e0677fd3 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -322,7 +322,7 @@ final public static function create($id_region,$s_hostname=null) $o_config = new static(); $o_config->id_region = $id_region; - $o_config->s_hostname = $s_hostname; + $o_config->s_hostname = $s_hostname!==null ? $s_hostname : $_SERVER['SERVER_NAME']; return $o_config; } @@ -346,9 +346,6 @@ final public function csrfCode($s_session_key) */ public function hostname() { - if($this->s_hostname===null) - return $_SERVER['SERVER_NAME']; - return $this->s_hostname; } diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index e72fb8cf..ef4b012e 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240820.356224'; + const VERSION='20240821.356253'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From b55ac49a1939deccf86f28d011bba8cc184c042d Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 21 Aug 2024 09:25:17 +0000 Subject: [PATCH 49/71] Automatic upgrade of the SDK. Build #356257. --- WellnessLiving/Config/WlConfigAbstract.php | 8 +++++++- WellnessLiving/WlModelRequest.php | 2 +- WellnessLiving/WlWebhook.php | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index e0677fd3..8df6c913 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -322,7 +322,13 @@ final public static function create($id_region,$s_hostname=null) $o_config = new static(); $o_config->id_region = $id_region; - $o_config->s_hostname = $s_hostname!==null ? $s_hostname : $_SERVER['SERVER_NAME']; + if($s_hostname===null && array_key_exists('SERVER_NAME',$_SERVER)) + $s_hostname = $_SERVER['SERVER_NAME']; + else + $s_hostname = 'localhost'; + + $o_config->s_hostname = $s_hostname; + return $o_config; } diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index ef4b012e..3d74b045 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240821.356253'; + const VERSION='20240821.356257'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/WellnessLiving/WlWebhook.php b/WellnessLiving/WlWebhook.php index f45a2f4f..52501fd2 100644 --- a/WellnessLiving/WlWebhook.php +++ b/WellnessLiving/WlWebhook.php @@ -204,6 +204,7 @@ public function isAuthorize() 'a_diagnostic_header' => $a_diagnostic_header, 'a_header_auth_valid' => $a_auth_valid, 'a_signature_compute' => $a_signature_compute, + 's_hostname' => $this->o_config->hostname(), 'text_message' => 'Invalid authorization hash.' ]; } From 3b973b1f4c6a4bd31a7906a3268c624627414f95 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 21 Aug 2024 09:26:58 +0000 Subject: [PATCH 50/71] Automatic upgrade of the SDK. Build #356258. --- WellnessLiving/Config/WlConfigAbstract.php | 11 +++++++---- WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 8df6c913..6d9bbe7e 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -322,10 +322,13 @@ final public static function create($id_region,$s_hostname=null) $o_config = new static(); $o_config->id_region = $id_region; - if($s_hostname===null && array_key_exists('SERVER_NAME',$_SERVER)) - $s_hostname = $_SERVER['SERVER_NAME']; - else - $s_hostname = 'localhost'; + if($s_hostname===null) + { + if(array_key_exists('SERVER_NAME',$_SERVER)) + $s_hostname = $_SERVER['SERVER_NAME']; + else + $s_hostname = 'localhost'; + } $o_config->s_hostname = $s_hostname; diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 3d74b045..58232c85 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240821.356257'; + const VERSION='20240821.356258'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 78cf1599a070ac72f97db11ffa78849574a14e79 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 22 Aug 2024 13:32:58 +0000 Subject: [PATCH 51/71] Automatic upgrade of the SDK. Build #356530. --- WellnessLiving/Config/WlConfigAbstract.php | 33 ++++------------------ WellnessLiving/WlModelRequest.php | 2 +- example-webhook.php | 2 +- 3 files changed, 7 insertions(+), 30 deletions(-) diff --git a/WellnessLiving/Config/WlConfigAbstract.php b/WellnessLiving/Config/WlConfigAbstract.php index 6d9bbe7e..8fc601b1 100644 --- a/WellnessLiving/Config/WlConfigAbstract.php +++ b/WellnessLiving/Config/WlConfigAbstract.php @@ -193,14 +193,6 @@ abstract class WlConfigAbstract */ private $id_region; - /** - * Local host name. Used when calculating the correct webhook signature. - * `null` if <var>$_SERVER['SERVER_NAME']</var> should be used. - * - * @var ?string - */ - private $s_hostname=null; - /** * User-agent to use in API requests. * @@ -257,12 +249,10 @@ public function cookieTransient() * * @param int $id_region ID of a data center region in which information about this business is stored. * One of {@link WlRegionSid} constants. - * @param ?string $s_hostname Local host name. Used when calculating the correct webhook signature. - * `null` if <var>$_SERVER['SERVER_NAME']</var> should be used. * @return WlConfigAbstract Configuration object. * @throws WlAssertException In a case of an error with argument. */ - final public static function create($id_region,$s_hostname=null) + final public static function create($id_region) { WlAssertException::assertTrue(is_string(static::AUTHORIZE_CODE) && strlen(static::AUTHORIZE_CODE)>0,[ 'text_class' => static::class, @@ -314,24 +304,8 @@ final public static function create($id_region,$s_hostname=null) 'text_message' => 'The URL endpoint API is not set for the requested data center region id. Let the developers know about it.' ]); - WlAssertException::assertTrue($s_hostname===null || is_string($s_hostname) && strlen($s_hostname)>0,[ - 's_hostname' => $s_hostname, - 'text_class' => static::class, - 'text_message' => 'The local host name is bad.' - ]); - $o_config = new static(); $o_config->id_region = $id_region; - if($s_hostname===null) - { - if(array_key_exists('SERVER_NAME',$_SERVER)) - $s_hostname = $_SERVER['SERVER_NAME']; - else - $s_hostname = 'localhost'; - } - - $o_config->s_hostname = $s_hostname; - return $o_config; } @@ -355,7 +329,10 @@ final public function csrfCode($s_session_key) */ public function hostname() { - return $this->s_hostname; + if(!array_key_exists('HTTP_HOST',$_SERVER)) + return 'localhost'; + + return $_SERVER['HTTP_HOST']; } /** diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 58232c85..ec776a2a 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240821.356258'; + const VERSION='20240822.356530'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. diff --git a/example-webhook.php b/example-webhook.php index 923bbe40..1c0d3989 100644 --- a/example-webhook.php +++ b/example-webhook.php @@ -7,7 +7,7 @@ require_once __DIR__.'/WellnessLiving/wl-autoloader.php'; require_once __DIR__.'/example-config.php'; -$o_config=ExampleConfig::create(\WellnessLiving\Wl\WlRegionSid::US_EAST_1,'example.com'); +$o_config=ExampleConfig::create(\WellnessLiving\Wl\WlRegionSid::US_EAST_1); $o_webhook = new WlWebhook($o_config); // We check whether the webhook request is authorized or not. From e28aff9cd8662aed830e189b6993c2e69ed116f5 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 4 Sep 2024 15:33:49 +0000 Subject: [PATCH 52/71] Automatic upgrade of the SDK. Build #358832. --- .../Book/Process/Purchase/Purchase56Model.php | 2 + .../Process/Purchase/PurchaseElementModel.php | 20 +-- .../Book/Process/Purchase/PurchaseModel.php | 2 + WellnessLiving/Wl/Quiz/QuizElementModel.php | 6 +- .../Wl/Schedule/ClassView/DenyReasonSid.php | 112 +----------- .../Wl/Visit/VisitDenyReasonSid.php | 163 ++++++++++++++++++ WellnessLiving/Wl/Visit/VisitStatusModel.php | 34 ++++ WellnessLiving/WlModelRequest.php | 2 +- 8 files changed, 223 insertions(+), 118 deletions(-) create mode 100644 WellnessLiving/Wl/Visit/VisitDenyReasonSid.php diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index 7bc73067..439eabae 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -103,6 +103,8 @@ class Purchase56Model extends WlModelAbstract * <dd>Priority of this promotion.</dd> * <dt>int <var>id_program</var></dt> * <dd>The program ID for Purchase Options. One of the {@link WlProgramSid} constants.</dd> + * <dt>bool <var>is_shared</var></dt> + * <dd>`true` if the promotion is shared with the client, `false` if the client is owner of the promotion.</dd> * <dt>string <var>k_login_promotion</var></dt> * <dd>The login promotion key.</dd> * <dt>string <var>s_class_include</var></dt> diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php index 3dc2a9d6..cb2d4e33 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php @@ -20,6 +20,16 @@ class PurchaseElementModel extends WlModelAbstract */ public $a_tax; + /** + * Date/time of session is booking. + * + * `null` until initialized. + * + * @get get + * @var string|null + */ + public $dtu_date = null; + /** * The number of sessions which are booked simultaneously. * @@ -121,16 +131,6 @@ class PurchaseElementModel extends WlModelAbstract */ public $m_price; - /** - * Prorate amount. - * - * `null` if no prorate is required. - * - * @get get - * @var string|null - */ - public $m_prorate = null; - /** * Amount of subtotal for 1 purchase item. * diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index e33b7968..94808524 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -106,6 +106,8 @@ class PurchaseModel extends WlModelAbstract * <dd>Priority of this promotion.</dd> * <dt>int <var>id_program</var></dt> * <dd>The program ID for Purchase Options. One of the {@link WlProgramSid} constants.</dd> + * <dt>bool <var>is_shared</var></dt> + * <dd>`true` if the promotion is shared with the client, `false` if the client is owner of the promotion.</dd> * <dt>string <var>k_login_promotion</var></dt> * <dd>The login promotion key.</dd> * <dt>string <var>s_class_include</var></dt> diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 7ba97bb5..4cefb3db 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -20,7 +20,11 @@ class QuizElementModel extends WlModelAbstract /** * List of quiz elements. * - * Order of the element in array corresponds to order of elements on the form. + * Each element responsible for one quiz question (inheritor of {@link \Core\Quiz\Element\ElementQuestionAbstract}) + * and contains array representation of individual question. + * Structure of each value depend on type of element and contains public arguments of responsible class element. + * + * Order of the elements in array corresponds to order of elements on the form. * * @get result * @post post diff --git a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php index 474c79e0..da61a33d 100644 --- a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php +++ b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php @@ -2,117 +2,17 @@ namespace WellnessLiving\Wl\Schedule\ClassView; +use WellnessLiving\Wl\Visit\VisitDenyReasonSid; + /** * Reasons why the client can't book this class. * - * Last used ID: 21 + * Last used ID: 29 + * + * @depreated Use {@link VisitDenyReasonSid} class instead. */ class DenyReasonSid { - /** - * The business can not take one more client. - */ - const ACCESS_DENIED = 1; - - /** - * Access is limited. - */ - const ACCESS_LIMITED = 2; - - /** - * The business can not take one more client. - */ - const ACCOUNT_LIMIT = 3; - - /** - * Class is not available for certain age. - */ - const AGE_RESTRICTION = 4; - - /** - * Liability Release needs to be agreed. - */ - const AGREE_NX = 5; - - /** - * Client is already booked for this session. - */ - const BOOKED_ALREADY = 6; - - /** - * It's too early to book a class. - */ - const BOOK_EARLY = 7; - - /** - * It's too late to book a class. - */ - const BOOK_LATE = 8; - - /** - * Cannot book to this class anymore. - */ - const BOOK_RESTRICT = 9; - - /** - * Business is inactive. - */ - const BUSINESS_INACTIVE = 10; - - /** - * Class is canceled. - */ - const CLASS_CANCELED = 11; - - /** - * Class is full. - */ - const CLASS_FULL = 14; - - /** - * Class does not exist anymore. - */ - const CLASS_NOT_AVAILABLE_ANYMORE = 15; - - /** - * Client is flagged at location. - */ - const CLIENT_FLAGGED = 12; - - /** - * Credit card is required for booking services. - */ - const CREDIT_CARD_REQUIRE = 13; - - /** - * Business is closed. - */ - const HOLIDAY = 16; - - /** - * Login is required. - */ - const LOGIN_REQUIRED = 17; - - /** - * Online booking is disabled for the class. - */ - const NOT_BOOKABLE = 18; - - /** - * Required personal details missing. - */ - const USER_INFO_MISSING = 19; - - /** - * Visit to another class is required first. - */ - const VISIT_BEFORE = 20; - - /** - * The wait list is full. - */ - const WAIT_LIST_LIMIT_MAX = 21; -} + } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Visit/VisitDenyReasonSid.php b/WellnessLiving/Wl/Visit/VisitDenyReasonSid.php new file mode 100644 index 00000000..9f803b75 --- /dev/null +++ b/WellnessLiving/Wl/Visit/VisitDenyReasonSid.php @@ -0,0 +1,163 @@ +<?php + +namespace WellnessLiving\Wl\Visit; + +/** + * Reasons of failed book or check-in. + * + * Last used ID: 29 + */ +class VisitDenyReasonSid +{ + /** + * The business can not take one more client. + */ + const ACCESS_DENIED = 1; + + /** + * Access is limited. + */ + const ACCESS_LIMITED = 2; + + /** + * The business can not take one more client. + */ + const ACCOUNT_LIMIT = 3; + + /** + * Class is not available for certain age. + */ + const AGE_RESTRICTION = 4; + + /** + * Liability Release needs to be agreed. + */ + const AGREE_NX = 5; + + /** + * @title Instructor has denied appointment request + */ + const APPOINTMENT_DENY = 25; + + /** + * @title Instructor has not approved appointment request + */ + const APPOINTMENT_REQUEST = 26; + + /** + * @title Gym attendance disabled by business policy + */ + const ATTEND_GYM_DISABLE = 23; + + /** + * @title Self check-ins are disabled by business policy + */ + const ATTEND_SELF_DISABLE = 22; + + /** + * @title Unpaid check-ins are disabled by business policy + */ + const ATTEND_UNPAID = 28; + + /** + * @title User on a wait list + */ + const ATTEND_WAIT = 27; + + /** + * Client is already booked for this session. + */ + const BOOKED_ALREADY = 6; + + /** + * It's too early to book a class. + */ + const BOOK_EARLY = 7; + + /** + * It's too late to book a class. + */ + const BOOK_LATE = 8; + + /** + * @title Visit should be booked prior to check in + */ + const BOOK_NX = 24; + + /** + * Cannot book to this class anymore. + */ + const BOOK_RESTRICT = 9; + + /** + * Business is inactive. + */ + const BUSINESS_INACTIVE = 10; + + /** + * Class is canceled. + */ + const CLASS_CANCELED = 11; + + /** + * Class is full. + */ + const CLASS_FULL = 14; + + /** + * Class does not exist anymore. + */ + const CLASS_NOT_AVAILABLE_ANYMORE = 15; + + /** + * Client is flagged at location. + */ + const CLIENT_FLAGGED = 12; + + /** + * Credit card is required for booking services. + */ + const CREDIT_CARD_REQUIRE = 13; + + /** + * Business is closed. + */ + const HOLIDAY = 16; + + /** + * Login is required. + */ + const LOGIN_REQUIRED = 17; + + /** + * Online booking is disabled for the class. + */ + const NOT_BOOKABLE = 18; + + /** + * @title No appropriate payment option + */ + const PAYMENT_NX = 30; + + /** + * @title Unclassified reason + */ + const UNKNOWN = 29; + + /** + * Required personal details missing. + */ + const USER_INFO_MISSING = 19; + + /** + * Visit to another class is required first. + */ + const VISIT_BEFORE = 20; + + /** + * The wait list is full. + */ + const WAIT_LIST_LIMIT_MAX = 21; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Visit/VisitStatusModel.php b/WellnessLiving/Wl/Visit/VisitStatusModel.php index 66ec5270..73e0e35d 100644 --- a/WellnessLiving/Wl/Visit/VisitStatusModel.php +++ b/WellnessLiving/Wl/Visit/VisitStatusModel.php @@ -24,6 +24,32 @@ class VisitStatusModel extends WlModelAbstract */ public $a_resource = []; + /** + * An array of service resources. + * + * Contains an extended data set, as well as a different format than {@link VisitStatusModel::$a_resource}. + * + * Each element contains the following set of data: + * <dl> + * <dt>string <var>k_resource</var></dt> + * + * <dt>string <var>k_resource_type</var></dt> + * + * <dt>int <var>i_index</var></dt> + * <dd>Index of the resource on the layout.</dd> + * <dt>int <var>i_quantity</var></dt> + * <dd>Quantity of the resource on the layout.</dd> + * <dt>string <var>text_alias</var></dt> + * <dd>Resource's custom name (alias) on the layout.</dd> + * <dt>string <var>text_title</var></dt> + * <dd>Resource's title.</dd> + * </dl> + * + * @get result + * @var ?array[] + */ + public $a_resource_alias = []; + /** * The list of keys of staff members that conduct the class. * @@ -141,6 +167,14 @@ class VisitStatusModel extends WlModelAbstract */ public $k_class_period = ''; + /** + * The key of the location where visit provides. + * + * @get result + * @var string + */ + public $k_location = ''; + /** * The email pattern key. * If `null`, the live email pattern shouldn't be used. diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index ec776a2a..d5c344d6 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240822.356530'; + const VERSION='20240904.358832'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From d99161e93b261fee009663c34fa2f85dde187f85 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 11 Sep 2024 17:38:34 +0000 Subject: [PATCH 53/71] Automatic upgrade of the SDK. Build #360352. --- WellnessLiving/Core/a/ACardSystemSid.php | 2 +- .../DebugToken/DebugTokenServiceModel.php | 29 ++++ .../Studio/Task/Branch/BranchListModel.php | 2 +- .../StaffApp/CatalogList/CatalogListModel.php | 3 +- .../Profile/Purchase/PurchaseElementModel.php | 8 + .../PurchaseList/PurchaseListElementModel.php | 8 + WellnessLiving/Wl/Quiz/QuizElementModel.php | 18 ++ .../Wl/Reward/Score/ScoreControlModel.php | 39 +++++ .../Wl/Schedule/ClassView/DenyReasonSid.php | 112 +++++++++++- .../Wl/Visit/VisitDenyReasonSid.php | 163 ------------------ WellnessLiving/WlModelRequest.php | 2 +- 11 files changed, 213 insertions(+), 173 deletions(-) create mode 100644 WellnessLiving/Studio/Personnel/DebugToken/DebugTokenServiceModel.php create mode 100644 WellnessLiving/Wl/Reward/Score/ScoreControlModel.php delete mode 100644 WellnessLiving/Wl/Visit/VisitDenyReasonSid.php diff --git a/WellnessLiving/Core/a/ACardSystemSid.php b/WellnessLiving/Core/a/ACardSystemSid.php index af8552d1..9f1db187 100644 --- a/WellnessLiving/Core/a/ACardSystemSid.php +++ b/WellnessLiving/Core/a/ACardSystemSid.php @@ -15,7 +15,7 @@ abstract class ACardSystemSid const AMERICAN_EXPRESS = 1; /** - * Bank of Montreal (BMO). + * Bank of Montreal (BMO). */ const BMO = 2; diff --git a/WellnessLiving/Studio/Personnel/DebugToken/DebugTokenServiceModel.php b/WellnessLiving/Studio/Personnel/DebugToken/DebugTokenServiceModel.php new file mode 100644 index 00000000..377fdd4f --- /dev/null +++ b/WellnessLiving/Studio/Personnel/DebugToken/DebugTokenServiceModel.php @@ -0,0 +1,29 @@ +<?php + +namespace WellnessLiving\Studio\Personnel\DebugToken; + +use WellnessLiving\WlModelAbstract; + +/** + * Allows checking the validity of a debug token. + */ +class DebugTokenServiceModel extends WlModelAbstract +{ + /** + * Debug token to check and if valid to return `true` otherwise `false`. + * + * @get result + * @var bool + */ + public $is_valid = false; + + /** + * Debug token to check. + * + * @get get + * @var string + */ + public $s_token = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchListModel.php b/WellnessLiving/Studio/Task/Branch/BranchListModel.php index 6397c6ed..f216d23a 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchListModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchListModel.php @@ -35,7 +35,7 @@ class BranchListModel extends WlModelAbstract * @get result * @var array */ - public $a_data; + public $a_data = []; } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php index e21d3fff..2b0c354f 100644 --- a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php +++ b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php @@ -11,7 +11,8 @@ use WellnessLiving\Wl\WlSaleSid; /** - * Returns a list of all products available for a business’s shop at a particular location. + * Returns a list of all products available from a business’s shop. + * If a location is specified, only products available at that location are included. */ class CatalogListModel extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Profile/Purchase/PurchaseElementModel.php b/WellnessLiving/Wl/Profile/Purchase/PurchaseElementModel.php index 09c5f2d3..267c8732 100644 --- a/WellnessLiving/Wl/Profile/Purchase/PurchaseElementModel.php +++ b/WellnessLiving/Wl/Profile/Purchase/PurchaseElementModel.php @@ -444,6 +444,14 @@ class PurchaseElementModel extends WlModelAbstract */ public $is_transfer; + /** + * The business key. Currently used only with {@link PurchaseElementModel::$k_session_pass} variable. + * + * @get get + * @var string|null + */ + public $k_business = null; + /** * The key of the redemption code used to obtain some goods. * This should be specified only for items obtained via redemption code (not for ordinary purchases or for purchased diff --git a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php index fffbe99e..e261b164 100644 --- a/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php +++ b/WellnessLiving/Wl/Profile/PurchaseList/PurchaseListElementModel.php @@ -519,6 +519,14 @@ class PurchaseListElementModel extends WlModelAbstract */ public $is_transfer; + /** + * The business key. Currently used only with {@link PurchaseListElementModel::$k_session_pass} variable. + * + * @get get + * @var string|null + */ + public $k_business = null; + /** * The ID of the redemption code used to obtain the item. This should be specified only for items obtained via * redemption code (not for ordinary purchases or for purchased promotions without purchases). diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 4cefb3db..ea90cc81 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -174,6 +174,24 @@ class QuizElementModel extends WlModelAbstract * @var string */ public $uid_client = ''; + + /** + * Direct URL to quiz. + * + * @get result + * @put result + * @var string + */ + public $url_quiz; + + /** + * Kiosk direct URL to quiz. + * + * @get result + * @put result + * @var string + */ + public $url_quiz_kiosk; } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php b/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php new file mode 100644 index 00000000..28e4cb0f --- /dev/null +++ b/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php @@ -0,0 +1,39 @@ +<?php + +namespace WellnessLiving\Wl\Reward\Score; + +use WellnessLiving\WlModelAbstract; + +/** + * Works with user's scores. + */ +class ScoreControlModel extends WlModelAbstract +{ + /** + * The user's bonus scores balance. + * + * @get result + * @var int + */ + public $i_score = 0; + + /** + * The business key that user are in. + * + * @get get + * @post get + * @var string + */ + public $k_business = '0'; + + /** + * The user's key to work with the scores. + * + * @get get + * @post get + * @var string + */ + public $uid = '0'; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php index da61a33d..474c79e0 100644 --- a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php +++ b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php @@ -2,17 +2,117 @@ namespace WellnessLiving\Wl\Schedule\ClassView; -use WellnessLiving\Wl\Visit\VisitDenyReasonSid; - /** * Reasons why the client can't book this class. * - * Last used ID: 29 - * - * @depreated Use {@link VisitDenyReasonSid} class instead. + * Last used ID: 21 */ class DenyReasonSid { - } + /** + * The business can not take one more client. + */ + const ACCESS_DENIED = 1; + + /** + * Access is limited. + */ + const ACCESS_LIMITED = 2; + + /** + * The business can not take one more client. + */ + const ACCOUNT_LIMIT = 3; + + /** + * Class is not available for certain age. + */ + const AGE_RESTRICTION = 4; + + /** + * Liability Release needs to be agreed. + */ + const AGREE_NX = 5; + + /** + * Client is already booked for this session. + */ + const BOOKED_ALREADY = 6; + + /** + * It's too early to book a class. + */ + const BOOK_EARLY = 7; + + /** + * It's too late to book a class. + */ + const BOOK_LATE = 8; + + /** + * Cannot book to this class anymore. + */ + const BOOK_RESTRICT = 9; + + /** + * Business is inactive. + */ + const BUSINESS_INACTIVE = 10; + + /** + * Class is canceled. + */ + const CLASS_CANCELED = 11; + + /** + * Class is full. + */ + const CLASS_FULL = 14; + + /** + * Class does not exist anymore. + */ + const CLASS_NOT_AVAILABLE_ANYMORE = 15; + + /** + * Client is flagged at location. + */ + const CLIENT_FLAGGED = 12; + + /** + * Credit card is required for booking services. + */ + const CREDIT_CARD_REQUIRE = 13; + + /** + * Business is closed. + */ + const HOLIDAY = 16; + + /** + * Login is required. + */ + const LOGIN_REQUIRED = 17; + + /** + * Online booking is disabled for the class. + */ + const NOT_BOOKABLE = 18; + + /** + * Required personal details missing. + */ + const USER_INFO_MISSING = 19; + + /** + * Visit to another class is required first. + */ + const VISIT_BEFORE = 20; + + /** + * The wait list is full. + */ + const WAIT_LIST_LIMIT_MAX = 21; +} ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Visit/VisitDenyReasonSid.php b/WellnessLiving/Wl/Visit/VisitDenyReasonSid.php deleted file mode 100644 index 9f803b75..00000000 --- a/WellnessLiving/Wl/Visit/VisitDenyReasonSid.php +++ /dev/null @@ -1,163 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Visit; - -/** - * Reasons of failed book or check-in. - * - * Last used ID: 29 - */ -class VisitDenyReasonSid -{ - /** - * The business can not take one more client. - */ - const ACCESS_DENIED = 1; - - /** - * Access is limited. - */ - const ACCESS_LIMITED = 2; - - /** - * The business can not take one more client. - */ - const ACCOUNT_LIMIT = 3; - - /** - * Class is not available for certain age. - */ - const AGE_RESTRICTION = 4; - - /** - * Liability Release needs to be agreed. - */ - const AGREE_NX = 5; - - /** - * @title Instructor has denied appointment request - */ - const APPOINTMENT_DENY = 25; - - /** - * @title Instructor has not approved appointment request - */ - const APPOINTMENT_REQUEST = 26; - - /** - * @title Gym attendance disabled by business policy - */ - const ATTEND_GYM_DISABLE = 23; - - /** - * @title Self check-ins are disabled by business policy - */ - const ATTEND_SELF_DISABLE = 22; - - /** - * @title Unpaid check-ins are disabled by business policy - */ - const ATTEND_UNPAID = 28; - - /** - * @title User on a wait list - */ - const ATTEND_WAIT = 27; - - /** - * Client is already booked for this session. - */ - const BOOKED_ALREADY = 6; - - /** - * It's too early to book a class. - */ - const BOOK_EARLY = 7; - - /** - * It's too late to book a class. - */ - const BOOK_LATE = 8; - - /** - * @title Visit should be booked prior to check in - */ - const BOOK_NX = 24; - - /** - * Cannot book to this class anymore. - */ - const BOOK_RESTRICT = 9; - - /** - * Business is inactive. - */ - const BUSINESS_INACTIVE = 10; - - /** - * Class is canceled. - */ - const CLASS_CANCELED = 11; - - /** - * Class is full. - */ - const CLASS_FULL = 14; - - /** - * Class does not exist anymore. - */ - const CLASS_NOT_AVAILABLE_ANYMORE = 15; - - /** - * Client is flagged at location. - */ - const CLIENT_FLAGGED = 12; - - /** - * Credit card is required for booking services. - */ - const CREDIT_CARD_REQUIRE = 13; - - /** - * Business is closed. - */ - const HOLIDAY = 16; - - /** - * Login is required. - */ - const LOGIN_REQUIRED = 17; - - /** - * Online booking is disabled for the class. - */ - const NOT_BOOKABLE = 18; - - /** - * @title No appropriate payment option - */ - const PAYMENT_NX = 30; - - /** - * @title Unclassified reason - */ - const UNKNOWN = 29; - - /** - * Required personal details missing. - */ - const USER_INFO_MISSING = 19; - - /** - * Visit to another class is required first. - */ - const VISIT_BEFORE = 20; - - /** - * The wait list is full. - */ - const WAIT_LIST_LIMIT_MAX = 21; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index d5c344d6..34d455cf 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240904.358832'; + const VERSION='20240911.360352'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 39d3ec6475f7e681defceecefd0ad758dfa6043b Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 13 Sep 2024 15:54:31 +0000 Subject: [PATCH 54/71] Automatic upgrade of the SDK. Build #361021. --- .../Book/Process/Purchase/Purchase56Model.php | 4 ++++ .../Wl/Book/Process/Purchase/PurchaseModel.php | 4 ++++ .../Wl/Book/Process/Store/StoreModel.php | 7 ++++--- .../Wl/Reward/Score/ScoreControlModel.php | 17 +++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index 439eabae..06bad471 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -141,6 +141,10 @@ class Purchase56Model extends WlModelAbstract * <dd>The key of the installment plan template.</dd> * <dt>string <var>m_amount</var></dt> * <dd>The amount of the installment plan.</dd> + * <dt>string <var>m_discount_login</var></dt> + * <dd>The discount amount for the client type of one purchase item.</dd> + * <dt>string <var>m_price_discount</var></dt> + * <dd>Amount of subtotal for 1 purchase item.</dd> * <dt>string <var>s_duration</var></dt> * <dd>The title of the installment plan.</dd></dl></dd> * <dt>array[] [<var>a_visit_limit</var>]</dt> diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index 94808524..e521f433 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -144,6 +144,10 @@ class PurchaseModel extends WlModelAbstract * <dd>The key of the installment plan template.</dd> * <dt>string <var>m_amount</var></dt> * <dd>The amount of the installment plan.</dd> + * <dt>string <var>m_discount_login</var></dt> + * <dd>The discount amount for the client type of one purchase item.</dd> + * <dt>string <var>m_price_discount</var></dt> + * <dd>Amount of subtotal for 1 purchase item.</dd> * <dt>string <var>s_duration</var></dt> * <dd>The title of the installment plan.</dd></dl></dd> * <dt>array[] [<var>a_visit_limit</var>]</dt> diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 54dbbfa1..6217ff82 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Book\Process\Purchase\Purchase56Model; use WellnessLiving\Wl\Mode\ModeSid; /** @@ -34,9 +35,9 @@ class StoreModel extends WlModelAbstract * Unique identifier of the element being checked. * Corresponds to the values: * <ul> - * <li>{@link PurchaseApi::$a_purchase}`["s_value"]`</li> - * <li>{@link PurchaseApi::$a_reward_prize}`["s_value"]`</li> - * <li>{@link PurchaseApi::$a_login_prize}`["s_value"]`</li> + * <li>{@link Purchase56Model::$a_purchase}`["s_value"]`</li> + * <li>{@link Purchase56Model::$a_reward_prize}`["s_value"]`</li> + * <li>{@link Purchase56Model::$a_login_prize}`["s_value"]`</li> * </ul> * </dd> * </dl> diff --git a/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php b/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php index 28e4cb0f..b3f36a51 100644 --- a/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php +++ b/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Reward\Score; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Login\WlLoginActivityTypeSid; /** * Works with user's scores. @@ -17,6 +18,14 @@ class ScoreControlModel extends WlModelAbstract */ public $i_score = 0; + /** + * User's activity ID. One of {@link WlLoginActivityTypeSid} constants. + * + * @post get + * @var int + */ + public $id_type = 0; + /** * The business key that user are in. * @@ -26,6 +35,14 @@ class ScoreControlModel extends WlModelAbstract */ public $k_business = '0'; + /** + * Object ID, for example, class period ID for books and visits. + * + * @post get + * @var ?string + */ + public $k_id = null; + /** * The user's key to work with the scores. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 34d455cf..74bf7053 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240911.360352'; + const VERSION='20240913.361021'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 9195d9aac78c075e5dbde4baf7d727afa7c8e9b1 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 18 Sep 2024 20:39:33 +0000 Subject: [PATCH 55/71] Automatic upgrade of the SDK. Build #361988. --- WellnessLiving/Studio/Ip/Bot/AccessModel.php | 31 +++ WellnessLiving/Studio/Ip/Bot/EditModel.php | 71 +++++++ .../Studio/Ip/Service/EditModel.php | 73 +++++++ .../Studio/Ip/Service/ServiceTimeoutSid.php | 33 +++ .../Appointment/Book/Payment/PaymentModel.php | 8 + .../Book/Payment/PaymentPostModel.php | 8 + .../Wl/Book/Process/Frequency/RepeatModel.php | 193 ++++++++++++++++++ .../Wl/Catalog/CatalogList/ListModel.php | 4 +- WellnessLiving/Wl/Location/ListModel.php | 7 + .../Attendance/AttendanceInfoByTokenModel.php | 24 +++ .../Wl/Profile/ProfileCreateModel.php | 69 +++++++ WellnessLiving/WlModelRequest.php | 2 +- 12 files changed, 520 insertions(+), 3 deletions(-) create mode 100644 WellnessLiving/Studio/Ip/Bot/AccessModel.php create mode 100644 WellnessLiving/Studio/Ip/Bot/EditModel.php create mode 100644 WellnessLiving/Studio/Ip/Service/EditModel.php create mode 100644 WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php create mode 100644 WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php create mode 100644 WellnessLiving/Wl/Profile/ProfileCreateModel.php diff --git a/WellnessLiving/Studio/Ip/Bot/AccessModel.php b/WellnessLiving/Studio/Ip/Bot/AccessModel.php new file mode 100644 index 00000000..7d495123 --- /dev/null +++ b/WellnessLiving/Studio/Ip/Bot/AccessModel.php @@ -0,0 +1,31 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Bot; + +use WellnessLiving\WlModelAbstract; + +/** + * Allows to grant/revoke access from a bot to a service. + */ +class AccessModel extends WlModelAbstract +{ + /** + * Key of a bot which access should be changed. + * + * @delete get + * @put get + * @var string + */ + public $k_ip_bot; + + /** + * Key of a service which access should be changed. + * + * @delete get + * @put get + * @var string + */ + public $k_ip_service; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Ip/Bot/EditModel.php b/WellnessLiving/Studio/Ip/Bot/EditModel.php new file mode 100644 index 00000000..b2d269ae --- /dev/null +++ b/WellnessLiving/Studio/Ip/Bot/EditModel.php @@ -0,0 +1,71 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Bot; + +use WellnessLiving\WlModelAbstract; + +/** + * Allows to create, edit and delete bots. + */ +class EditModel extends WlModelAbstract +{ + /** + * Whether this bot is active. + * + * @get result + * @post post + * @var string + */ + public $is_active; + + /** + * If a bot is edited, its key is stored here. + * + * <tt>null</tt> if a new bot should be created. + * This value is required for create and delete operations. + * + * @delete get + * @get get + * @post get,result + * @var string|null + */ + public $k_ip_bot = null; + + /** + * Name of the bot. + * + * @get result + * @post post + * @var string + */ + public $text_bot; + + /** + * Network of the bot. + * + * @get result + * @post post + * @var string + */ + public $text_network; + + /** + * Update password. + * + * @get result + * @post post + * @var string + */ + public $text_password = ''; + + /** + * Network update rules. + * + * @get result + * @post post + * @var string + */ + public $text_update = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Ip/Service/EditModel.php b/WellnessLiving/Studio/Ip/Service/EditModel.php new file mode 100644 index 00000000..1e43b2e5 --- /dev/null +++ b/WellnessLiving/Studio/Ip/Service/EditModel.php @@ -0,0 +1,73 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Service; + +use WellnessLiving\WlModelAbstract; + +/** + * Allows to create, edit and delete IP services. + */ +class EditModel extends WlModelAbstract +{ + /** + * Timeout of the service. + * + * One of {@link ServiceTimeoutSid} constants. + * + * @get result + * @post post + * @var int + */ + public $id_service_timeout; + + /** + * Type of the service. + * + * @get result + * @post post + * @var int + */ + public $id_service_type; + + /** + * If a service is edited, its key is stored here. + * + * <tt>null</tt> if a new service should be created. + * This value is required for create and delete operations. + * + * @delete get + * @get get + * @post get,result + * @var string|null + */ + public $k_ip_service = null; + + /** + * Group of services. + * + * @get result + * @post post + * @var string + */ + public $text_group; + + /** + * Name of the service. + * + * @get result + * @post post + * @var string + */ + public $text_title; + + /** + * Network update rules. + * + * @get result + * @post post + * @var string + */ + public $text_update; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php b/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php new file mode 100644 index 00000000..3bb3ed51 --- /dev/null +++ b/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php @@ -0,0 +1,33 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Service; + +/** + * Time during which access by IP address is granted to personnel. + * + * Minimum between two values is used. + */ +abstract class ServiceTimeoutSid +{ + /** + * Sensitive services that may require much work. + */ + const DAY = 2; + + /** + * Sensitive services that are used very rare. + */ + const HOUR = 1; + + /** + * Services that are not sensitive. + */ + const MONTH = 4; + + /** + * Not that sensitive services. + */ + const WEEK = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index 16d3c490..922e41e8 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -281,6 +281,14 @@ class PaymentModel extends WlModelAbstract */ public $is_walk_in = false; + /** + * The business key. Currently used only with {@link PaymentModel::$k_session_pass} variable. + * + * @get get + * @var string|null + */ + public $k_business = null; + /** * The item key. Depends on {@link PaymentModel::$id_purchase_item} property. * diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index f0fec16e..0a0d38e4 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -278,6 +278,14 @@ class PaymentPostModel extends WlModelAbstract */ public $is_walk_in = false; + /** + * The business key. Currently used only with {@link PaymentModel::$k_session_pass} variable. + * + * @get get + * @var string|null + */ + public $k_business = null; + /** * The item key. Depends on {@link PaymentModel::$id_purchase_item} property. * diff --git a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php new file mode 100644 index 00000000..3ace4d1c --- /dev/null +++ b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php @@ -0,0 +1,193 @@ +<?php + +namespace WellnessLiving\Wl\Book\Process\Frequency; + +use WellnessLiving\Core\a\ADurationSid; +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; + +/** + * For recurrent class booking returns list of visits to be created for the given settings. + */ +class RepeatModel extends WlModelAbstract +{ + /** + * List of days of the week to create visits. + * + * @get get + * @var int[] + */ + public $a_day = []; + + /** + * List of visits to be created for the given settings:<dl> + * <dt>string <var>dt_date</var></dt> + * <dd>Visit date and time in UTC.</dd> + * <dt>string <var>dt_local</var></dt> + * <dd>Visit date and time in location's time zone.</dd> + * <dt>string <var>html_short_name_list</var></dt> + * <dd>List of names of the staff who provide this class.</dd> + * <dt>string <var>html_timezone</var></dt> + * <dd>Location's time zone abbreviation.</dd> + * <dt>string <var>is_disable</var></dt> + * <dd>Whether booking is not available for this day.</dd> + * <dt>string <var>is_free</var></dt> + * <dd>Whether booking is free for this day.</dd> + * <dt>string <var>is_ignore</var></dt> + * <dd>Whether visit is from ignore list.</dd> + * <dt>string <var>is_wait</var></dt> + * <dd>Whether booking can be only to wait list.</dd> + * <dt>string <var>k_class_period</var></dt> + * <dd>Key of class period, primary key in {}.</dd> + * <dt>string <var>s_alert</var></dt> + * <dd>Staff name if booking available, warning about wait list or disabled booking otherwise.</dd> + * <dt>string <var>s_date</var></dt> + * <dd>Visit date and time in location's time zone in human readable format.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_visit = []; + + /** + * List of visits to be ignored. Each value is a string consisting of a class period key + * and a visit date and time in location's timezone, concatenated by two colons. + * + * @get get + * @var array + */ + public $a_visit_ignore = []; + + /** + * Date of the class, when recurring booking was called. + * + * @get get + * @var string + */ + public $dt_date = ''; + + /** + * Date to start recurring booking. + * + * @get get,result + * @var string + */ + public $dt_from = ''; + + /** + * Date to finish recurring booking. + * + * @get get,result + * @var string + */ + public $dt_to = ''; + + /** + * Count of the visits to be created. Should be empty, if date range is set. + * + * @get get,result + * @var int + */ + public $i_count = 0; + + /** + * Count of days\weeks\months between recurring bookings. + * + * @get get + * @var int + */ + public $i_duration = 0; + + /** + * Recurring booking interval, one of {@link ADurationSid} constants. + * + * @get get + * @var int + */ + public $id_duration = 0; + + /** + * WellnessLiving mode, one of {@link ModeSid} constants. + * + * @get get + * @var int + */ + public $id_mode = 0; + + /** + * @get get + * @var int + */ + public $id_repeat_end = 0; + + /** + * `true` when cancelling booking, `false` otherwise. + * + * @get get + * @var bool + */ + public $is_cancel = false; + + /** + * `true` if current user is not created yet, `false` otherwise. + * + * @get get + * @var bool + */ + public $is_new_user = false; + + /** + * @get get + * @var string + */ + public $k_business = ''; + + /** + * @get get + * @var string + */ + public $k_class_period = ''; + + /** + * Encoded list of user keys, who will attend visits. + * + * @get get + * @var string + */ + public $s_uid = ''; + + /** + * Encoded list of user keys, who will attend visits. + * + * @get result + * @var string + */ + public $text_date_from = ''; + + /** + * Encoded list of user keys, who will attend visits. + * + * @get result + * @var string + */ + public $text_date_to = ''; + + /** + * Key of user, who will attend visits. + * + * @get get + * @var string + */ + public $uid = ''; + + /** + * Key of user, who perform booking. + * + * @get get + * @var string + */ + public $uid_actor = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php b/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php index 59b6bcc8..b2102a9d 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/ListModel.php @@ -15,7 +15,7 @@ class ListModel extends WlModelAbstract * @get result * @var array */ - public $a_product; + public $a_product = []; /** * The list of products to show with duplicates. @@ -37,7 +37,7 @@ class ListModel extends WlModelAbstract public $k_business = '0'; /** - * The key of a location. + * The key of a location. If `0`, all products in the business are retrieved. * * @get get * @var string diff --git a/WellnessLiving/Wl/Location/ListModel.php b/WellnessLiving/Wl/Location/ListModel.php index bd1194b1..5806445b 100644 --- a/WellnessLiving/Wl/Location/ListModel.php +++ b/WellnessLiving/Wl/Location/ListModel.php @@ -31,6 +31,13 @@ class ListModel extends WlModelAbstract * List of directories from {@link WlProjectSid}, where location is published. * </dd> * <dt> + * array <var>a_timezone</var> + * </dt> + * <dd> + * Information about location timezone. Includes `k_timezone` for primary key, `text_abbr` for user-friendly short + * abbreviation and `text_name` for the name of the timezone. + * </dd> + * <dt> * float <var>f_latitude</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index 7b5dbf44..fa104f18 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -195,6 +195,22 @@ class AttendanceInfoByTokenModel extends WlModelAbstract */ public $dt_date_local = ''; + /** + * End date and time of the session in MySQL format in local timezone. + * + * @get result + * @var string + */ + public $dtl_end = ''; + + /** + * End date and time of the session in MySQL format in GMT. + * + * @get result + * @var string + */ + public $dtu_end = ''; + /** * Date and time in UTC when the visit is promoted from wait list to active list. * Not empty for appointments. @@ -212,6 +228,14 @@ class AttendanceInfoByTokenModel extends WlModelAbstract */ public $has_note = null; + /** + * Duration of the session in minutes. + * + * @get result + * @var int + */ + public $i_duration = null; + /** * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. * diff --git a/WellnessLiving/Wl/Profile/ProfileCreateModel.php b/WellnessLiving/Wl/Profile/ProfileCreateModel.php new file mode 100644 index 00000000..7c7d5812 --- /dev/null +++ b/WellnessLiving/Wl/Profile/ProfileCreateModel.php @@ -0,0 +1,69 @@ +<?php + +namespace WellnessLiving\Wl\Profile; + +use WellnessLiving\WlModelAbstract; + +/** + * Creates user profile with minimum fields. + */ +class ProfileCreateModel extends WlModelAbstract +{ + /** + * Date of the user's birthday in MySQL format. + * + * @post post + * @var string + */ + public $dt_birthday = ''; + + /** + * The key of the business. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * First name of the user. + * + * @post post + * @var string + */ + public $text_firstname = ''; + + /** + * Last name of the user. + * + * @post post + * @var string + */ + public $text_lastname = ''; + + /** + * Email of the user. + * + * @post post + * @var string + */ + public $text_mail = ''; + + /** + * Phone of the user. + * + * @post post + * @var string + */ + public $text_phone = ''; + + /** + * The key of the user. + * + * @post result + * @var string + */ + public $uid = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 74bf7053..8a876520 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240913.361021'; + const VERSION='20240918.361988'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 378d9c798c9c088c09742b11d2f2a1da8c7ab5ff Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Fri, 20 Sep 2024 09:57:02 +0000 Subject: [PATCH 56/71] Automatic upgrade of the SDK. Build #362465. --- .../Studio/Ip/Service/EditModel.php | 2 + .../Studio/Ip/Service/ServiceTypeSid.php | 44 +++++++++++++++++++ .../Wl/Book/Process/Frequency/RepeatModel.php | 3 +- .../Process/Purchase/PurchaseElementModel.php | 12 ++++- .../Book/Process/Purchase/PurchaseModel.php | 4 -- WellnessLiving/WlModelRequest.php | 2 +- 6 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php diff --git a/WellnessLiving/Studio/Ip/Service/EditModel.php b/WellnessLiving/Studio/Ip/Service/EditModel.php index 1e43b2e5..5219bc6d 100644 --- a/WellnessLiving/Studio/Ip/Service/EditModel.php +++ b/WellnessLiving/Studio/Ip/Service/EditModel.php @@ -23,6 +23,8 @@ class EditModel extends WlModelAbstract /** * Type of the service. * + * One of {@link ServiceTypeSid} constants. + * * @get result * @post post * @var int diff --git a/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php b/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php new file mode 100644 index 00000000..a9e9f75c --- /dev/null +++ b/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php @@ -0,0 +1,44 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Service; + +/** + * A list of service types to which access by IP address can be managed. + */ +abstract class ServiceTypeSid +{ + /** + * Amazon security group. + * + * @title Amazon Security Group + */ + const AMAZON_GROUP = 5; + + /** + * Amazon IAM user. + * + * @title Amazon IAM user + */ + const AMAZON_IAM = 6; + + /** + * Amazon RDS security group. + */ + const AMAZON_RDS = 1; + + /** + * Access over SSH protocol. + * + * @title Access over SSH + */ + const SSH = 2; + + /** + * Access to SVN repository. + * + * @title Access to SVN repository + */ + const SVN = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php index 3ace4d1c..3c9d54e5 100644 --- a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php +++ b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Book\Process\Frequency; +use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Mode\ModeSid; @@ -12,7 +13,7 @@ class RepeatModel extends WlModelAbstract { /** - * List of days of the week to create visits. + * List of days of the week to create visits. Each value is a {@link ADateWeekSid} constant. * * @get get * @var int[] diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php index cb2d4e33..2bf265e4 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseElementModel.php @@ -74,8 +74,16 @@ class PurchaseElementModel extends WlModelAbstract /** * Installment template key. - * This property is optional. `null` if installment plan doesn't exist for bought item. - * `0` if installment plan doesn't selected for bought item from the list of installment plans. + * This property is optional. + * + * * can only be set for the purchase option which supports installment plan, see {@link PurchaseItemAbstract::INSTALLMENT_ALLOW_USER} property; + * * `null` if installment plan doesn't exist for bought item; + * * `0` if installment plan doesn't selected for bought item from the list of installment plans. + * + * NOTE: + * * Calculations of discounts and taxes for installment plans are for demonstration purposes only! + * * Installment is not an independent purchase item and has no discounts or taxes. + * * Installment is a division of the final amount (with taxes and discounts), of some purchase option, into N parts. * * @get get * @var string|null diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index e521f433..94808524 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -144,10 +144,6 @@ class PurchaseModel extends WlModelAbstract * <dd>The key of the installment plan template.</dd> * <dt>string <var>m_amount</var></dt> * <dd>The amount of the installment plan.</dd> - * <dt>string <var>m_discount_login</var></dt> - * <dd>The discount amount for the client type of one purchase item.</dd> - * <dt>string <var>m_price_discount</var></dt> - * <dd>Amount of subtotal for 1 purchase item.</dd> * <dt>string <var>s_duration</var></dt> * <dd>The title of the installment plan.</dd></dl></dd> * <dt>array[] [<var>a_visit_limit</var>]</dt> diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 8a876520..84c00c5f 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240918.361988'; + const VERSION='20240920.362465'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 58a2152cb880557b7b76a851e063193c12ebc394 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 26 Sep 2024 12:58:29 +0000 Subject: [PATCH 57/71] Automatic upgrade of the SDK. Build #363753. --- .../Appointment/Book/Payment/PaymentModel.php | 6 ++ .../Book/Payment/PaymentMultipleModel.php | 6 ++ .../Book/Payment/PaymentPostModel.php | 6 ++ .../Wl/Book/Process/Info/Info54Model.php | 56 ++++++++++------- .../Wl/Book/Process/Info/InfoModel.php | 56 ++++++++++------- .../Wl/Book/Process/Payment/PaymentModel.php | 62 ++++++++++++------- .../Wl/Book/Process/Process54Model.php | 56 ++++++++++------- .../Wl/Book/Process/Process59Model.php | 56 ++++++++++------- .../Wl/Book/Process/ProcessModel.php | 56 ++++++++++------- .../Book/Process/Purchase/Purchase56Model.php | 60 +++++++++--------- .../Book/Process/Purchase/PurchaseModel.php | 56 ++++++++++------- .../Wl/Book/Process/Quiz/QuizModel.php | 56 ++++++++++------- .../Book/Process/Resource/Resource54Model.php | 56 ++++++++++------- .../Book/Process/Resource/ResourceModel.php | 56 ++++++++++------- .../Wl/Book/Process/Store/StoreModel.php | 56 ++++++++++------- .../Wl/Catalog/Payment/PaymentModel.php | 6 ++ .../Wl/Classes/ClassView/ElementModel.php | 2 + .../Attendance/AttendanceInfoByTokenModel.php | 2 +- .../Wl/Pay/Account/Charge/ChargeModel.php | 6 ++ WellnessLiving/Wl/Quiz/QuizElementModel.php | 19 ++++++ WellnessLiving/WlModelRequest.php | 2 +- 21 files changed, 443 insertions(+), 294 deletions(-) diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index 922e41e8..3af4b216 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -122,6 +122,12 @@ class PaymentModel extends WlModelAbstract * <dt> * boolean [<var>is_hide</var>] * </dt> + * <dt> + * bool [<var>is_save</var>=true] + * </dt> + * <dd> + * Whether payment method should be saved to user's account. + * </dd> * <dd> * Determines whether this payment method is hidden. * </dd> diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 5574ca2d..3e8b67f0 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -254,6 +254,12 @@ class PaymentMultipleModel extends WlModelAbstract * <dt> * boolean [<var>is_hide</var>] * </dt> + * <dt> + * bool [<var>is_save</var>=true] + * </dt> + * <dd> + * Whether payment method should be saved to user's account. + * </dd> * <dd> * Determines whether this payment method is hidden. * </dd> diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index 0a0d38e4..9853c161 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -119,6 +119,12 @@ class PaymentPostModel extends WlModelAbstract * <dt> * boolean [<var>is_hide</var>] * </dt> + * <dt> + * bool [<var>is_save</var>=true] + * </dt> + * <dd> + * Whether payment method should be saved to user's account. + * </dd> * <dd> * Determines whether this payment method is hidden. * </dd> diff --git a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php index 609ef5b0..825b6f17 100644 --- a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php +++ b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php @@ -36,46 +36,54 @@ class Info54Model extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php index 2e6c96ea..8b4067d3 100644 --- a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php +++ b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php @@ -35,46 +35,54 @@ class InfoModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php index b167e948..561dd477 100644 --- a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php @@ -140,6 +140,12 @@ class PaymentModel extends WlModelAbstract * <dt> * boolean [<var>is_hide</var>] * </dt> + * <dt> + * bool [<var>is_save</var>=true] + * </dt> + * <dd> + * Whether payment method should be saved to user's account. + * </dd> * <dd> * Determines whether this payment method is hidden. * </dd> @@ -185,46 +191,54 @@ class PaymentModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Process54Model.php b/WellnessLiving/Wl/Book/Process/Process54Model.php index 2b6c94af..1ff97abf 100644 --- a/WellnessLiving/Wl/Book/Process/Process54Model.php +++ b/WellnessLiving/Wl/Book/Process/Process54Model.php @@ -56,46 +56,54 @@ class Process54Model extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Process59Model.php b/WellnessLiving/Wl/Book/Process/Process59Model.php index 7af00b0e..1b177b98 100644 --- a/WellnessLiving/Wl/Book/Process/Process59Model.php +++ b/WellnessLiving/Wl/Book/Process/Process59Model.php @@ -55,46 +55,54 @@ class Process59Model extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/ProcessModel.php b/WellnessLiving/Wl/Book/Process/ProcessModel.php index 405f3f16..9badf706 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessModel.php +++ b/WellnessLiving/Wl/Book/Process/ProcessModel.php @@ -53,46 +53,54 @@ class ProcessModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index 06bad471..fc01f5d6 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -141,10 +141,6 @@ class Purchase56Model extends WlModelAbstract * <dd>The key of the installment plan template.</dd> * <dt>string <var>m_amount</var></dt> * <dd>The amount of the installment plan.</dd> - * <dt>string <var>m_discount_login</var></dt> - * <dd>The discount amount for the client type of one purchase item.</dd> - * <dt>string <var>m_price_discount</var></dt> - * <dd>Amount of subtotal for 1 purchase item.</dd> * <dt>string <var>s_duration</var></dt> * <dd>The title of the installment plan.</dd></dl></dd> * <dt>array[] [<var>a_visit_limit</var>]</dt> @@ -207,46 +203,54 @@ class Purchase56Model extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index 94808524..dac237df 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -206,46 +206,54 @@ class PurchaseModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php index 2a9c5f16..ee1a070e 100644 --- a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php +++ b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php @@ -65,46 +65,54 @@ class QuizModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php index f0a811f1..d97ae183 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php +++ b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php @@ -27,46 +27,54 @@ class Resource54Model extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php index 9e71ae0a..ec5da592 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php +++ b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php @@ -26,46 +26,54 @@ class ResourceModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 6217ff82..0df9c078 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -50,46 +50,54 @@ class StoreModel extends WlModelAbstract /** * Information about the recurring booking: * <dl> - * <dt> - * int[] [<var>a_week</var>] - * </dt> + * <dt>int[] <var>a_day</var></dt> * <dd> - * The days of week when the appointment repeat. One of the {@link ADateWeekSid} constants. - * This will be empty if the appointment doesn't repeat weekly. + * The days of week when the appointment repeat.One of the {@link ADateWeekSid} constants. + * Should be passed for any type of repetition. * </dd> + * <dt>int[] <var>a_week</var></dt> + * <dd>Deprecated, use `a_day` instead!</dd> + * <dt>string [<var>dl_end</var>]</dt> + * <dd>Deprecated, use `dt_from` and `dt_to` instead!</dd> * <dt> - * string [<var>dl_end</var>] + * string [<var>dt_from</var>] * </dt> * <dd> - * The date when the appointment's repeat cycle stops. This will be empty if the repeat cycle doesn't stop at a certain date. + * Date to start recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int [<var>i_occurrence</var>] + * string [<var>dt_to</var>] * </dt> * <dd> - * The number of occurrences after which the appointment's repeat cycle stops. - * This will be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Date to complete recurring booking. + * Expected for `id_repeat_ * </dd> * <dt> - * int <var>i_period</var> - * </dt> - * <dd> - * The frequency of the appointment's repeat cycle. - * </dd> + * int [<var>i_count</var>] + * </dt> + * <dd> + * The number of occurrences after which the appointment's repeat cycle stops. + * Should be empty if the repeat cycle doesn't stop after a certain number of occurrences. + * Expected for `id_repeat_ + * </dd> + * <dt>int <var>i_duration</var></dt> + * <dd>Count of days\weeks\months between recurring bookings.</dd> + * <dt>int [<var>i_occurrence</var>]</dt> + * <dd>Deprecated, use `i_count` instead!</dd> + * <dt>int <var>i_period</var></dt> + * <dd>Deprecated, use `i_duration` instead!</dd> * <dt> - * int <var>id_period</var> + * int <var>id_duration</var> * </dt> * <dd> * The measurement unit of `i_period`. One of the {@link ADurationSid} constants. + * Available duration units are: {@link ADurationSid::DAY}, {@link ADurationSid::WEEK}, {@link ADurationSid::MONTH}. * </dd> - * <dt> - * bool [<var>is_month</var>] - * </dt> - * <dd> - * <tt>true</tt> - the appointment repeats monthly on the same date. - * <tt>false</tt> - the appointment repeats monthly on the same day of the week. - * <tt>null</tt> - the appointment doesn't repeat monthly. - * </dd> + * <dt>int <var>id_period</var></dt> + * <dd>Deprecated, use `id_duration` instead!</dd> + * <dt>int <var>id_repeat_end</var></dt> + * <dd>Possible ways to stop repeatable events.</dd> * </dl> * * This will be `null` if the booking isn't recurring. diff --git a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php index d297ee29..70035dd7 100644 --- a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php @@ -355,6 +355,12 @@ class PaymentModel extends WlModelAbstract * <dt> * boolean [<var>is_hide</var>] * </dt> + * <dt> + * bool [<var>is_save</var>=true] + * </dt> + * <dd> + * Whether payment method should be saved to user's account. + * </dd> * <dd> * Determines whether this payment method is hidden. * </dd> diff --git a/WellnessLiving/Wl/Classes/ClassView/ElementModel.php b/WellnessLiving/Wl/Classes/ClassView/ElementModel.php index d69cd369..028be518 100644 --- a/WellnessLiving/Wl/Classes/ClassView/ElementModel.php +++ b/WellnessLiving/Wl/Classes/ClassView/ElementModel.php @@ -99,6 +99,8 @@ class ElementModel extends WlModelAbstract * </dd> * <dt>string <var>k_class</var></dt> * <dd>The class key.</dd> + * <dt>string<var>k_promotion_default</var> + * <dd> Promotion key of the default promotion to use when paying for the class. `null` if no promotion is selected. * <dt>string <var>m_price</var></dt> * <dd>Drop In price, if the class allows payment for one visit.</dd> * <dt>bool <var>show_special_instructions</var></dt> diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index fa104f18..667b9a63 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -234,7 +234,7 @@ class AttendanceInfoByTokenModel extends WlModelAbstract * @get result * @var int */ - public $i_duration = null; + public $i_duration; /** * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. diff --git a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php index 68eaed1a..a5a695a8 100644 --- a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php +++ b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php @@ -107,6 +107,12 @@ class ChargeModel extends WlModelAbstract * <dt> * boolean [<var>is_hide</var>] * </dt> + * <dt> + * bool [<var>is_save</var>=true] + * </dt> + * <dd> + * Whether payment method should be saved to user's account. + * </dd> * <dd> * Determines whether this payment method is hidden. * </dd> diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index ea90cc81..3415e573 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Quiz; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** * Manages a single quiz. @@ -32,6 +33,24 @@ class QuizElementModel extends WlModelAbstract */ public $a_element = []; + /** + * List of purchase items for which this form is loaded. + * + * The list of purchase items. + * Each element has the format `[id_purchase_item]::[k_id]`, where: <dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The item key. This depends on <var>id_purchase_item</var> of this array.</dd> + * </dl> + * + * `null` in case when purchase item not specified or form loaded from direct link. + * + * @get get + * @var string[]|null + */ + public $a_purchase_item = null; + /** * Quiz settings. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 84c00c5f..290a82e6 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240920.362465'; + const VERSION='20240926.363753'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 2aac550860199f3c8db151b2922c96119150f7f7 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 1 Oct 2024 22:00:37 +0000 Subject: [PATCH 58/71] Automatic upgrade of the SDK. Build #364654. --- .../Studio/Task/Branch/BranchListModel.php | 4 +- .../Business/Design/BusinessDesignModel.php | 4 +- .../Wl/Catalog/Payment/PaymentModel.php | 11 +-- .../Wl/Login/WlLoginActivityTypeSid.php | 5 ++ WellnessLiving/Wl/Quiz/QuizElementModel.php | 35 ++++---- .../Generator/ReportGeneratorStatusSid.php | 88 ------------------- .../Wl/Reward/Score/ScoreControlModel.php | 56 ------------ WellnessLiving/Wl/Reward/Score/ScoreModel.php | 61 +++++++++++++ WellnessLiving/Wl/WlPrivilegeSid.php | 7 +- WellnessLiving/WlModelRequest.php | 2 +- 10 files changed, 101 insertions(+), 172 deletions(-) delete mode 100644 WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php delete mode 100644 WellnessLiving/Wl/Reward/Score/ScoreControlModel.php create mode 100644 WellnessLiving/Wl/Reward/Score/ScoreModel.php diff --git a/WellnessLiving/Studio/Task/Branch/BranchListModel.php b/WellnessLiving/Studio/Task/Branch/BranchListModel.php index f216d23a..22e9638c 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchListModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchListModel.php @@ -22,10 +22,10 @@ class BranchListModel extends WlModelAbstract * <dd>Key of deployment instance.</dd> * <dt>string <var>k_task</var></dt> * <dd>Task key.</dd> - * <dt>string <var>s_fio</var></dt> - * <dd>Task author name.</dd> * <dt>string <var>text_create</var></dt> * <dd>Formatted time interval when branch was created.</dd> + * <dt>string <var>text_fio</var></dt> + * <dd>Task author name.</dd> * <dt>string <var>text_title</var></dt> * <dd>Title of the task.</dd> * <dt>string <var>url_task</var></dt> diff --git a/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php b/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php index 52d0e548..8e950de6 100644 --- a/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php +++ b/WellnessLiving/Wl/Business/Design/BusinessDesignModel.php @@ -23,8 +23,10 @@ class BusinessDesignModel extends WlModelAbstract * <dd>Logo style ID. For more details, see {@link RsBusinessDesignLogoStyleSid}.</dd> * <dt>bool <var>is_attend_self</var></dt> * <dd>If <tt>true</tt> clients can check-in using the Client Web App and Achieve Web App.</dd> + * <dt>bool <var>is_appointment_capacity</var></dt> + * <dd>If <tt>true</tt> the capacity and number of clients signed up to the appointment will be shown.</dd> * <dt>bool <var>is_class_capacity</var></dt> - * <dd>If <tt>true</tt> the capacity and number of clients signed up will be shown.</dd> + * <dd>If <tt>true</tt> the capacity and number of clients signed up to the class will be shown.</dd> * <dt>bool <var>is_class_quick</var></dt> * <dd>If <tt>true</tt>, the quick class filter will be shown.</dd> * <dt>bool <var>is_show_name</var></dt> diff --git a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php index 70035dd7..9de6708c 100644 --- a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php @@ -69,16 +69,13 @@ class PaymentModel extends WlModelAbstract * </dt> * <dd> * "Wellness Program" fields. - * * <var>k_wellness_program</var> must be passed along with this array. See the description below. - * * <dl> * <dt>array <var>a_account</var></dt> * <dd>See {@link EnrollmentFieldListModel::$a_account} for a full description.</dd> * <dt>array <var>a_field</var></dt> * <dd>See {@link EnrollmentFieldListModel::$a_field} for a full description.</dd> * </dl> - * * It's recommended to validate the fields using the POST method of the {@link EnrollmentFieldListModel} model. * </dd> * <dt> @@ -150,9 +147,7 @@ class PaymentModel extends WlModelAbstract * </dt> * <dd> * The "Wellness Program" key. Set this for the insurance membership promotion. - * * <var>a_wellness_program</var> array must be passed along with the key. See the array description above. - * * <p>Use the following models to work with this type of promotion:</p> * <ul> * <li>{@link ProgramListModel} to obtain list of active programs.</li> @@ -239,6 +234,12 @@ class PaymentModel extends WlModelAbstract * The item key. * </dd> * <dt> + * string [<var>k_login_prize</var>] + * </dt> + * <dd> + * The key of the login prize to apply a login prize discount. + * </dd> + * <dt> * string [<var>k_shop_product_option</var>] * </dt> * <dd> diff --git a/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php b/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php index a7267b20..ba5d6641 100644 --- a/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php +++ b/WellnessLiving/Wl/Login/WlLoginActivityTypeSid.php @@ -231,6 +231,11 @@ abstract class WlLoginActivityTypeSid */ const REVIEW_SHARE_TWITTER = 42; + /** + * Reward points were changed manually. + */ + const REWARD_MANUAL = 55; + /** * All reward points have been reset. */ diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 3415e573..bbfc957b 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -33,24 +33,6 @@ class QuizElementModel extends WlModelAbstract */ public $a_element = []; - /** - * List of purchase items for which this form is loaded. - * - * The list of purchase items. - * Each element has the format `[id_purchase_item]::[k_id]`, where: <dl> - * <dt>int <var>id_purchase_item</var></dt> - * <dd>The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> - * <dt>string <var>k_id</var></dt> - * <dd>The item key. This depends on <var>id_purchase_item</var> of this array.</dd> - * </dl> - * - * `null` in case when purchase item not specified or form loaded from direct link. - * - * @get get - * @var string[]|null - */ - public $a_purchase_item = null; - /** * Quiz settings. * @@ -132,6 +114,23 @@ class QuizElementModel extends WlModelAbstract */ public $json_element = ''; + /** + * List of purchase items for which this form is loaded in JSON format. + * + * Each element has the format `[id_purchase_item]::[k_id]`, where: <dl> + * <dt>int <var>id_purchase_item</var></dt> + * <dd>The ID of the purchase item. One of the {@link WlPurchaseItemSid} constants.</dd> + * <dt>string <var>k_id</var></dt> + * <dd>The item key. This depends on <var>id_purchase_item</var> of this array.</dd> + * </dl> + * + * Empty in case when purchase item not specified or form loaded from direct link. + * + * @get get + * @var string + */ + public $json_purchase_item = ''; + /** * Business key within which quiz is managed. * diff --git a/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php b/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php deleted file mode 100644 index ab0aa322..00000000 --- a/WellnessLiving/Wl/Report/Generator/ReportGeneratorStatusSid.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Report\Generator; - -/** - * Lists statuses of reports from point of view of its generation. - */ -class ReportGeneratorStatusSid -{ - /** - * Report is in an inconsistent state. - * - * There was an aborted operation which means this report is available partially. - * - * The following transitions are possible: - * - * * `ABORTED` => `DELETING` when a background task finds that this report is old and should be deleted. - * - * * `ABORTED` => `QUEUED` if user clicks to regenerate this report - */ - const ABORTED = 6; - - /** - * Current operation is being aborted now. - * - * The following transitions are possible: - * - * * `ABORTING` => `ABORTED` when current operation completes. - * This transition is performed in two places: before the beginning of the actual generation, - * and after completion of the generation. - */ - const ABORTING = 5; - - /** - * This report is being deleted now. - * - * The following transitions are possible: - * - * * `DELETING` => (report does not exist anymore) when deletion of this report completes. - */ - const DELETING = 4; - - /** - * This report is being generated now. - * - * This status is set when report is generated from zero point. - * This status basically means that not all partition of the report present. - * It also means that all partitions that exist have the newest values. - * - * All new reports are created in this status. - * - * The following transitions are possible: - * - * * `GENERATING` => `ABORTING` when generation of this report aborted by user. - * * `GENERATING` => `READY` when generation of this report completes. - * This transition is performed when generation completes successfully. - */ - const GENERATING = 2; - - /** - * Generation of this report is queued. - * It will start automatically when generation of other reports completes. - * - * The following transitions are possible: - * - * * `QUEUED` => (report does not exist anymore) If generation of this report was aborted while no data was generated. - * * `QUEUED` => `ABORTED` If generation of this report was aborted while there is data from previous generation of - * this report. - * - * This transition also occurs if a report stayed in the queue more than the set duration and - * there is some data left from the previous generation of this report. - * * `QUEUED` => `GENERATING` when there is a free thread slot to start generation of this report immediately. - */ - const QUEUED = 1; - - /** - * Generation of this report is now completed. - * - * The following transitions are possible: - * - * * `READY` => `DELETING` when a background tasks identifies that this report is old and starts deleting it. - * - * * `READY` => `QUEUED` when user clicks to regenerate this report - */ - const READY = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php b/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php deleted file mode 100644 index b3f36a51..00000000 --- a/WellnessLiving/Wl/Reward/Score/ScoreControlModel.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Reward\Score; - -use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Login\WlLoginActivityTypeSid; - -/** - * Works with user's scores. - */ -class ScoreControlModel extends WlModelAbstract -{ - /** - * The user's bonus scores balance. - * - * @get result - * @var int - */ - public $i_score = 0; - - /** - * User's activity ID. One of {@link WlLoginActivityTypeSid} constants. - * - * @post get - * @var int - */ - public $id_type = 0; - - /** - * The business key that user are in. - * - * @get get - * @post get - * @var string - */ - public $k_business = '0'; - - /** - * Object ID, for example, class period ID for books and visits. - * - * @post get - * @var ?string - */ - public $k_id = null; - - /** - * The user's key to work with the scores. - * - * @get get - * @post get - * @var string - */ - public $uid = '0'; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reward/Score/ScoreModel.php b/WellnessLiving/Wl/Reward/Score/ScoreModel.php new file mode 100644 index 00000000..23415c8a --- /dev/null +++ b/WellnessLiving/Wl/Reward/Score/ScoreModel.php @@ -0,0 +1,61 @@ +<?php + +namespace WellnessLiving\Wl\Reward\Score; + +use WellnessLiving\WlModelAbstract; + +/** + * API endpoint designed to manage points which are earned for certain activity. + */ +class ScoreModel extends WlModelAbstract +{ + /** + * List of login activity keys for which points should be added or returned. + * + * NOTE: Login activity might belong to different users. It is possible for ex if booking performed + * for several users (usually family members) and required to retrieve sum of all scores for preformed activities. + * + * @get get + * @post get + * @var string[] + */ + public $a_login_activity = []; + + /** + * Depending on arguments specified during API request might be: + * * Total number of points which were earned for each activity in a list provided in {@link ScoreModel::$a_login_activity} + * in a case if it was provided. + * * Total number of points user currently own in a cast if {@link ScoreModel::$uid} specified. + * + * @get result + * @put post + * @var int + */ + public $i_score = 0; + + /** + * Business key within which score should be managed. + * + * @put post + * @var string + */ + public $k_business = '0'; + + /** + * String to be added as a comment to manual reward points changes. + * + * @put post + * @var string + */ + public $text_comment = ''; + + /** + * User key for which score should be managed. + * + * @put post + * @var string + */ + public $uid = '0'; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlPrivilegeSid.php b/WellnessLiving/Wl/WlPrivilegeSid.php index dd34a835..3691f368 100644 --- a/WellnessLiving/Wl/WlPrivilegeSid.php +++ b/WellnessLiving/Wl/WlPrivilegeSid.php @@ -5,7 +5,7 @@ /** * Wellnessliving-wide privileges. * - * Last Used ID: 204. + * Last Used ID: 205. */ abstract class WlPrivilegeSid { @@ -610,6 +610,11 @@ abstract class WlPrivilegeSid */ const PROFILE_MY_LOCATION = 86; + /** + * View client’s upcoming and past schedule. + */ + const PROFILE_SCHEDULE = 205; + /** * Manage profile client type. */ diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 290a82e6..bcd47d45 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20240926.363753'; + const VERSION='20241001.364654'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 00870d85edf53022acf0ab920e2e5173002cfdbc Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 1 Oct 2024 22:22:04 +0000 Subject: [PATCH 59/71] Automatic upgrade of the SDK. Build #364657. --- .../Generator/ReportGeneratorStatusSid.php | 88 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php diff --git a/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php new file mode 100644 index 00000000..051b2db6 --- /dev/null +++ b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php @@ -0,0 +1,88 @@ +<?php + +namespace WellnessLiving\Thoth\ReportCore\Generator; + +/** + * Lists statuses of reports from point of view of its generation. + */ +class ReportGeneratorStatusSid +{ + /** + * Report is in an inconsistent state. + * + * There was an aborted operation which means this report is available partially. + * + * The following transitions are possible: + * + * * `ABORTED` => `DELETING` when a background task finds that this report is old and should be deleted. + * + * * `ABORTED` => `QUEUED` if user clicks to regenerate this report + */ + const ABORTED = 6; + + /** + * Current operation is being aborted now. + * + * The following transitions are possible: + * + * * `ABORTING` => `ABORTED` when current operation completes. + * This transition is performed in two places: before the beginning of the actual generation, + * and after completion of the generation. + */ + const ABORTING = 5; + + /** + * This report is being deleted now. + * + * The following transitions are possible: + * + * * `DELETING` => (report does not exist anymore) when deletion of this report completes. + */ + const DELETING = 4; + + /** + * This report is being generated now. + * + * This status is set when report is generated from zero point. + * This status basically means that not all partition of the report present. + * It also means that all partitions that exist have the newest values. + * + * All new reports are created in this status. + * + * The following transitions are possible: + * + * * `GENERATING` => `ABORTING` when generation of this report aborted by user. + * * `GENERATING` => `READY` when generation of this report completes. + * This transition is performed when generation completes successfully. + */ + const GENERATING = 2; + + /** + * Generation of this report is queued. + * It will start automatically when generation of other reports completes. + * + * The following transitions are possible: + * + * * `QUEUED` => (report does not exist anymore) If generation of this report was aborted while no data was generated. + * * `QUEUED` => `ABORTED` If generation of this report was aborted while there is data from previous generation of + * this report. + * + * This transition also occurs if a report stayed in the queue more than the set duration and + * there is some data left from the previous generation of this report. + * * `QUEUED` => `GENERATING` when there is a free thread slot to start generation of this report immediately. + */ + const QUEUED = 1; + + /** + * Generation of this report is now completed. + * + * The following transitions are possible: + * + * * `READY` => `DELETING` when a background tasks identifies that this report is old and starts deleting it. + * + * * `READY` => `QUEUED` when user clicks to regenerate this report + */ + const READY = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index bcd47d45..8ac14bb1 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241001.364654'; + const VERSION='20241001.364657'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From cbb29c350f28e900c793f8dc7feab782b10dc793 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 10 Oct 2024 17:23:36 +0000 Subject: [PATCH 60/71] Automatic upgrade of the SDK. Build #366441. --- .../Drive/ImageUpload/ImageUploadModel.php | 10 + .../Generator/ReportGeneratorStatusSid.php | 5 + .../Appointment/Book/Asset/AssetListModel.php | 18 + .../Wl/Book/Process/Info/Info54Model.php | 12 + .../Wl/Book/Process/Info/InfoModel.php | 12 + .../Wl/Book/Process/Payment/PaymentModel.php | 12 + .../Wl/Book/Process/Process54Model.php | 12 + .../Wl/Book/Process/Process59Model.php | 12 + .../Wl/Book/Process/ProcessModel.php | 12 + .../Book/Process/Purchase/Purchase56Model.php | 12 + .../Book/Process/Purchase/PurchaseModel.php | 12 + .../Wl/Book/Process/Quiz/QuizModel.php | 12 + .../Book/Process/Relation/RelationModel.php | 11 + .../Book/Process/Resource/Resource54Model.php | 12 + .../Book/Process/Resource/ResourceModel.php | 12 + .../Wl/Book/Process/Store/StoreModel.php | 12 + .../Wl/Catalog/Payment/PaymentModel.php | 6 +- .../Wl/Classes/ClassView/ElementModel.php | 4 +- .../Wl/Integration/Autymate/ReportModel.php | 3 - .../Attendance/AttendanceInfoByTokenModel.php | 12 +- .../Login/Attendance/AttendanceInfoModel.php | 365 ++++++++++++++++++ .../Report/TransactionAllPaymentModel.php | 3 - .../StaffApp/ScheduleListModel.php | 25 ++ WellnessLiving/Wl/WlPayProcessorSid.php | 38 +- WellnessLiving/WlModelRequest.php | 2 +- 25 files changed, 602 insertions(+), 44 deletions(-) create mode 100644 WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php diff --git a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php index 542776bf..d430c46e 100644 --- a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php +++ b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadModel.php @@ -8,6 +8,16 @@ */ class ImageUploadModel extends \WellnessLiving\Custom\Core\Drive\ImageUpload\ImageUploadModel { + /** + * Allows to give custom parameters which can be required for different types of images. + * + * @get get + * @post get + * @put get + * @var array + */ + public $a_config = []; + /** * Image information for every ID. * diff --git a/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php index 051b2db6..75020784 100644 --- a/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php +++ b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php @@ -83,6 +83,11 @@ class ReportGeneratorStatusSid * * `READY` => `QUEUED` when user clicks to regenerate this report */ const READY = 3; + + /** + * @inheritDoc + */ + const _TRANSLATION_CONTEXT = 'Wl.Report.Generator.ReportGeneratorStatusSid'; } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php index 32f40613..2116be84 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php @@ -109,6 +109,24 @@ class AssetListModel extends WlModelAbstract */ public $a_asset; + /** + * A list of reserved assets. + * + * 1st level keys refer to asset keys. + * 2nd level keys refer to asset numbers. + * Values is keys of appointment bookings that reserve the asset, or `true` if asset reserved by class/event. + * + * For example, if you want to check if the 10th asset with the key of '15' is reserved, + * you can check if `a_resource_busy['15']['10']` is free. + * + * If you're rebooking an appointment, check the value of `a_resource_busy['15']['10']`. + * If it's equal to the key of your current appointment booking, you can assume the asset is available. + * + * @get result + * @var array + */ + public $a_asset_busy = []; + /** * The selected date and time of the asset booking. It is used in cases when the business booking policy allows * clients to select a date and time, and then the available asset. diff --git a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php index 825b6f17..3af1f388 100644 --- a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php +++ b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php @@ -426,6 +426,18 @@ class Info54Model extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * Can client chooses several session per booking. * diff --git a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php index 8b4067d3..f2a3596c 100644 --- a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php +++ b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php @@ -425,6 +425,18 @@ class InfoModel extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * Can client chooses several session per booking. * diff --git a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php index 561dd477..6afee7ca 100644 --- a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php @@ -327,6 +327,18 @@ class PaymentModel extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Book/Process/Process54Model.php b/WellnessLiving/Wl/Book/Process/Process54Model.php index 1ff97abf..ddc025b2 100644 --- a/WellnessLiving/Wl/Book/Process/Process54Model.php +++ b/WellnessLiving/Wl/Book/Process/Process54Model.php @@ -165,6 +165,18 @@ class Process54Model extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * If `true`, the session being booked is an event. Otherwise, this will be `false`. * diff --git a/WellnessLiving/Wl/Book/Process/Process59Model.php b/WellnessLiving/Wl/Book/Process/Process59Model.php index 1b177b98..a4ac5bb4 100644 --- a/WellnessLiving/Wl/Book/Process/Process59Model.php +++ b/WellnessLiving/Wl/Book/Process/Process59Model.php @@ -164,6 +164,18 @@ class Process59Model extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * If `true`, the session being booked is an event. Otherwise, this will be `false`. * diff --git a/WellnessLiving/Wl/Book/Process/ProcessModel.php b/WellnessLiving/Wl/Book/Process/ProcessModel.php index 9badf706..de0c5f65 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessModel.php +++ b/WellnessLiving/Wl/Book/Process/ProcessModel.php @@ -162,6 +162,18 @@ class ProcessModel extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * If `true`, the session being booked is an event. Otherwise, this will be `false`. * diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index fc01f5d6..2b4831e9 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -380,6 +380,18 @@ class Purchase56Model extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index dac237df..72b44bc4 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -383,6 +383,18 @@ class PurchaseModel extends WlModelAbstract */ public $is_card_authorize = false; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php index ee1a070e..995d9fb4 100644 --- a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php +++ b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php @@ -195,6 +195,18 @@ class QuizModel extends WlModelAbstract */ public $id_mode = 0; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php b/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php index 524bf8b7..f36b27b5 100644 --- a/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php +++ b/WellnessLiving/Wl/Book/Process/Relation/RelationModel.php @@ -54,6 +54,17 @@ class RelationModel extends WlModelAbstract */ public $id_relation = 0; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` - the new relative uses the email from <var>uid_from</var>. * diff --git a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php index d97ae183..33766c85 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php +++ b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php @@ -259,6 +259,18 @@ class Resource54Model extends WlModelAbstract */ public $id_mode = 0; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php index ec5da592..de728de0 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php +++ b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php @@ -258,6 +258,18 @@ class ResourceModel extends WlModelAbstract */ public $id_mode = 0; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 0df9c078..3d3640e6 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -178,6 +178,18 @@ class StoreModel extends WlModelAbstract */ public $id_mode = 0; + /** + * Checking whether the client has a credit card (if configured in the business) will be skipped if this flag is set to `false`. + * + * Use this field with caution. + * The final booking will not use this flag and the check will still be performed. + * + * @get get + * @post get + * @var bool + */ + public $is_credit_card_check = true; + /** * `true` if user pressed 'Pay later'. * `false` if user pressed 'Pay now'. diff --git a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php index 9de6708c..4107946a 100644 --- a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php @@ -56,7 +56,11 @@ class PaymentModel extends WlModelAbstract * <dt>int <var>id_purchase_item</var></dt> * <dd>The purchase type of the element. One of the {@link WlPurchaseItemSid} constants.</dd> * <dt>string <var>k_id</var></dt> - * <dd>The primary key of the element, depending on the element type.</dd></dl> + * <dd> + * The primary key of the element, depending on the element type. + * Pay attention that if you add a product into gift card, there must be specified not product key but product option key. + * Do not specify separate field `k_shop_product_option`. + * </dd></dl> * </dd> * <dt> * array [<var>a_uid_share</var>] diff --git a/WellnessLiving/Wl/Classes/ClassView/ElementModel.php b/WellnessLiving/Wl/Classes/ClassView/ElementModel.php index 028be518..ddf341d3 100644 --- a/WellnessLiving/Wl/Classes/ClassView/ElementModel.php +++ b/WellnessLiving/Wl/Classes/ClassView/ElementModel.php @@ -99,8 +99,8 @@ class ElementModel extends WlModelAbstract * </dd> * <dt>string <var>k_class</var></dt> * <dd>The class key.</dd> - * <dt>string<var>k_promotion_default</var> - * <dd> Promotion key of the default promotion to use when paying for the class. `null` if no promotion is selected. + * <dt>string<var>k_promotion_default</var></dt> + * <dd> Promotion key of the default promotion to use when paying for the class. `null` if no promotion is selected.</dd> * <dt>string <var>m_price</var></dt> * <dd>Drop In price, if the class allows payment for one visit.</dd> * <dt>bool <var>show_special_instructions</var></dt> diff --git a/WellnessLiving/Wl/Integration/Autymate/ReportModel.php b/WellnessLiving/Wl/Integration/Autymate/ReportModel.php index ebfa7798..f5acf84d 100644 --- a/WellnessLiving/Wl/Integration/Autymate/ReportModel.php +++ b/WellnessLiving/Wl/Integration/Autymate/ReportModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Integration\Autymate; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Report\Generator\ReportGeneratorStatusSid; use WellnessLiving\Wl\WlPayMethodSid; /** @@ -104,8 +103,6 @@ class ReportModel extends WlModelAbstract /** * The status of the report. * - * One of the {@link ReportGeneratorStatusSid} constants. - * * @get result * @var int */ diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index 667b9a63..d8c6e0b3 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -9,6 +9,7 @@ /** * Displays information for certain sessions. + * Version of {@link AttendanceInfoModel} for access validation by security token. */ class AttendanceInfoByTokenModel extends WlModelAbstract { @@ -180,7 +181,7 @@ class AttendanceInfoByTokenModel extends WlModelAbstract public $dt_confirm = ''; /** - * Start date of ste session in MySQL format in GMT. + * Start date of the session in MySQL format in GMT. * * @get result * @var string @@ -359,6 +360,15 @@ class AttendanceInfoByTokenModel extends WlModelAbstract * @var string */ public $text_token = ''; + + /** + * URL that leads directly to the class/event booking page in the Client Web App. + * Empty string if the service is an appointment reservation. + * + * @get result + * @var string + */ + public $url_booking; } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php new file mode 100644 index 00000000..a201ddc4 --- /dev/null +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php @@ -0,0 +1,365 @@ +<?php + +namespace WellnessLiving\Wl\Login\Attendance; + +use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; +use WellnessLiving\Wl\WlSaleSid; +use WellnessLiving\Wl\WlServiceSid; + +/** + * Attendance list information. + */ +class AttendanceInfoModel extends WlModelAbstract +{ + /** + * Additional visit information about this appointment. Empty array if it's not an appointment: + * <dl> + * <dt>bool <var>is_deny</var></dt> + * <dd>`true` means that appointment was requested and denied by the staff.</dd> + * <dt>bool <var>is_notify_request_accept</var></dt> + * <dd>`true` means that the client will receive a notification, if appointment will be confirmed by the staff.</dd> + * <dt>bool <var>is_notify_request_deny</var></dt> + * <dd>`true` means that the client will receive a notification, if appointment will be denied by the staff.</dd> + * <dt>bool <var>is_request</var></dt> + * <dd>`true` means that appointment was requested, but not confirmed by the staff.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_appointment_visit_info = []; + + /** + * Service logo information: + * <dl> + * <dt> + * bool <var>is_empty</var> + * </dt> + * <dd> + * Whether service image is empty. + * </dd> + * <dt> + * string <var>s_url</var> + * </dt> + * <dd> + * Url link to image. + * </dd> + * </dl> + * + * @get result + * @var array + */ + public $a_logo; + + /** + * Default purchase option information. + * <dl> + * <dt>string? <var>id_sale</var></dt> + * <dd>The sale item type, one of the {@link WlSaleSid} constants. + * This will be `null` if the class has no default Purchase Option, or it sets to "Drop-in rate".</dd> + * <dt>string? <var>k_id</var></dt> + * <dd>The default Purchase Option key. + * This will be `null` if the class has no default Purchase Option, or it sets to "Drop-in rate".</dd> + * <dt>bool <var>is_single_default</var></dt> + * <dd>If the default Purchase Option is set to "Drop-in rate" then the value will be `true`, `false` otherwise.</dd> + * </dl> + * + * @get result + * @var array + */ + public $a_purchase_option_default = []; + + /** + * Assets which are bound to this session. + * + * @get result + * @var string[] + */ + public $a_resource; + + /** + * Asset layouts of session: + * <dl> + * <dt> + * array <var>a_client</var> + * </dt> + * <dd> + * List of clients who occupy assets of class. + * It is a double nesting array. + * Keys - primary keys of assets. Sub keys - asset index. + * Values - sub array with keys: + * <dl><dt>string <var>text_client</var></dt><dd>User's name.</dd> + * <dt>string <var>uid</var></dt><dd>User's primary key.</dd></dl> + * </dd> + * <dt> + * string[] <var>a_resource_available</var> + * </dt> + * <dd> + * Key of asset. + * </dd> + * <dt> + * string <var>k_resource_layout</var> + * </dt> + * <dd> + * Key of layout. + * </dd> + * <dt> + * string <var>text_resource_type</var> + * </dt> + * <dd> + * Title of asset category. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_resource_layout; + + /** + * List of staff members who provide service: + * <dl> + * <dt> + * array <var>a_logo</var> + * </dt> + * <dd> + * Data of staff member's photo. Empty if staff has no photo. Otherwise contains next keys: + * <dl> + * <dt> + * int <var>i_height</var> + * </dt> + * <dd> + * Height in pixels. + * </dd> + * <dt> + * int <var>i_width</var> + * </dt> + * <dd> + * Width in pixels. + * </dd> + * <dt> + * string <var>url_logo</var> + * </dt> + * <dd> + * Image URL. + * </dd> + * </dl> + * </dd> + * <dt> + * string <var>k_staff</var> + * </dt> + * <dd> + * Staff key. + * </dd> + * <dt> + * string <var>html_firstname</var> + * </dt> + * <dd> + * Staff member's first name. + * </dd> + * <dt> + * string <var>html_lastname</var> + * </dt> + * <dd> + * Staff member's last name. + * </dd> + * </dl> + * + * @get result + * @var array[] + */ + public $a_staff; + + /** + * Confirmation date+time of appointment in MySQL format. If client never confirmed, will be zero date + time. + * + * @get result + * @var string + */ + public $dt_confirm = ''; + + /** + * Start date of the session in MySQL format in GMT. + * + * @get result + * @var string + */ + public $dt_date_global; + + /** + * Start date of the class in MySQL format in local time. + * + * @get get + * @var string + */ + public $dt_date_local = ''; + + /** + * End date and time of the session in MySQL format in local timezone. + * + * @get result + * @var string + */ + public $dtl_end = ''; + + /** + * End date and time of the session in MySQL format in GMT. + * + * @get result + * @var string + */ + public $dtu_end = ''; + + /** + * Date and time in UTC when the visit is promoted from wait list to active list. + * Not empty for appointments. + * + * @get result + * @var string + */ + public $dtu_wait_promote = ''; + + /** + * Whether notes added to visit. + * + * @get result + * @var bool + */ + public $has_note; + + /** + * Duration of the session in minutes. + * + * @get result + * @var int + */ + public $i_duration; + + /** + * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. + * + * @get result + * @var int|false + */ + public $id_note; + + /** + * Service type, one of {@link WlServiceSid}. + * + * @get result + * @var int + */ + public $id_service; + + /** + * Whether this service be carried out in Zoom. + * <tt>true</tt> - If the service can be carried out in Zoom. + * <tt>false</tt> - otherwise. + * + * @get result + * @var bool + */ + public $is_start_virtual_service = false; + + /** + * ID of appointment to get information for. + * + * @get get + * @var string + */ + public $k_appointment = '0'; + + /** + * ID of business to get information for. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Not empty if service is class or event reservation. + * + * @get result + * @var string + */ + public $k_class; + + /** + * ID of class period to get information for. + * + * @get get + * @var string + */ + public $k_class_period = '0'; + + /** + * Location identifier. + * + * @get result + * @var string + */ + public $k_location; + + /** + * Resource identifier. + * Not empty if service is asset reservation. + * + * @get result + * @var string + */ + public $k_resource; + + /** + * Service identifier. + * Not empty if service is appointment reservation. + * + * @get result + * @var string + */ + public $k_service; + + /** + * Location name. + * + * @get result + * @var string + */ + public $text_location; + + /** + * Time when service starts in format <tt>8:00AM</tt>. + * + * @get result + * @var string + */ + public $text_time_end; + + /** + * Start time of the session in format '9:30AM'. + * + * @get result + * @var string + */ + public $text_time_start; + + /** + * Title of the appointment. + * + * @get result + * @var string + */ + public $text_title; + + /** + * URL that leads directly to the class/event booking page in the Client Web App. + * Empty string if the service is an appointment reservation. + * + * @get result + * @var string + */ + public $url_booking; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php b/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php index 6d776353..8dd9c98d 100644 --- a/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php +++ b/WellnessLiving/Wl/Pay/Transaction/Report/TransactionAllPaymentModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Pay\Transaction\Report; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Report\Generator\ReportGeneratorStatusSid; /** * Can retrieve information from the All Transactions Report. @@ -91,8 +90,6 @@ class TransactionAllPaymentModel extends WlModelAbstract /** * The report status. * - * One of {@link ReportGeneratorStatusSid} constants. - * * @get result * @var int */ diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php index 7db7b8f5..1cc70346 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php @@ -24,6 +24,13 @@ class ScheduleListModel extends WlModelAbstract * List of notes. * </dd> * <dt> + * array[]|null <var>a_quiz</var> + * </dt> + * <dd> + * List of quizzes. + * `null` if no quizzes for schedule item. + * </dd> + * <dt> * array <var>a_appointment_visit_info</var> * </dt> * <dd> @@ -147,6 +154,12 @@ class ScheduleListModel extends WlModelAbstract * The date/time of the session in local time. * </dd> * <dt> + * bool <var>has_quiz_uncompleted</var> + * </dt> + * <dd> + * `true` if has uncompleted quizzes, `false` otherwise. + * </dd> + * <dt> * int <var>i_book</var> * </dt> * <dd> @@ -273,6 +286,12 @@ class ScheduleListModel extends WlModelAbstract * The name of the session. * </dd> * <dt> + * bool <var>show_quiz_icon</var> + * </dt> + * <dd> + * `true` when need show quiz icon, `false` otherwise. + * </dd> + * <dt> * string <var>text_alert</var> * </dt> * <dd> @@ -291,6 +310,12 @@ class ScheduleListModel extends WlModelAbstract * The border color in hex representation as used on WellnessLiving. * </dd> * <dt> + * string <var>text_quiz_title</var> + * </dt> + * <dd> + * Title for quiz icon. + * </dd> + * <dt> * bool<var>is_virtual_service</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/WlPayProcessorSid.php b/WellnessLiving/Wl/WlPayProcessorSid.php index 62ec2d34..b09bfe8d 100644 --- a/WellnessLiving/Wl/WlPayProcessorSid.php +++ b/WellnessLiving/Wl/WlPayProcessorSid.php @@ -4,43 +4,15 @@ /** * A list of payment gateways or processors. + * + * Last ID: 12. */ -abstract class WlPayProcessorSid +class WlPayProcessorSid { /** - * Payment gateway for `cybersource.com`. + * Payment gateway for Nuvei. */ - const CYBER_SOURCE = 11; - - /** - * Payment gateway for Direct Connect. - */ - const DIRECT_CONNECT = 9; - - /** - * Payment gateway for Lucy. - */ - const LUCY = 2; - - /** - * Payment gateway for Netbanx. - */ - const NETBANX = 1; - - /** - * Payment gateway for NMI. - */ - const NMI = 6; - - /** - * Payment gateway for {@link http://www.paychoice.com.au/ Paychoice}. - */ - const PAYCHOICE = 7; - - /** - * Payment gateway for `stripe.com`. - */ - const STRIPE_COM = 10; + const NUVEI = 12; } ?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 8ac14bb1..dcfe7a14 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241001.364657'; + const VERSION='20241010.366441'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 5119d13e91308a81093d43e036a3f4c54e811d7a Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Mon, 14 Oct 2024 20:33:28 +0000 Subject: [PATCH 61/71] Automatic upgrade of the SDK. Build #366874. --- .../Studio/Task/Branch/BranchModel.php | 86 +++++++++++++++++++ .../Studio/Task/Branch/BranchStatusSid.php | 43 ++++++++++ .../Studio/Task/Branch/StandStatusSid.php | 53 ++++++++++++ .../Appointment/Book/Asset/AssetListModel.php | 3 +- .../Wl/Event/Book/EventView/ElementModel.php | 6 +- .../Form/Response/ResponseListModel.php | 12 +++ .../StaffApp/ScheduleListModel.php | 21 +++++ WellnessLiving/WlModelRequest.php | 2 +- 8 files changed, 222 insertions(+), 4 deletions(-) create mode 100644 WellnessLiving/Studio/Task/Branch/BranchModel.php create mode 100644 WellnessLiving/Studio/Task/Branch/BranchStatusSid.php create mode 100644 WellnessLiving/Studio/Task/Branch/StandStatusSid.php diff --git a/WellnessLiving/Studio/Task/Branch/BranchModel.php b/WellnessLiving/Studio/Task/Branch/BranchModel.php new file mode 100644 index 00000000..f288ce62 --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/BranchModel.php @@ -0,0 +1,86 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +use WellnessLiving\WlModelAbstract; + +/** + * Runs a build for creation a new branch or delete an existing branch for the specified task. + */ +class BranchModel extends WlModelAbstract +{ + /** + * Information about entities necessary for the functioning of the stand. + * + * @get result + * @put result + * @var array|null + */ + public $a_stand_data = null; + + /** + * Mode of the <tt>BranchDelete</tt> build. + * + * @delete get + * @var int + */ + public $id_build_mode = 1; + + /** + * Stand status, one of {@link StandStatusSid}. + * + * @get result + * @put result + * @var int|null + */ + public $id_stand_status = null; + + /** + * Branch status, one of {@link BranchStatusSid}. + * + * @get result + * @var int|null + */ + public $id_status = null; + + /** + * Deployment instance key which creates/deletes a branch for the specified task. + * + * @delete get + * @post get + * @var string + */ + public $k_deploy_instance = ''; + + /** + * Task key within which a branch should be created/deleted. + * + * @delete get + * @get result + * @post get + * @var string + */ + public $k_task = ''; + + /** + * Actor user UID key. + * + * @delete get + * @post get + * @var string + */ + public $uid = ''; + + /** + * Url to build page. + * + * Empty string means that build is not started. + * + * @delete result + * @post result + * @var string + */ + public $url_build = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php b/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php new file mode 100644 index 00000000..7d84e7a2 --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php @@ -0,0 +1,43 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +/** + * Branch statuses. + * + * Last used ID: 3. + */ +class BranchStatusSid +{ + /** + * The branch and all related things (catalogs in the repository, site) are being created now. + * + * This action is triggered from the task page on the Studio. + * + * The branch in this status may be transitioned to: + * * {@link BranchStatusSid::READY} in a case when creation is successfully completed; + * * {@link BranchStatusSid::DELETING} in a case when creation is not completed and the branch + * should be deleted before repeatedly creation. + */ + const CREATING = 1; + + /** + * The branch and all related things (catalogs in the repository, site) are being deleted now. + * + * This action is triggered from the task page on the Studio. + * + * The branch in this status may be only deleted from the database. + */ + const DELETING = 3; + + /** + * The branch and all related things (catalogs in the repository, site) are ready to use. + * + * This action is triggered from <tt>BranchCreate</tt> build. + * + * The branch in this status may be transitioned only to {@link BranchStatusSid::DELETING}. + */ + const READY = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/StandStatusSid.php b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php new file mode 100644 index 00000000..03748868 --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php @@ -0,0 +1,53 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +/** + * Stand statuses. + * + * Last used ID: 4. + */ +class StandStatusSid +{ + /** + * Stand is in creation process. + * + * The stand in this status may be transitioned to: + * * * {@link StandStatusSid::READY} in a case when creation is successfully completed. + * * * {@link StandStatusSid::ERROR} in a case when creation was failed with error. + */ + const CREATION = 1; + + /** + * Stand is in deletion process. + * + * The stand in this status may be transitioned to: + * * * {@link StandStatusSid::NOT_EXIST} in a case when deletion is successfully completed. + * * * {@link StandStatusSid::ERROR} in a case when deletion was failed with error. + */ + const DELETION = 3; + + /** + * Creating or deleting a stand resulted in an error + * + * The stand in this status may be transitioned to: + * * * {@link StandStatusSid::NOT_EXIST} if the creation or deletion process has not been completed, we must delete the stand. + */ + const ERROR = 4; + + /** + * Stand has not been created. + * + * The stand in this status may be transitioned only to {@link StandStatusSid::CREATION}. + */ + const NOT_EXIST = 0; + + /** + * Stand was created and ready for use. + * + * The stand in this status may be transitioned only to {@link StandStatusSid::DELETION}. + */ + const READY = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php index 2116be84..585fbf8b 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php @@ -114,7 +114,8 @@ class AssetListModel extends WlModelAbstract * * 1st level keys refer to asset keys. * 2nd level keys refer to asset numbers. - * Values is keys of appointment bookings that reserve the asset, or `true` if asset reserved by class/event. + * Values is keys of appointment bookings that reserve the asset, primary keys in {@link \RsAppointmentSql} table, + * or `true` if asset reserved by class/event. * * For example, if you want to check if the 10th asset with the key of '15' is reserved, * you can check if `a_resource_busy['15']['10']` is free. diff --git a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php index 118db739..e0f919d5 100644 --- a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php +++ b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php @@ -178,7 +178,7 @@ class ElementModel extends WlModelAbstract * bool <var>is_virtual</var> * </dt> * <dd> - * This will be `true` if the session is not held in person but offered remotely. If will be `false` otherwise. + * This will be `true` if the session is not held in person but offered remotely. It will be `false` otherwise. * </dd> * <dt> * string <var>f_price</var> @@ -247,7 +247,9 @@ class ElementModel extends WlModelAbstract * * <dl> * <dt>int <var>i_count</var></dt> - * <dd>The number of visits.</dd> + * <dd>The number of visits required.</dd> + * <dt>int <var>i_has</var></dt> + * <dd>The number of visits the client has already attended.</dd> * <dt>bool <var>is_event</var></dt> * <dd>`true` if this is an event, `false` if this is a class.</dd> * <dt>string <var>k_class</var></dt> diff --git a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php index 581806e2..4f78bc70 100644 --- a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php +++ b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php @@ -13,6 +13,12 @@ class ResponseListModel extends WlModelAbstract { /** * The list of uncompleted quiz responses. Each element has the next structure: <dl> + * <dt>string[] <var>a_visit</var></dt> + * <dd> + * List of visit keys associated with uncompleted response. + * Key is visit key. + * Value is date of visit. + * </dd> * <dt>string <var>dtl_date</var></dt> * <dd>The date of the request to fill out a quiz form.</dd> * <dt>int <var>id_source</var></dt> @@ -43,6 +49,12 @@ class ResponseListModel extends WlModelAbstract /** * The list of completed quiz responses. Each element has the next structure: <dl> + * <dt>string[] <var>a_visit</var></dt> + * <dd> + * List of visit keys associated with uncompleted response. + * Key is visit key. + * Value is date of visit. + * </dd> * <dt>string <var>dtl_date</var></dt> * <dd>The date of the request to fill out a quiz form.</dd> * <dt>int <var>id_source</var></dt> diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php index 1cc70346..e3a92124 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Schedule\ScheduleList\StaffApp; +use WellnessLiving\Core\Quiz\ResponseStatusSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Schedule\Design\OptionSid; use WellnessLiving\Wl\Visit\WlVisitSid; @@ -28,6 +29,26 @@ class ScheduleListModel extends WlModelAbstract * </dt> * <dd> * List of quizzes. + * Has next structure: + * <dl> + * <dt>bool <var>id_status</var></dt> + * <dd> + * Response status ID. One of {@link ResponseStatusSid} constants. + * </dd> + * <dt>bool <var>is_hide</var></dt> + * <dd>Whether it's hidden. `true` quiz is hidden, `false` otherwise.</dd> + * <dt>bool <var>is_require</var></dt> + * <dd>Whether it's required. `true` quiz is required, `false` otherwise.</dd> + * <dt>string <var>k_quiz</var></dt> + * + * <dt>string <var>k_quiz_login</var></dt> + * + * <dt>string <var>k_quiz_response</var></dt> + * + * <dt>string <var>text_title</var></dt> + * <dd>Quiz title.</dd> + * </dl> + * * `null` if no quizzes for schedule item. * </dd> * <dt> diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index dcfe7a14..59465f2f 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241010.366441'; + const VERSION='20241014.366874'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 8048efd241d0c27ed0ed77b55d8e8d64af1885f3 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 15 Oct 2024 20:03:23 +0000 Subject: [PATCH 62/71] Automatic upgrade of the SDK. Build #367316. --- .../Studio/Task/Branch/BranchModel.php | 9 ++--- .../Wl/Pay/Form/EnvironmentModel.php | 3 +- WellnessLiving/Wl/WlPayProcessorSid.php | 35 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/WellnessLiving/Studio/Task/Branch/BranchModel.php b/WellnessLiving/Studio/Task/Branch/BranchModel.php index f288ce62..64a863f9 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchModel.php @@ -13,7 +13,7 @@ class BranchModel extends WlModelAbstract * Information about entities necessary for the functioning of the stand. * * @get result - * @put result + * @put get * @var array|null */ public $a_stand_data = null; @@ -29,8 +29,8 @@ class BranchModel extends WlModelAbstract /** * Stand status, one of {@link StandStatusSid}. * - * @get result - * @put result + * @get get,result + * @put get * @var int|null */ public $id_stand_status = null; @@ -56,8 +56,9 @@ class BranchModel extends WlModelAbstract * Task key within which a branch should be created/deleted. * * @delete get - * @get result + * @get get,result * @post get + * @put get * @var string */ public $k_task = ''; diff --git a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php index a66b17f8..650ed301 100644 --- a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php +++ b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php @@ -6,7 +6,6 @@ use WellnessLiving\Core\a\ACardSystemSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlPayMethodSid; -use WellnessLiving\Wl\WlPayProcessorSid; /** * Gets information about payment environments. @@ -78,7 +77,7 @@ class EnvironmentModel extends WlModelAbstract * `null` if this payment processor does not support public keys. * </dd> * <dt>int <var>id_pay_processor</var></dt> - * <dd>ID of the payment processor. One of {@link WlPayProcessorSid} constants.</dd> + * <dd>ID of the payment processor.</dd> * <dt>string <var>k_business_merchant</var></dt> * <dd>Key of the business merchant.</dd> * </dl> diff --git a/WellnessLiving/Wl/WlPayProcessorSid.php b/WellnessLiving/Wl/WlPayProcessorSid.php index b09bfe8d..698d6b15 100644 --- a/WellnessLiving/Wl/WlPayProcessorSid.php +++ b/WellnessLiving/Wl/WlPayProcessorSid.php @@ -9,10 +9,45 @@ */ class WlPayProcessorSid { + /** + * Payment gateway for `cybersource.com`. + */ + const CYBER_SOURCE = 11; + + /** + * Payment gateway for Direct Connect. + */ + const DIRECT_CONNECT = 9; + + /** + * Payment gateway for Lucy. + */ + const LUCY = 2; + + /** + * Payment gateway for Netbanx. + */ + const NETBANX = 1; + + /** + * Payment gateway for NMI. + */ + const NMI = 6; + /** * Payment gateway for Nuvei. */ const NUVEI = 12; + + /** + * Payment gateway for {@link http://www.paychoice.com.au/ Paychoice}. + */ + const PAYCHOICE = 7; + + /** + * Payment gateway for `stripe.com`. + */ + const STRIPE_COM = 10; } ?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 59465f2f..9c01ac61 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241014.366874'; + const VERSION='20241015.367316'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 41731e202490e136787b4f3f15ee903daf857bb8 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 16 Oct 2024 21:34:11 +0000 Subject: [PATCH 63/71] Automatic upgrade of the SDK. Build #367735. --- .../Studio/Task/Branch/BranchModel.php | 2 +- .../Studio/Task/Branch/StandStatusSid.php | 12 +++---- WellnessLiving/Wl/Location/Flag/FlagModel.php | 32 ++++++++++++++++++- WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 39 insertions(+), 9 deletions(-) diff --git a/WellnessLiving/Studio/Task/Branch/BranchModel.php b/WellnessLiving/Studio/Task/Branch/BranchModel.php index 64a863f9..db1d1e41 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchModel.php @@ -14,7 +14,7 @@ class BranchModel extends WlModelAbstract * * @get result * @put get - * @var array|null + * @var array|false|null */ public $a_stand_data = null; diff --git a/WellnessLiving/Studio/Task/Branch/StandStatusSid.php b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php index 03748868..9c37964e 100644 --- a/WellnessLiving/Studio/Task/Branch/StandStatusSid.php +++ b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php @@ -5,7 +5,7 @@ /** * Stand statuses. * - * Last used ID: 4. + * Last used ID: 5. */ class StandStatusSid { @@ -16,7 +16,7 @@ class StandStatusSid * * * {@link StandStatusSid::READY} in a case when creation is successfully completed. * * * {@link StandStatusSid::ERROR} in a case when creation was failed with error. */ - const CREATION = 1; + const CREATION = 2; /** * Stand is in deletion process. @@ -25,7 +25,7 @@ class StandStatusSid * * * {@link StandStatusSid::NOT_EXIST} in a case when deletion is successfully completed. * * * {@link StandStatusSid::ERROR} in a case when deletion was failed with error. */ - const DELETION = 3; + const DELETION = 4; /** * Creating or deleting a stand resulted in an error @@ -33,21 +33,21 @@ class StandStatusSid * The stand in this status may be transitioned to: * * * {@link StandStatusSid::NOT_EXIST} if the creation or deletion process has not been completed, we must delete the stand. */ - const ERROR = 4; + const ERROR = 5; /** * Stand has not been created. * * The stand in this status may be transitioned only to {@link StandStatusSid::CREATION}. */ - const NOT_EXIST = 0; + const NOT_EXIST = 1; /** * Stand was created and ready for use. * * The stand in this status may be transitioned only to {@link StandStatusSid::DELETION}. */ - const READY = 2; + const READY = 3; } ?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Location/Flag/FlagModel.php b/WellnessLiving/Wl/Location/Flag/FlagModel.php index 927176b0..0990c168 100644 --- a/WellnessLiving/Wl/Location/Flag/FlagModel.php +++ b/WellnessLiving/Wl/Location/Flag/FlagModel.php @@ -18,11 +18,40 @@ class FlagModel extends WlModelAbstract * </dl> * <tt>null</tt> until loaded or when <var>a_uid</var> was not set. * + * @depreated This is old property, which is left for back-compatibility. Use {@link FlagModel::$a_restrictions_multiple} instead. * @get result * @var array */ public $a_flag; + /** + * Array, where keys are UIDs to be checked and values are same as {@link FlagModel::$a_restrictions_single}. + * <tt>null</tt> if user is not flagged in the location. + * + * This field is set, if API gets {@link FlagModel::$a_uid} and not {@link FlagModel::$uid} properties. + * + * @get result + * @var array|null + */ + public $a_restrictions_multiple = null; + + /** + * <dl> + * <dt>bool <var>is_book</var></dt> + * <dd>`true` if client cannot make new reservations.</dd> + * <dt>bool <var>is_purchase</var></dt> + * <dd>`true` if client cannot make new purchases.</dd> + * </dl> + * + * <tt>null</tt> if user is not flagged in the location. + * + * This field is set, if API gets {@link FlagModel::$uid} and not {@link FlagModel::$a_uid} properties. + * + * @get result + * @var array|null + */ + public $a_restrictions_single = null; + /** * User keys. * <tt>null</tt> if not set. @@ -33,10 +62,11 @@ class FlagModel extends WlModelAbstract public $a_uid; /** - * <tt>true</tt> if the user is flagged, <tt>false</tt> if otherwise. + * <tt>true</tt> if the user is flagged and can make purchases, but cannot make new reservations, <tt>false</tt> if otherwise. * * <tt>null</tt> until loaded or when {@link FlagModel::$a_uid} was not set. * + * @depreated This is old property, which is left for back-compatibility. Use {@link FlagModel::$a_restrictions_single} instead. * @get result * @var bool */ diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 9c01ac61..70d7c639 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241015.367316'; + const VERSION='20241016.367735'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 8d79d5e89878ada8c7bc4bbebc37f178a4aad941 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 22 Oct 2024 12:50:04 +0000 Subject: [PATCH 64/71] Automatic upgrade of the SDK. Build #368721. --- .../Studio/Microservice/Editor/ListModel.php | 6 +- .../Studio/Task/Branch/BranchModel.php | 2 +- .../Wl/Profile/Alert/AlertModel.php | 12 ++++ .../Roster/AttendanceListBookModel.php | 70 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 5 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 WellnessLiving/Wl/Reception/Roster/AttendanceListBookModel.php diff --git a/WellnessLiving/Studio/Microservice/Editor/ListModel.php b/WellnessLiving/Studio/Microservice/Editor/ListModel.php index 69cbe473..0ec8befe 100644 --- a/WellnessLiving/Studio/Microservice/Editor/ListModel.php +++ b/WellnessLiving/Studio/Microservice/Editor/ListModel.php @@ -23,16 +23,20 @@ class ListModel extends WlModelAbstract * <dd>Project key.</dd> * <dt>string <var>s_file</var></dt> * <dd>File name.</dd> + * <dt>string <var>s_variable</var></dt> + * <dd>Microservice-specific variables. A set of pairs key=value, separated by newlines.</dd> * <dt>string <var>text_project</var></dt> * <dd>Title of the project.</dd> * <dt>string <var>text_title</var></dt> * <dd>Title of the microservice.</dd> + * <dt>string <var>url_microservice_promoting</var></dt> + * <dd>URL of the promoting page for this microservice.</dd> * </dl> * * @get result * @var string[][] */ - public $a_list = []; + public $a_list; /** * Specifies whether to show removed and/or not removed microservices. diff --git a/WellnessLiving/Studio/Task/Branch/BranchModel.php b/WellnessLiving/Studio/Task/Branch/BranchModel.php index db1d1e41..b0d9b75f 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchModel.php @@ -14,7 +14,7 @@ class BranchModel extends WlModelAbstract * * @get result * @put get - * @var array|false|null + * @var array|string|null */ public $a_stand_data = null; diff --git a/WellnessLiving/Wl/Profile/Alert/AlertModel.php b/WellnessLiving/Wl/Profile/Alert/AlertModel.php index 0854fb63..3f53331c 100644 --- a/WellnessLiving/Wl/Profile/Alert/AlertModel.php +++ b/WellnessLiving/Wl/Profile/Alert/AlertModel.php @@ -79,12 +79,24 @@ class AlertModel extends WlModelAbstract * The date and time in MySQL format in local time when the warning was last modified. * </dd> * <dt> + * bool <var>is_book_restricted</var> + * </dt> + * <dd> + * `true` means that client is restricted to make bookings, `false` - otherwise. + * </dd> + * <dt> * bool <var>is_flag</var> * </dt> * <dd> * This will be `true` if the client is flagged. Otherwise, this will be `false`. * </dd> * <dt> + * bool <var>is_purchase_restricted</var> + * </dt> + * <dd> + * `true` means that client is restricted to make purchases. Otherwise, this will be `false`. + * </dd> + * <dt> * bool <var>is_today</var> * </dt> * <dd> diff --git a/WellnessLiving/Wl/Reception/Roster/AttendanceListBookModel.php b/WellnessLiving/Wl/Reception/Roster/AttendanceListBookModel.php new file mode 100644 index 00000000..35fac3fe --- /dev/null +++ b/WellnessLiving/Wl/Reception/Roster/AttendanceListBookModel.php @@ -0,0 +1,70 @@ +<?php + +namespace WellnessLiving\Wl\Reception\Roster; + +use WellnessLiving\WlModelAbstract; + +/** + * Book a class for a client using the Attendance Kiosk. + */ +class AttendanceListBookModel extends WlModelAbstract +{ + /** + * The UTC datetime for the class in MySQL format. + * + * @post post + * @var string + */ + public $dtu_date = ''; + + /** + * `true` if the client is on the waitlist for the class, `false` if they are on the class list. + * + * @post result + * @var bool + */ + public $is_wait; + + /** + * The business key. + * + * @post post + * @var string + */ + public $k_business = ''; + + /** + * The class period key. + * + * @post post + * @var string + */ + public $k_class_period = ''; + + /** + * The secret for authenticating the attendance kiosk. + * + * @post post + * @var string + */ + public $s_secret = ''; + + /** + * The status message displayed on a successful booking. + * Describes whether client was put in class list or waitlist. + * + * @post result + * @var string + */ + public $text_message; + + /** + * The client's user key. + * + * @post post + * @var string + */ + public $uid = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 70d7c639..49dde361 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241016.367735'; + const VERSION='20241022.368721'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From c73315df0be2480bfca18693c96f1019206160d3 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 23 Oct 2024 12:22:49 +0000 Subject: [PATCH 65/71] Automatic upgrade of the SDK. Build #368955. --- .../Passport/Login/Enter/PassportOtpModel.php | 58 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php diff --git a/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php b/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php new file mode 100644 index 00000000..5366f229 --- /dev/null +++ b/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php @@ -0,0 +1,58 @@ +<?php + +namespace WellnessLiving\Wl\Passport\Login\Enter; + +use WellnessLiving\WlModelAbstract; + +/** + * Entry point to verify user authorization by email and phone number via sending and checking otp code. + */ +class PassportOtpModel extends WlModelAbstract +{ + /** + * Whether OTP code will be sending to user via email. + * `true` if OTP code is sending through email, + * `false` if OTP code is sending through phone number. + * + * @get get + * @var bool + */ + public $is_mail = false; + + /** + * Whether OTP code will be sending to user via email. + * `true` if OTP code is sending through phone number, + * `false` if OTP code is sending through email. + * + * @get get + * @var bool + */ + public $is_phone = false; + + /** + * Business key. + * + * @get get + * @var string + */ + public $k_business = ''; + + /** + * Otp code integer that was random generated. + * + * @post post + * @var string + */ + public $s_otp_code = ''; + + /** + * User key. + * + * @get get + * @post get + * @var string + */ + public $uid = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 49dde361..34ac5cd4 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241022.368721'; + const VERSION='20241023.368955'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From bcc9ce3c40879e555f6961a8cddb8a0eb8cf9532 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 23 Oct 2024 12:24:41 +0000 Subject: [PATCH 66/71] Automatic upgrade of the SDK. Build #368960. --- WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php | 2 ++ WellnessLiving/Wl/Profile/ProfileCreateModel.php | 2 ++ WellnessLiving/WlModelRequest.php | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php b/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php index 5366f229..03016098 100644 --- a/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php +++ b/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php @@ -6,6 +6,8 @@ /** * Entry point to verify user authorization by email and phone number via sending and checking otp code. + * + * @sdk */ class PassportOtpModel extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Profile/ProfileCreateModel.php b/WellnessLiving/Wl/Profile/ProfileCreateModel.php index 7c7d5812..6811357a 100644 --- a/WellnessLiving/Wl/Profile/ProfileCreateModel.php +++ b/WellnessLiving/Wl/Profile/ProfileCreateModel.php @@ -6,6 +6,8 @@ /** * Creates user profile with minimum fields. + * + * @sdk */ class ProfileCreateModel extends WlModelAbstract { diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 34ac5cd4..529198b1 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241023.368955'; + const VERSION='20241023.368960'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From a99659154d114bdcd2530948c383562dbe362217 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 24 Oct 2024 10:29:15 +0000 Subject: [PATCH 67/71] Automatic upgrade of the SDK. Build #369196. --- .../Wl/Login/Search/ConcertoModel.php | 43 ++++++++++++ .../Roster/AttendanceListAttendModel.php | 69 +++++++++++++++++++ WellnessLiving/WlModelRequest.php | 2 +- 3 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 WellnessLiving/Wl/Login/Search/ConcertoModel.php create mode 100644 WellnessLiving/Wl/Reception/Roster/AttendanceListAttendModel.php diff --git a/WellnessLiving/Wl/Login/Search/ConcertoModel.php b/WellnessLiving/Wl/Login/Search/ConcertoModel.php new file mode 100644 index 00000000..3b6916e8 --- /dev/null +++ b/WellnessLiving/Wl/Login/Search/ConcertoModel.php @@ -0,0 +1,43 @@ +<?php + +namespace WellnessLiving\Wl\Login\Search; + +use WellnessLiving\WlModelAbstract; + +/** + * Point for business Concerto to search a user by mail or phone. + */ +class ConcertoModel extends WlModelAbstract +{ + /** + * Business to search user in. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Email to search. + * + * @get get + * @var string + */ + public $text_mail = ''; + + /** + * Phone to search. + * + * @get get + * @var string + */ + public $text_phone = ''; + + /** + * @get result + * @var string + */ + public $uid; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Reception/Roster/AttendanceListAttendModel.php b/WellnessLiving/Wl/Reception/Roster/AttendanceListAttendModel.php new file mode 100644 index 00000000..35bce2c6 --- /dev/null +++ b/WellnessLiving/Wl/Reception/Roster/AttendanceListAttendModel.php @@ -0,0 +1,69 @@ +<?php + +namespace WellnessLiving\Wl\Reception\Roster; + +use WellnessLiving\WlModelAbstract; + +/** + * Book a class for a client and mark as attended using the Attendance Kiosk. + */ +class AttendanceListAttendModel extends WlModelAbstract +{ + /** + * The UTC datetime for the class in MySQL format. + * + * @post get + * @var string + */ + public $dtu_date = ''; + + /** + * The business key. + * + * @post get + * @var string + */ + public $k_business = ''; + + /** + * The class period key. + * + * @post get + * @var string + */ + public $k_class_period = ''; + + /** + * The visit key. + * + * @post result + * @var string + */ + public $k_visit; + + /** + * The secret for authenticating the attendance kiosk. + * + * @post get + * @var string + */ + public $s_secret = ''; + + /** + * The status message displayed on a successful check-in. + * + * @post result + * @var string + */ + public $text_message; + + /** + * The client's user key. + * + * @post get + * @var string + */ + public $uid = ''; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 529198b1..c4c68d17 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241023.368960'; + const VERSION='20241024.369196'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 9a1dfdea43cccf0a33e70e6b26436ba6477b3f11 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Tue, 12 Nov 2024 19:21:31 +0000 Subject: [PATCH 68/71] Automatic upgrade of the SDK. Build #373241. --- WellnessLiving/Core/Drive/DriveTypeSid.php | 31 --- .../ImageUpload/ImageUploadTemporaryModel.php | 3 +- WellnessLiving/Core/Geo/ComboboxModel.php | 3 - .../Core/Geo/Region/RegionModel.php | 3 +- WellnessLiving/Core/Locale/CurrencySid.php | 94 --------- WellnessLiving/Core/Locale/LocaleSid.php | 88 -------- WellnessLiving/Core/Sid/SortOrderSid.php | 21 -- WellnessLiving/Core/Sid/YesNoSid.php | 21 -- .../Studio/Deploy/Cluster/ClusterModel.php | 8 + .../Studio/Ip/Service/EditModel.php | 4 - .../Studio/Ip/Service/ServiceTimeoutSid.php | 33 --- .../Studio/Ip/Service/ServiceTypeSid.php | 44 ---- .../Studio/Microservice/Editor/ListModel.php | 5 +- .../Task/Branch/BranchDeleteModeSid.php | 26 --- .../Studio/Task/Branch/BranchModel.php | 13 -- .../Studio/Task/Branch/BranchStatusSid.php | 43 ---- .../Studio/Task/Branch/StandStatusSid.php | 53 ----- .../Generator/ReportGeneratorStatusSid.php | 93 --------- .../Wl/Announcement/AnnouncementListModel.php | 2 - .../Appointment/Book/Asset/AssetListModel.php | 9 +- .../Book/Asset/Service/ServiceModel.php | 3 - .../Appointment/Book/Finish/Finish47Model.php | 3 +- .../Appointment/Book/Finish/FinishModel.php | 6 +- .../Book/Finish/FinishMultipleModel.php | 6 +- .../Appointment/Book/Payment/PaymentModel.php | 3 +- .../Book/Payment/PaymentMultipleModel.php | 6 +- .../Book/Payment/PaymentPostModel.php | 3 +- .../Book/Product/Product62Model.php | 10 +- .../Book/Purchase/PurchaseModel.php | 3 +- .../Book/Service/ServiceList52Model.php | 3 +- .../Book/Service/ServiceListModel.php | 3 +- .../Wl/Appointment/Book/Staff/ListModel.php | 10 + .../Wl/Book/Process/Frequency/RepeatModel.php | 25 ++- .../Wl/Book/Process/Info/Info54Model.php | 6 +- .../Wl/Book/Process/Info/InfoModel.php | 3 +- .../Wl/Book/Process/Payment/PaymentModel.php | 3 +- .../Wl/Book/Process/Process54Model.php | 9 +- .../Wl/Book/Process/Process59Model.php | 7 +- .../Wl/Book/Process/ProcessModel.php | 4 +- .../Wl/Book/Process/ProcessSpaSid.php | 102 ---------- .../Book/Process/Purchase/Purchase56Model.php | 3 +- .../Book/Process/Purchase/PurchaseModel.php | 3 +- .../Wl/Book/Process/Quiz/QuizModel.php | 3 +- .../Book/Process/Resource/Resource54Model.php | 6 +- .../Book/Process/Resource/ResourceModel.php | 3 +- .../Wl/Book/Process/Store/StoreModel.php | 3 +- WellnessLiving/Wl/Business/BusinessModel.php | 2 - WellnessLiving/Wl/Business/DataModel.php | 4 - .../BusinessFranchiseLocationFormSid.php | 41 ---- .../BusinessFranchiseLocationModel.php | 4 - .../Location/BusinessFranchiseLocationSid.php | 34 ---- .../CatalogList/CatalogProductModel.php | 7 +- .../Wl/Catalog/CatalogList/ElementModel.php | 5 +- .../Wl/Catalog/Payment/PaymentModel.php | 3 +- .../Wl/Catalog/PurchaseOptionViewSid.php | 65 ------ .../StaffApp/CatalogList/CatalogListModel.php | 3 +- .../Wl/Classes/Period/Clients/Model.php | 75 +++++++ WellnessLiving/Wl/Classes/RequirePaySid.php | 32 --- WellnessLiving/Wl/Classes/Tab/TabSid.php | 33 --- WellnessLiving/Wl/Collector/DebtListModel.php | 3 +- WellnessLiving/Wl/Collector/DebtPayModel.php | 2 - .../Wl/Coupon/CouponList/ListModel.php | 3 +- .../Wl/Coupon/PurchaseRestrictionSid.php | 28 --- WellnessLiving/Wl/Coupon/WlTypeSid.php | 30 --- .../Wl/Event/Book/EventView/ElementModel.php | 9 +- WellnessLiving/Wl/Event/EventListModel.php | 7 +- WellnessLiving/Wl/Field/WlFieldGeneralSid.php | 4 +- .../Autymate/AutymateAccessModeSid.php | 21 -- .../Autymate/AutymateActivateModel.php | 4 - .../Autymate/AutymateStatusSid.php | 21 -- .../Wl/Login/Attendance/Add/AddModel.php | 7 +- .../Wl/Login/Attendance/AddOptionSid.php | 26 --- .../Attendance/AttendanceInfoByTokenModel.php | 3 +- .../Login/Attendance/AttendanceInfoModel.php | 3 +- .../Attendance/AttendanceListByTokenModel.php | 3 +- .../Login/Attendance/AttendanceListModel.php | 3 +- .../Wl/Login/Member/MemberValidate63Model.php | 110 ++++++++++ .../Wl/Login/Member/MemberValidateModel.php | 2 + .../Login/Promotion/Convert/ConvertModel.php | 5 +- .../Promotion/Convert/ConvertWhenSid.php | 31 --- .../Wl/Login/Type/LoginTypeModel.php | 2 +- WellnessLiving/Wl/Login/Type/SystemSid.php | 31 --- WellnessLiving/Wl/Mode/ModeSid.php | 135 ------------- .../Wl/Pay/Account/AccountModel.php | 3 +- .../Wl/Pay/Account/Charge/ChargeModel.php | 3 +- .../Wl/Pay/Form/EnvironmentModel.php | 2 - .../Processor/Nuvei/Code/CSDeviceTypeSid.php | 23 +++ .../Nuvei/Code/CSExchangeActionSid.php | 48 +++++ .../Nuvei/Code/CSExchangeTypeSid.php | 63 ++++++ .../Nuvei/Code/CSMessageFunctionSid.php | 188 ++++++++++++++++++ .../Nuvei/Code/CSResponseReasonSid.php | 100 ++++++++++ .../Processor/Nuvei/Code/CSResponseSid.php | 115 +++++++++++ .../Nuvei/Code/CSServiceContentSid.php | 43 ++++ .../Nuvei/Code/CSTransactionTypeSid.php | 48 +++++ .../Wl/Profile/Activity/ElementModel.php | 3 +- .../Wl/Profile/Contract/ContractModel.php | 2 +- .../Wl/Profile/Edit/EditByTokenModel.php | 4 +- WellnessLiving/Wl/Profile/Edit/EditModel.php | 4 +- .../Form/Response/ResponseListModel.php | 5 +- .../Wl/Profile/RegisterSourceSid.php | 28 --- .../Promotion/Convert/PromotionConvertSid.php | 28 --- .../Wl/Promotion/Edit/Limit/Cycle/Sid.php | 21 -- .../Promotion/Index/PromotionIndexModel.php | 3 +- WellnessLiving/Wl/Quiz/QuizElementModel.php | 11 + WellnessLiving/Wl/Quiz/Response/SourceSid.php | 50 ----- WellnessLiving/Wl/Report/WlReportSid.php | 6 + .../Wl/Resource/Image/ImageIconSid.php | 158 --------------- .../Wl/Resource/Image/ImageShapeSid.php | 31 --- .../Wl/Resource/Layout/LayoutModel.php | 17 +- .../Wl/Resource/Layout/LayoutShapeSid.php | 26 --- .../Wl/Review/ReviewList/ReviewListModel.php | 4 +- .../Wl/Review/ReviewList/ReviewOrderSid.php | 31 --- .../Wl/Schedule/ClassView/DenyReasonSid.php | 12 +- .../Wl/Schedule/Design/OptionSid.php | 28 --- .../Wl/Schedule/Page/PageElementModel.php | 35 +++- .../Wl/Schedule/Page/WlVisitNoteSid.php | 21 -- .../StaffApp/ScheduleListByTokenModel.php | 6 +- .../StaffApp/ScheduleListModel.php | 6 +- WellnessLiving/Wl/Schedule/Tab/TabModel.php | 4 +- .../Wl/Service/ServiceBookFlowSid.php | 26 --- .../Shop/Product/PurchaseRestrictionSid.php | 28 --- .../Catalog/Filter/Sort/FilterSortSid.php | 41 ---- WellnessLiving/Wl/Video/VideoElementModel.php | 4 - WellnessLiving/Wl/Video/VideoListModel.php | 6 +- WellnessLiving/Wl/Video/Watch/WatchModel.php | 1 - .../Wl/Video/Watch/WatchSourceSid.php | 35 ---- .../Wl/Virtual/VirtualProviderSid.php | 23 --- WellnessLiving/Wl/Visit/VisitStatusModel.php | 6 +- WellnessLiving/Wl/Visit/WlVisitSid.php | 60 ------ WellnessLiving/Wl/WlDesignIconSid.php | 69 ------- WellnessLiving/WlModelRequest.php | 2 +- 131 files changed, 999 insertions(+), 2119 deletions(-) delete mode 100644 WellnessLiving/Core/Drive/DriveTypeSid.php delete mode 100644 WellnessLiving/Core/Locale/CurrencySid.php delete mode 100644 WellnessLiving/Core/Locale/LocaleSid.php delete mode 100644 WellnessLiving/Core/Sid/SortOrderSid.php delete mode 100644 WellnessLiving/Core/Sid/YesNoSid.php delete mode 100644 WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php delete mode 100644 WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php delete mode 100644 WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php delete mode 100644 WellnessLiving/Studio/Task/Branch/BranchStatusSid.php delete mode 100644 WellnessLiving/Studio/Task/Branch/StandStatusSid.php delete mode 100644 WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php delete mode 100644 WellnessLiving/Wl/Book/Process/ProcessSpaSid.php delete mode 100644 WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php delete mode 100644 WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php delete mode 100644 WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php create mode 100644 WellnessLiving/Wl/Classes/Period/Clients/Model.php delete mode 100644 WellnessLiving/Wl/Classes/RequirePaySid.php delete mode 100644 WellnessLiving/Wl/Classes/Tab/TabSid.php delete mode 100644 WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php delete mode 100644 WellnessLiving/Wl/Coupon/WlTypeSid.php delete mode 100644 WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php delete mode 100644 WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php delete mode 100644 WellnessLiving/Wl/Login/Attendance/AddOptionSid.php create mode 100644 WellnessLiving/Wl/Login/Member/MemberValidate63Model.php delete mode 100644 WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php delete mode 100644 WellnessLiving/Wl/Login/Type/SystemSid.php delete mode 100644 WellnessLiving/Wl/Mode/ModeSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSDeviceTypeSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeActionSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeTypeSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSMessageFunctionSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseReasonSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSServiceContentSid.php create mode 100644 WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSTransactionTypeSid.php delete mode 100644 WellnessLiving/Wl/Profile/RegisterSourceSid.php delete mode 100644 WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php delete mode 100644 WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php delete mode 100644 WellnessLiving/Wl/Quiz/Response/SourceSid.php delete mode 100644 WellnessLiving/Wl/Resource/Image/ImageIconSid.php delete mode 100644 WellnessLiving/Wl/Resource/Image/ImageShapeSid.php delete mode 100644 WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php delete mode 100644 WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php delete mode 100644 WellnessLiving/Wl/Schedule/Design/OptionSid.php delete mode 100644 WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php delete mode 100644 WellnessLiving/Wl/Service/ServiceBookFlowSid.php delete mode 100644 WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php delete mode 100644 WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php delete mode 100644 WellnessLiving/Wl/Video/Watch/WatchSourceSid.php delete mode 100644 WellnessLiving/Wl/Virtual/VirtualProviderSid.php delete mode 100644 WellnessLiving/Wl/Visit/WlVisitSid.php delete mode 100644 WellnessLiving/Wl/WlDesignIconSid.php diff --git a/WellnessLiving/Core/Drive/DriveTypeSid.php b/WellnessLiving/Core/Drive/DriveTypeSid.php deleted file mode 100644 index 3e1a284a..00000000 --- a/WellnessLiving/Core/Drive/DriveTypeSid.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace WellnessLiving\Core\Drive; - -/** - * List of image types. - */ -class DriveTypeSid -{ - /** - * Bmp image. - */ - const BMP = 4; - - /** - * Gif image. - */ - const GIF = 1; - - /** - * Jpeg image. - */ - const JPEG = 2; - - /** - * Png image. - */ - const PNG = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php index 4b7a02f6..dbd9a331 100644 --- a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php +++ b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Core\Drive\ImageUpload; -use WellnessLiving\Core\Drive\DriveTypeSid; use WellnessLiving\WlFile; use WellnessLiving\WlModelAbstract; @@ -70,7 +69,7 @@ class ImageUploadTemporaryModel extends WlModelAbstract public $i_width_src; /** - * The image type ID. One of the {@link DriveTypeSid} constants. + * The image type ID. * * @post result * @var int diff --git a/WellnessLiving/Core/Geo/ComboboxModel.php b/WellnessLiving/Core/Geo/ComboboxModel.php index 98c3fc4b..eb93cf28 100644 --- a/WellnessLiving/Core/Geo/ComboboxModel.php +++ b/WellnessLiving/Core/Geo/ComboboxModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Core\Geo; -use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; /** @@ -29,8 +28,6 @@ class ComboboxModel extends WlModelAbstract /** * The locale ID used as a filter. The locale is generally a country. * - * One of the {@link LocaleSid} constants. - * * This will be `0` if all locations are searched. * * @get get diff --git a/WellnessLiving/Core/Geo/Region/RegionModel.php b/WellnessLiving/Core/Geo/Region/RegionModel.php index e96aa578..3a415b49 100644 --- a/WellnessLiving/Core/Geo/Region/RegionModel.php +++ b/WellnessLiving/Core/Geo/Region/RegionModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Core\Geo\Region; -use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; /** @@ -53,7 +52,7 @@ class RegionModel extends WlModelAbstract public $a_region; /** - * The locale ID to find regions for. One of the {@link LocaleSid} constants. + * The locale ID to find regions for. * * @get get * @var int diff --git a/WellnessLiving/Core/Locale/CurrencySid.php b/WellnessLiving/Core/Locale/CurrencySid.php deleted file mode 100644 index ae8f93b0..00000000 --- a/WellnessLiving/Core/Locale/CurrencySid.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php - -namespace WellnessLiving\Core\Locale; - -/** - * A list of currencies. - * - * Currency constant names must comply with the standard `ISO 4217` for correct integration with other services. - * - * @link https://docs.1010data.com/1010dataReferenceManual/DataTypesAndFormats/currencyUnitCodes.html - * - * Last used ID: 16 - */ -abstract class CurrencySid -{ - /** - * United Arab Emirates dirham. - */ - const AED = 11; - - /** - * Australian dollar. - */ - const AUD = 6; - - /** - * Canadian dollar. - */ - const CAD = 4; - - /** - * Egypt Pound. - */ - const EGP = 8; - - /** - * Euro. - */ - const EUR = 13; - - /** - * British pound. - */ - const GBP = 3; - - /** - * Kuwaiti dinar. - */ - const KWD = 14; - - /** - * Cayman Islands dollar. - */ - const KYD = 5; - - /** - * Mauritian Rupee. - */ - const MUR = 16; - - /** - * New Zealand Dollar. - */ - const NZD = 10; - - /** - * Philippines Pesco. - */ - const PHP = 12; - - /** - * Saudi Riyal. - */ - const SAR = 15; - - /** - * Unknown code. - * - * Used when currency is not specified or is not known. - */ - const UNKNOWN = 2; - - /** - * US dollars. - */ - const USD = 1; - - /** - * South African rand. - */ - const ZAR = 7; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Core/Locale/LocaleSid.php b/WellnessLiving/Core/Locale/LocaleSid.php deleted file mode 100644 index 87346886..00000000 --- a/WellnessLiving/Core/Locale/LocaleSid.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php - -namespace WellnessLiving\Core\Locale; - -/** - * A list of locales. - * - * Last used ID: 16 - */ -abstract class LocaleSid -{ - /** - * Australia. - */ - const AUSTRALIA = 4; - - /** - * Canada. - */ - const CANADA = 2; - - /** - * Cayman Islands. - */ - const CAYMAN = 5; - - /** - * Cyprus. - */ - const CYPRUS = 13; - - /** - * Egypt. - */ - const EGYPT = 8; - - /** - * Kuwait - */ - const KUWAIT = 14; - - /** - * Republic of Mauritius. - */ - const MAURITIUS = 16; - - /** - * A special locale that can be used for testing or a business situated in an unknown region. - */ - const NEVERLAND = 9; - - /** - * New Zealand. - */ - const NEW_ZEALAND = 10; - - /** - * Philippines. - */ - const PHILIPPINES = 12; - - /** - * Saudi Arabia. - */ - const SAUDI_ARABIA = 15; - - /** - * South Africa. - */ - const SOUTH_AFRICA = 6; - - /** - * United Arab Emirates. - */ - const UAE = 11; - - /** - * United Kingdom. - */ - const UK = 3; - - /** - * United States of America. - */ - const USA = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Core/Sid/SortOrderSid.php b/WellnessLiving/Core/Sid/SortOrderSid.php deleted file mode 100644 index 8dbec01b..00000000 --- a/WellnessLiving/Core/Sid/SortOrderSid.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WellnessLiving\Core\Sid; - -/** - * List of possible sort order. - */ -class SortOrderSid -{ - /** - * Ascending order. - */ - const ASC = 2; - - /** - * Descending order. - */ - const DESC = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Core/Sid/YesNoSid.php b/WellnessLiving/Core/Sid/YesNoSid.php deleted file mode 100644 index a61662bd..00000000 --- a/WellnessLiving/Core/Sid/YesNoSid.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WellnessLiving\Core\Sid; - -/** - * A list of two answers for any question: Yes or No. - */ -class YesNoSid -{ - /** - * The answer is "no". - */ - const NO = 2; - - /** - * The answer is "yes". - */ - const YES = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php b/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php index 45a4b4e5..efa26709 100644 --- a/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php +++ b/WellnessLiving/Studio/Deploy/Cluster/ClusterModel.php @@ -25,6 +25,14 @@ class ClusterModel extends WlModelAbstract */ public $is_active = null; + /** + * Whether to save repository keys. + * + * @post post + * @var bool + */ + public $is_fingerprint = false; + /** * Key of the cluster being saved. * diff --git a/WellnessLiving/Studio/Ip/Service/EditModel.php b/WellnessLiving/Studio/Ip/Service/EditModel.php index 5219bc6d..75366871 100644 --- a/WellnessLiving/Studio/Ip/Service/EditModel.php +++ b/WellnessLiving/Studio/Ip/Service/EditModel.php @@ -12,8 +12,6 @@ class EditModel extends WlModelAbstract /** * Timeout of the service. * - * One of {@link ServiceTimeoutSid} constants. - * * @get result * @post post * @var int @@ -23,8 +21,6 @@ class EditModel extends WlModelAbstract /** * Type of the service. * - * One of {@link ServiceTypeSid} constants. - * * @get result * @post post * @var int diff --git a/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php b/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php deleted file mode 100644 index 3bb3ed51..00000000 --- a/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -namespace WellnessLiving\Studio\Ip\Service; - -/** - * Time during which access by IP address is granted to personnel. - * - * Minimum between two values is used. - */ -abstract class ServiceTimeoutSid -{ - /** - * Sensitive services that may require much work. - */ - const DAY = 2; - - /** - * Sensitive services that are used very rare. - */ - const HOUR = 1; - - /** - * Services that are not sensitive. - */ - const MONTH = 4; - - /** - * Not that sensitive services. - */ - const WEEK = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php b/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php deleted file mode 100644 index a9e9f75c..00000000 --- a/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -namespace WellnessLiving\Studio\Ip\Service; - -/** - * A list of service types to which access by IP address can be managed. - */ -abstract class ServiceTypeSid -{ - /** - * Amazon security group. - * - * @title Amazon Security Group - */ - const AMAZON_GROUP = 5; - - /** - * Amazon IAM user. - * - * @title Amazon IAM user - */ - const AMAZON_IAM = 6; - - /** - * Amazon RDS security group. - */ - const AMAZON_RDS = 1; - - /** - * Access over SSH protocol. - * - * @title Access over SSH - */ - const SSH = 2; - - /** - * Access to SVN repository. - * - * @title Access to SVN repository - */ - const SVN = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Microservice/Editor/ListModel.php b/WellnessLiving/Studio/Microservice/Editor/ListModel.php index 0ec8befe..71df4c8f 100644 --- a/WellnessLiving/Studio/Microservice/Editor/ListModel.php +++ b/WellnessLiving/Studio/Microservice/Editor/ListModel.php @@ -24,7 +24,10 @@ class ListModel extends WlModelAbstract * <dt>string <var>s_file</var></dt> * <dd>File name.</dd> * <dt>string <var>s_variable</var></dt> - * <dd>Microservice-specific variables. A set of pairs key=value, separated by newlines.</dd> + * <dd> + * Microservice-specific variables. A set of pairs key=value, separated by newlines. + * + * </dd> * <dt>string <var>text_project</var></dt> * <dd>Title of the project.</dd> * <dt>string <var>text_title</var></dt> diff --git a/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php b/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php deleted file mode 100644 index 2dcb47d3..00000000 --- a/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -namespace WellnessLiving\Studio\Task\Branch; - -/** - * List of the available modes for <tt>BranchDelete</tt> build. - */ -class BranchDeleteModeSid -{ - /** - * Deleting branch without merging changes. - */ - const DELETE_NO_MERGE = 3; - - /** - * Changes are merged. Branch is not deleted. - */ - const MERGE_ONLY = 2; - - /** - * Deleting branch with merging changes. - */ - const STANDARD = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchModel.php b/WellnessLiving/Studio/Task/Branch/BranchModel.php index b0d9b75f..659328d6 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchModel.php @@ -27,8 +27,6 @@ class BranchModel extends WlModelAbstract public $id_build_mode = 1; /** - * Stand status, one of {@link StandStatusSid}. - * * @get get,result * @put get * @var int|null @@ -36,8 +34,6 @@ class BranchModel extends WlModelAbstract public $id_stand_status = null; /** - * Branch status, one of {@link BranchStatusSid}. - * * @get result * @var int|null */ @@ -63,15 +59,6 @@ class BranchModel extends WlModelAbstract */ public $k_task = ''; - /** - * Actor user UID key. - * - * @delete get - * @post get - * @var string - */ - public $uid = ''; - /** * Url to build page. * diff --git a/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php b/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php deleted file mode 100644 index 7d84e7a2..00000000 --- a/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php - -namespace WellnessLiving\Studio\Task\Branch; - -/** - * Branch statuses. - * - * Last used ID: 3. - */ -class BranchStatusSid -{ - /** - * The branch and all related things (catalogs in the repository, site) are being created now. - * - * This action is triggered from the task page on the Studio. - * - * The branch in this status may be transitioned to: - * * {@link BranchStatusSid::READY} in a case when creation is successfully completed; - * * {@link BranchStatusSid::DELETING} in a case when creation is not completed and the branch - * should be deleted before repeatedly creation. - */ - const CREATING = 1; - - /** - * The branch and all related things (catalogs in the repository, site) are being deleted now. - * - * This action is triggered from the task page on the Studio. - * - * The branch in this status may be only deleted from the database. - */ - const DELETING = 3; - - /** - * The branch and all related things (catalogs in the repository, site) are ready to use. - * - * This action is triggered from <tt>BranchCreate</tt> build. - * - * The branch in this status may be transitioned only to {@link BranchStatusSid::DELETING}. - */ - const READY = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/StandStatusSid.php b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php deleted file mode 100644 index 9c37964e..00000000 --- a/WellnessLiving/Studio/Task/Branch/StandStatusSid.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php - -namespace WellnessLiving\Studio\Task\Branch; - -/** - * Stand statuses. - * - * Last used ID: 5. - */ -class StandStatusSid -{ - /** - * Stand is in creation process. - * - * The stand in this status may be transitioned to: - * * * {@link StandStatusSid::READY} in a case when creation is successfully completed. - * * * {@link StandStatusSid::ERROR} in a case when creation was failed with error. - */ - const CREATION = 2; - - /** - * Stand is in deletion process. - * - * The stand in this status may be transitioned to: - * * * {@link StandStatusSid::NOT_EXIST} in a case when deletion is successfully completed. - * * * {@link StandStatusSid::ERROR} in a case when deletion was failed with error. - */ - const DELETION = 4; - - /** - * Creating or deleting a stand resulted in an error - * - * The stand in this status may be transitioned to: - * * * {@link StandStatusSid::NOT_EXIST} if the creation or deletion process has not been completed, we must delete the stand. - */ - const ERROR = 5; - - /** - * Stand has not been created. - * - * The stand in this status may be transitioned only to {@link StandStatusSid::CREATION}. - */ - const NOT_EXIST = 1; - - /** - * Stand was created and ready for use. - * - * The stand in this status may be transitioned only to {@link StandStatusSid::DELETION}. - */ - const READY = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php deleted file mode 100644 index 75020784..00000000 --- a/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php - -namespace WellnessLiving\Thoth\ReportCore\Generator; - -/** - * Lists statuses of reports from point of view of its generation. - */ -class ReportGeneratorStatusSid -{ - /** - * Report is in an inconsistent state. - * - * There was an aborted operation which means this report is available partially. - * - * The following transitions are possible: - * - * * `ABORTED` => `DELETING` when a background task finds that this report is old and should be deleted. - * - * * `ABORTED` => `QUEUED` if user clicks to regenerate this report - */ - const ABORTED = 6; - - /** - * Current operation is being aborted now. - * - * The following transitions are possible: - * - * * `ABORTING` => `ABORTED` when current operation completes. - * This transition is performed in two places: before the beginning of the actual generation, - * and after completion of the generation. - */ - const ABORTING = 5; - - /** - * This report is being deleted now. - * - * The following transitions are possible: - * - * * `DELETING` => (report does not exist anymore) when deletion of this report completes. - */ - const DELETING = 4; - - /** - * This report is being generated now. - * - * This status is set when report is generated from zero point. - * This status basically means that not all partition of the report present. - * It also means that all partitions that exist have the newest values. - * - * All new reports are created in this status. - * - * The following transitions are possible: - * - * * `GENERATING` => `ABORTING` when generation of this report aborted by user. - * * `GENERATING` => `READY` when generation of this report completes. - * This transition is performed when generation completes successfully. - */ - const GENERATING = 2; - - /** - * Generation of this report is queued. - * It will start automatically when generation of other reports completes. - * - * The following transitions are possible: - * - * * `QUEUED` => (report does not exist anymore) If generation of this report was aborted while no data was generated. - * * `QUEUED` => `ABORTED` If generation of this report was aborted while there is data from previous generation of - * this report. - * - * This transition also occurs if a report stayed in the queue more than the set duration and - * there is some data left from the previous generation of this report. - * * `QUEUED` => `GENERATING` when there is a free thread slot to start generation of this report immediately. - */ - const QUEUED = 1; - - /** - * Generation of this report is now completed. - * - * The following transitions are possible: - * - * * `READY` => `DELETING` when a background tasks identifies that this report is old and starts deleting it. - * - * * `READY` => `QUEUED` when user clicks to regenerate this report - */ - const READY = 3; - - /** - * @inheritDoc - */ - const _TRANSLATION_CONTEXT = 'Wl.Report.Generator.ReportGeneratorStatusSid'; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Announcement/AnnouncementListModel.php b/WellnessLiving/Wl/Announcement/AnnouncementListModel.php index 2b82a5f2..ca9378cb 100644 --- a/WellnessLiving/Wl/Announcement/AnnouncementListModel.php +++ b/WellnessLiving/Wl/Announcement/AnnouncementListModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Announcement; -use WellnessLiving\Core\Sid\SortOrderSid; use WellnessLiving\WlModelAbstract; /** @@ -27,7 +26,6 @@ class AnnouncementListModel extends WlModelAbstract * * @get get,result * @var int|null - * @see SortOrderSid */ public $id_order = null; diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php index 585fbf8b..6bd4b38b 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php @@ -3,9 +3,6 @@ namespace WellnessLiving\Wl\Appointment\Book\Asset; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Resource\Image\ImageIconSid; -use WellnessLiving\Wl\Resource\Image\ImageShapeSid; use WellnessLiving\Wl\Service\ServicePriceSid; use WellnessLiving\Wl\Service\ServiceRequireSid; @@ -59,9 +56,9 @@ class AssetListModel extends WlModelAbstract * <dt>bool <var>is_empty</var></dt> * <dd>Determines if the asset logo is empty.</dd> * <dt>string <var>sid_image_icon</var></dt> - * <dd>The icon name. String representation of one of the {@link ImageIconSid} constants. This is only set if the image kind equals to `image`.</dd> + * <dd>The icon name. This is only set if the image kind equals to `image`.</dd> * <dt>string <var>sid_image_shape</var></dt> - * <dd>The shape name. String representation of one of the {@link ImageShapeSid} constants. This is set only if the image kind equals to `shape`.</dd> + * <dd>The shape name. This is set only if the image kind equals to `shape`.</dd> * <dt>string <var>url</var></dt> * <dd>The asset logo URL.</dd> * </dl> @@ -156,8 +153,6 @@ class AssetListModel extends WlModelAbstract public $i_image_width = 0; /** - * Mode type, one of {@link ModeSid} constants. - * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php index 36af95e1..92e71a8e 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Appointment\Book\Asset\Service; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; /** * Retrieves assets that are required for a service booking. @@ -103,8 +102,6 @@ class ServiceModel extends WlModelAbstract public $dt_start = ''; /** - * Mode type, one of {@link ModeSid} constants. - * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php b/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php index 8d5455f6..c213a235 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php @@ -5,7 +5,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\Book\Question\QuestionModel; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -140,7 +139,7 @@ class Finish47Model extends WlModelAbstract public $a_visit = null; /** - * The booking mode ID. One of the {@link ModeSid} constants. + * The booking mode ID. * * @post post * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php b/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php index b4deffae..3ca75bb4 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php @@ -8,8 +8,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\Book\Question\QuestionModel; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Classes\Tab\TabSid; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -148,7 +146,7 @@ class FinishModel extends WlModelAbstract * int <var>id_class_tab</var> * </dt> * <dd> - * The booking service type. One of the {@link TabSid} constants. + * The booking service type. * </dd> * <dt> * int [<var>id_gender_staff</var>] @@ -300,7 +298,7 @@ class FinishModel extends WlModelAbstract public $a_visit; /** - * The booking mode ID. One of the {@link ModeSid} constants. + * The booking mode ID. * * @post post * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php index 101f76f8..db76a98e 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php @@ -7,8 +7,6 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; -use WellnessLiving\Wl\Classes\Tab\TabSid; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -140,7 +138,7 @@ class FinishMultipleModel extends WlModelAbstract * int <var>id_class_tab</var> * </dt> * <dd> - * The booking service type. One of the {@link TabSid} constants. + * The booking service type. * </dd> * <dt> * int [<var>id_gender_staff</var>] @@ -313,7 +311,7 @@ class FinishMultipleModel extends WlModelAbstract public $a_visit_provider = []; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @post post * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index 3af4b216..f14c5b3b 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -5,7 +5,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\Service\ServicePriceSid; @@ -253,7 +252,7 @@ class PaymentModel extends WlModelAbstract public $a_uid = []; /** - * The key of source mode. A constant of {@link ModeSid}. + * The key of source mode. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 3e8b67f0..02720c29 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -5,8 +5,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Classes\Tab\TabSid; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -119,7 +117,7 @@ class PaymentMultipleModel extends WlModelAbstract * int <var>id_class_tab</var> * </dt> * <dd> - * The "Book now" tab. One of the {@link TabSid} constants. + * The "Book now" tab. * </dd> * <dt> * string <var>m_tip_appointment</var> @@ -430,7 +428,7 @@ class PaymentMultipleModel extends WlModelAbstract public $a_uid = []; /** - * The ID of the source mode. One of the {@link ModeSid} constants. + * The ID of the source mode. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index 9853c161..5920280f 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -5,7 +5,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\Service\ServicePriceSid; @@ -250,7 +249,7 @@ class PaymentPostModel extends WlModelAbstract public $a_uid = []; /** - * The key of source mode. A constant of {@link ModeSid}. + * The key of source mode. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php index 17edd34a..065f8654 100644 --- a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Appointment\Book\Product; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Shop\Product\PurchaseRestrictionSid; /** * Returns information about service add-ons. @@ -20,6 +19,14 @@ class Product62Model extends WlModelAbstract */ public $a_product = null; + /** + * The key of a location where appointment is going to be booked. + * + * @get get + * @var string + */ + public $k_location = '0'; + /** * The key of a service to show information for. * @@ -31,7 +38,6 @@ class Product62Model extends WlModelAbstract /** * The key of a user to show information for. * - * Products with a {@link PurchaseRestrictionSid::TYPE} restriction will be filtered out. * Only those products that match the client type or those that have no restrictions will be shown. * * `null` if the client is not logged in. diff --git a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php index 89227bf9..dceb0db7 100644 --- a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php @@ -4,7 +4,6 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlProgramCategorySid; use WellnessLiving\Wl\WlProgramSid; @@ -500,7 +499,7 @@ class PurchaseModel extends WlModelAbstract public $i_width = 0; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php index f146b339..fc820596 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Appointment\Book\Service; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Service\ServiceBookFlowSid; use WellnessLiving\Wl\Service\ServicePriceSid; use WellnessLiving\Wl\Service\ServiceRequireSid; @@ -151,7 +150,7 @@ class ServiceList52Model extends WlModelAbstract * int <var>id_book_flow</var> * </dt> * <dd> - * The type of client booking flow. One of {@link ServiceBookFlowSid} constants. + * The type of client booking flow. * </dd> * <dt> * int <var>id_service_require</var> diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php index b220abd5..f8b1b8da 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Appointment\Book\Service; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Service\ServiceBookFlowSid; use WellnessLiving\Wl\Service\ServicePriceSid; use WellnessLiving\Wl\Service\ServiceRequireSid; @@ -150,7 +149,7 @@ class ServiceListModel extends WlModelAbstract * int <var>id_book_flow</var> * </dt> * <dd> - * The type of client booking flow. One of {@link ServiceBookFlowSid} constants. + * The type of client booking flow. * </dd> * <dt> * int <var>id_service_require</var> diff --git a/WellnessLiving/Wl/Appointment/Book/Staff/ListModel.php b/WellnessLiving/Wl/Appointment/Book/Staff/ListModel.php index 86962d7f..2024046c 100644 --- a/WellnessLiving/Wl/Appointment/Book/Staff/ListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Staff/ListModel.php @@ -72,6 +72,16 @@ class ListModel extends WlModelAbstract */ public $has_staff; + /** + * Custom appointment duration in minutes. + * + * `null` if not set. + * + * @get get + * @var int|null + */ + public $i_duration_custom = null; + /** * User role by whom this api called. * For different roles different results might be generated. diff --git a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php index 3c9d54e5..bb22537c 100644 --- a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php +++ b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; /** * For recurrent class booking returns list of visits to be created for the given settings. @@ -39,7 +38,7 @@ class RepeatModel extends WlModelAbstract * <dt>string <var>is_wait</var></dt> * <dd>Whether booking can be only to wait list.</dd> * <dt>string <var>k_class_period</var></dt> - * <dd>Key of class period, primary key in {}.</dd> + * * <dt>string <var>s_alert</var></dt> * <dd>Staff name if booking available, warning about wait list or disabled booking otherwise.</dd> * <dt>string <var>s_date</var></dt> @@ -47,21 +46,22 @@ class RepeatModel extends WlModelAbstract * </dl> * * @get result - * @var array + * @var array[] */ public $a_visit = []; /** * List of visits to be ignored. Each value is a string consisting of a class period key - * and a visit date and time in location's timezone, concatenated by two colons. + * and a visit date and time in location's timezone, concatenated by two colons. Empty array if no visits + * should be ignored. Example: ['70::2024-11-05 18:00:00']. * * @get get - * @var array + * @var string[] */ public $a_visit_ignore = []; /** - * Date of the class, when recurring booking was called. + * Date and time of the class, when recurring booking was called, in UTC timezone. * * @get get * @var string @@ -69,7 +69,7 @@ class RepeatModel extends WlModelAbstract public $dt_date = ''; /** - * Date to start recurring booking. + * Date to start recurring booking. Not empty only when {@link RepeatModel::$id_repeat_end} == {@link \RsRepeatEndSid::DATE}. * * @get get,result * @var string @@ -77,7 +77,7 @@ class RepeatModel extends WlModelAbstract public $dt_from = ''; /** - * Date to finish recurring booking. + * Date to finish recurring booking. Not empty only when {@link RepeatModel::$id_repeat_end} == {@link \RsRepeatEndSid::DATE}. * * @get get,result * @var string @@ -85,7 +85,7 @@ class RepeatModel extends WlModelAbstract public $dt_to = ''; /** - * Count of the visits to be created. Should be empty, if date range is set. + * Count of the visits to be created. Not empty only when {@link RepeatModel::$id_repeat_end} == {@link \RsRepeatEndSid::COUNT}. * * @get get,result * @var int @@ -109,8 +109,6 @@ class RepeatModel extends WlModelAbstract public $id_duration = 0; /** - * WellnessLiving mode, one of {@link ModeSid} constants. - * * @get get * @var int */ @@ -159,7 +157,7 @@ class RepeatModel extends WlModelAbstract public $s_uid = ''; /** - * Encoded list of user keys, who will attend visits. + * Start date of repeatable period in human-readable format. * * @get result * @var string @@ -167,7 +165,7 @@ class RepeatModel extends WlModelAbstract public $text_date_from = ''; /** - * Encoded list of user keys, who will attend visits. + * End date of repeatable period in human-readable format. * * @get result * @var string @@ -187,6 +185,7 @@ class RepeatModel extends WlModelAbstract * * @get get * @var string + * @deprecated Current login user used instead. */ public $uid_actor = ''; } diff --git a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php index 3af1f388..e70423e5 100644 --- a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php +++ b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php @@ -5,13 +5,9 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Book\Process\ProcessSpaSid; -use WellnessLiving\Wl\Mode\ModeSid; /** * Offers functionality for the class booking wizard on the "Class and Location" page. - * - * When using this endpoint, take into account the {@link ProcessSpaSid::QUIZ} step. */ class Info54Model extends WlModelAbstract { @@ -384,7 +380,7 @@ class Info54Model extends WlModelAbstract public $i_wait_spot = 0; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php index f2a3596c..74589c78 100644 --- a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php +++ b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; /** * Offers functionality for the class booking wizard on the "Class and Location" page. @@ -383,7 +382,7 @@ class InfoModel extends WlModelAbstract public $i_wait_spot = 0; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php index 6afee7ca..a20e1b53 100644 --- a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php @@ -6,7 +6,6 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -311,7 +310,7 @@ class PaymentModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Process54Model.php b/WellnessLiving/Wl/Book/Process/Process54Model.php index ddc025b2..caa56e88 100644 --- a/WellnessLiving/Wl/Book/Process/Process54Model.php +++ b/WellnessLiving/Wl/Book/Process/Process54Model.php @@ -5,15 +5,11 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; -use WellnessLiving\Wl\Mode\ModeSid; /** * Performs the booking wizard steps. * - * Include the {@link ProcessSpaSid::QUIZ} step, if needed. - * * @deprecated Use {@link Process59Model} instead. */ class Process54Model extends WlModelAbstract @@ -37,7 +33,7 @@ class Process54Model extends WlModelAbstract * int <var>id_book_process</var> * </dt> * <dd> - * The step ID. One of the {@link ProcessSpaSid} constants. + * The step ID. * </dd> * <dt> * bool [<var>is_current</var>] @@ -132,7 +128,7 @@ class Process54Model extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get @@ -142,7 +138,6 @@ class Process54Model extends WlModelAbstract /** * The purchase rule ID. - * One of the {@link RequirePaySid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Book/Process/Process59Model.php b/WellnessLiving/Wl/Book/Process/Process59Model.php index a4ac5bb4..54e412f7 100644 --- a/WellnessLiving/Wl/Book/Process/Process59Model.php +++ b/WellnessLiving/Wl/Book/Process/Process59Model.php @@ -5,9 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; -use WellnessLiving\Wl\Mode\ModeSid; /** * Performs the booking wizard steps. @@ -36,7 +34,7 @@ class Process59Model extends WlModelAbstract * int <var>id_book_process</var> * </dt> * <dd> - * The step ID. One of the {@link ProcessSpaSid} constants. + * The step ID. * </dd> * <dt> * bool [<var>is_current</var>] @@ -131,7 +129,7 @@ class Process59Model extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get @@ -141,7 +139,6 @@ class Process59Model extends WlModelAbstract /** * The purchase rule ID. - * One of the {@link RequirePaySid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Book/Process/ProcessModel.php b/WellnessLiving/Wl/Book/Process/ProcessModel.php index de0c5f65..87629170 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessModel.php +++ b/WellnessLiving/Wl/Book/Process/ProcessModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; /** @@ -34,7 +33,7 @@ class ProcessModel extends WlModelAbstract * int <var>id_book_process</var> * </dt> * <dd> - * The step ID. One of the {@link ProcessSpaSid} constants. + * The step ID. * </dd> * <dt> * bool [<var>is_current</var>] @@ -139,7 +138,6 @@ class ProcessModel extends WlModelAbstract /** * The purchase rule ID. - * One of the {@link RequirePaySid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php b/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php deleted file mode 100644 index 80e72e19..00000000 --- a/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php +++ /dev/null @@ -1,102 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Book\Process; - -/** - * Event booking process sid class - * - * Last used ID: 12. - */ -abstract class ProcessSpaSid -{ - /** - * Step "Class details". - * - * Special step - a container for combining other steps. - * - * This constant has been added to the SID class to match the steps interface in JS. - * - * Adding a step to the queue is done on the client side (in JS). - * - * Designed for Client Web View. - */ - const DETAIL = 10; - - /** - * Step "Documents". - * - * Special step - a container for combining other steps. - * - * This constant has been added to the SID class to match the steps interface in JS - * - * Adding a step to the queue is done on the client side (in JS). - * - * The list of steps that can be displayed on: - * * {@link ProcessSpaSid::QUIZ} - * * Purchase options contract - * - * Designed for Client Web View. - */ - const DOCUMENT = 8; - - /** - * Step "Frequency". - * It is necessary to select booking frequency. - * - * Designed for Client Web View. - */ - const FREQUENCY = 9; - - /** - * Information about the class. - * - * In the SPA app, this step combines the following steps: - * * {@link ProcessSpaSid::FREQUENCY} - * * {@link ProcessSpaSid::SESSION} - */ - const INFO = 2; - - /** - * Installment selection. - */ - const INSTALLMENT = 4; - - /** - * Sign in, Sign up, fill in all necessary account data. - */ - const PASSPORT = 1; - - /** - * Card data and the booking confirmation. - */ - const PAYMENT = 5; - - /** - * Quizzes attached to the class. - */ - const QUIZ = 7; - - /** - * Booking for. - */ - const RELATION = 12; - - /** - * Selection of assets. - */ - const RESOURCE = 6; - - /** - * Session selection step for a session event. - * - * Designed for Client Web View. - */ - const SESSION = 11; - - /** - * A list of possible Purchase Options to be bought. - */ - const STORE = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index 2b4831e9..df3c299e 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlProgramCategorySid; use WellnessLiving\Wl\WlProgramSid; @@ -364,7 +363,7 @@ class Purchase56Model extends WlModelAbstract public $i_image_width = 0; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index 72b44bc4..55151c3a 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlProgramCategorySid; use WellnessLiving\Wl\WlProgramSid; @@ -367,7 +366,7 @@ class PurchaseModel extends WlModelAbstract public $i_image_width = 0; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php index 995d9fb4..3cac5216 100644 --- a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php +++ b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -187,7 +186,7 @@ class QuizModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php index 33766c85..752d1c3f 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php +++ b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php @@ -5,13 +5,9 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Book\Process\ProcessSpaSid; -use WellnessLiving\Wl\Mode\ModeSid; /** * Selects assets when making a booking. - * - * Take note of the {@link ProcessSpaSid::QUIZ} step. */ class Resource54Model extends WlModelAbstract { @@ -251,7 +247,7 @@ class Resource54Model extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php index de728de0..ad133a3f 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php +++ b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; /** * Selects assets for making a booking. @@ -250,7 +249,7 @@ class ResourceModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 3d3640e6..601ce143 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -6,7 +6,6 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Book\Process\Purchase\Purchase56Model; -use WellnessLiving\Wl\Mode\ModeSid; /** * Manages the booking wizard for the "Purchase Options" page. @@ -170,7 +169,7 @@ class StoreModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. One of the {@link ModeSid} constants. + * The mode type. * * @get get * @post get diff --git a/WellnessLiving/Wl/Business/BusinessModel.php b/WellnessLiving/Wl/Business/BusinessModel.php index 5a5c6825..7df1257c 100644 --- a/WellnessLiving/Wl/Business/BusinessModel.php +++ b/WellnessLiving/Wl/Business/BusinessModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Business; -use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; /** @@ -15,7 +14,6 @@ class BusinessModel extends WlModelAbstract * * @post post * @var int - * @see LocaleSid */ public $id_locale; diff --git a/WellnessLiving/Wl/Business/DataModel.php b/WellnessLiving/Wl/Business/DataModel.php index dc89269b..9396fcec 100644 --- a/WellnessLiving/Wl/Business/DataModel.php +++ b/WellnessLiving/Wl/Business/DataModel.php @@ -2,8 +2,6 @@ namespace WellnessLiving\Wl\Business; -use WellnessLiving\Core\Locale\CurrencySid; -use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Service\ServiceSid; use WellnessLiving\Wl\WlRankTypeSid; @@ -62,7 +60,6 @@ class DataModel extends WlModelAbstract * * @get result * @var int - * @see CurrencySid */ public $id_currency; @@ -71,7 +68,6 @@ class DataModel extends WlModelAbstract * * @get result * @var int - * @see LocaleSid */ public $id_locale; diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php deleted file mode 100644 index c862482b..00000000 --- a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Business\Franchise\Location; - -/** - * A list tab. - * - * Last used ID: 4. - */ -class BusinessFranchiseLocationFormSid -{ - /** - * The tab country. - * - * @title country - */ - const COUNTRY = 1; - - /** - * The tab location. - * - * @title location - */ - const LOCATION = 2; - - /** - * The tab region. - * - * @title region - */ - const REGION = 3; - - /** - * The tab state/province. - * - * @title state/province - */ - const STATE_PROVINCE = 4; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php index f5c67ee8..d45ec91a 100644 --- a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php +++ b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php @@ -165,10 +165,6 @@ class BusinessFranchiseLocationModel extends WlModelAbstract /** * Determines which locations should be returned. * - * One of the {@link BusinessFranchiseLocationSid} constants. - * - * If `null`, {@link BusinessFranchiseLocationSid::ALL} is used. - * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php deleted file mode 100644 index 632addc3..00000000 --- a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Business\Franchise\Location; - -/** - * Types of the location. - * - * Used in the {@link BusinessFranchiseLocationModel}. - */ -class BusinessFranchiseLocationSid -{ - /** - * All locations. - * - * @title All - */ - const ALL = 1; - - /** - * Locations without the region. - * - * @title Without region - */ - const REGION_NO = 2; - - /** - * Location with the region. - * - * @title With region - */ - const REGION_YES = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php index d6d2d43c..3a4810a0 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Catalog\CatalogList; -use WellnessLiving\Core\Sid\SortOrderSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlSaleSid; @@ -14,8 +13,8 @@ class CatalogProductModel extends WlModelAbstract /** * Categories with sort settings. Keys refer to shop category keys. Values refer to sort settings. Contains the following structure:<dl> * <dt>array <var>a_order</var></dt> - * <dt>int <var>id_order</var></dt><dd>The sort order. One of the {@link SortOrderSid} constants.</dd> - * <dt>int <var>id_sort</var></dt><dd>The sort order ID. One of the {@link SortOrderSid} constants.</dd> + * <dt>int <var>id_order</var></dt><dd>The sort order.</dd> + * <dt>int <var>id_sort</var></dt><dd>The sort order ID.</dd> * </dl> * * @get result @@ -37,7 +36,7 @@ class CatalogProductModel extends WlModelAbstract * <dt>int <var>i_last</var></dt> * <dd>The last shown product.</dd> * - * <dt>int <var>id_order</var></dt><dd>The sort order ID. One of the {@link SortOrderSid} constants.</dd> + * <dt>int <var>id_order</var></dt><dd>The sort order ID.</dd> * * <dt>int <var>id_sort</var></dt> * <dd>The sort options ID.</dd> diff --git a/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php b/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php index eaaada7e..f59435d2 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php @@ -4,7 +4,6 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Catalog\PurchaseOptionViewSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlSaleSid; @@ -217,7 +216,7 @@ class ElementModel extends WlModelAbstract * <dd>Contains information about taxes.</dd> * * <dt>string <var>id_purchase_option_view</var></dt> - * <dd>The Purchase Option view type. One of the {@link PurchaseOptionViewSid} constants.</dd> + * <dd>The Purchase Option view type.</dd> * * <dt>string <var>m_discount_code</var></dt> * <dd>The discount code amount.</dd> @@ -380,7 +379,7 @@ class ElementModel extends WlModelAbstract public $id_purchase_item; /** - * The ID of the item view category. One of the {@link PurchaseOptionViewSid} constants. + * The ID of the item view category. * * @get result * @var int diff --git a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php index 4107946a..a111c605 100644 --- a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php @@ -6,7 +6,6 @@ use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; use WellnessLiving\Wl\Insurance\Catalog\ProgramListModel; use WellnessLiving\Wl\Insurance\Enrollment\Field\EnrollmentFieldListModel; -use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlSaleSid; @@ -419,7 +418,7 @@ class PaymentModel extends WlModelAbstract public $f_discount_percent = 0; /** - * The WellnessLiving mode type (required). One of the {@link ModeSid} constants. + * The WellnessLiving mode type (required). * * @post get * @var int diff --git a/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php b/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php deleted file mode 100644 index cfa4b579..00000000 --- a/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Catalog; - -use WellnessLiving\Wl\WlProgramSid; - -/** - * A list of Purchase Option view types. - * - * Last ID: 9. - */ -class PurchaseOptionViewSid -{ - /** - * A single appointment reservation. - */ - const APPOINTMENT = 1; - - /** - * A single class reservation. - */ - const CLASS_PERIOD = 2; - - /** - * A gift card. - */ - const COUPON = 3; - - /** - * Enrollments. Classes where flag event is <tt>true</tt>. - */ - const ENROLLMENT = 4; - - /** - * Promotions with programs: - * * {@link WlProgramSid::ACCOUNT_MEMBERSHIP}; - * * {@link WlProgramSid::CLASS_MEMBERSHIP}; - * * {@link WlProgramSid::RESOURCE_MEMBERSHIP}; - * * {@link WlProgramSid::SERVICE_MEMBERSHIP}; - * * {@link WlProgramSid::VISIT_MEMBERSHIP}. - */ - const MEMBERSHIP = 8; - - /** - * Promotions with program {@link WlProgramSid::PACKAGE}. - */ - const PACKAGE = 5; - - /** - * Products (such as water, t-shirts, etc.). - */ - const PRODUCT = 6; - - /** - * Session passes. - */ - const PROMOTION = 7; - - /** - * Products available for quick buy. - */ - const QUICK_BUY = 9; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php index 2b0c354f..f85867ac 100644 --- a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php +++ b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php @@ -6,7 +6,6 @@ use WellnessLiving\Wl\Catalog\Payment\PaymentModel; use WellnessLiving\Wl\Insurance\Catalog\ProgramListModel; use WellnessLiving\Wl\Insurance\Enrollment\Field\EnrollmentFieldListModel; -use WellnessLiving\Wl\Shop\Product\PurchaseRestrictionSid; use WellnessLiving\Wl\WlProgramSid; use WellnessLiving\Wl\WlSaleSid; @@ -64,7 +63,7 @@ class CatalogListModel extends WlModelAbstract * int <var>id_restriction</var> * </dt> * <dd> - * The restriction ID. One of the {@link PurchaseRestrictionSid} constants. + * The restriction ID. * </dd> * <dt> * int <var>id_sale</var> diff --git a/WellnessLiving/Wl/Classes/Period/Clients/Model.php b/WellnessLiving/Wl/Classes/Period/Clients/Model.php new file mode 100644 index 00000000..cbb057e7 --- /dev/null +++ b/WellnessLiving/Wl/Classes/Period/Clients/Model.php @@ -0,0 +1,75 @@ +<?php + +namespace WellnessLiving\Wl\Classes\Period\Clients; + +use WellnessLiving\WlModelAbstract; + +/** + * Class to manage class period info with Api. + * + * @sdk + */ +class Model extends WlModelAbstract +{ + /** + * List of clients that registered on class each element contains information: + * <ul> + * <li>array <var>a_asset</var> A list of the assets.<dl> + * <dt>string <var>k_resource</var></dt><dd>Resource key.</dd> + * <dt>string <var>text_name</var></dt> + * <dd>Asset title that consists of the asset title itself concatenated with its index (in case of multiple assets) by '#'.</dd> + * <dt>string <var>text_title</var></dt><dd>Title of the asset.</dd> + * </dl> + * </li> + * <li>string <var>first_name</var> Client's first name. + * </li> + * <li>string <var>gender</var> Gender of client. + * </li> + * <li>string <var>last_name</var> Client's last name. + * </li> + * <li>string <var>mail</var> Mail of client. + * </li> + * <li>string <var>name</var> Full name. Combination of the first and last names. + * </li> + * <li>bool <var>pass_prospect</var> Whether client used Pass Promote to visit class. + * </li> + * <li>string <var>phone</var> Phone number of client. + * </li> + * <li>int <var>uid</var> User identifier. + * </li> + * <li>string <var>visit</var> State of visit. + * </li> + * </ul> + * + * @field clients + * @get result + * @var array[] + */ + public $a_client; + + /** + * Date and time of the currently viewed attendance list. + * + * @get get + * @var string + */ + public $dtl_date; + + /** + * Whether only clients from <tt>Classpass</tt> should be returned. + * + * @get get + * @var bool + */ + public $is_classpass_only; + + /** + * Class period key of the attendance list. + * + * @get get + * @var string + */ + public $k_class_period; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/RequirePaySid.php b/WellnessLiving/Wl/Classes/RequirePaySid.php deleted file mode 100644 index a94638af..00000000 --- a/WellnessLiving/Wl/Classes/RequirePaySid.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Classes; - -/** - * List of possible modes to require amount while booking a class. - */ -class RequirePaySid -{ - /** - * Clients can pay online or pay when they visit. - * If set "pay when visit" then it has additional options. - */ - const ADVANCE = 3; - - /** - * Client should leave a deposit before booking an event. - */ - const DEPOSIT = 4; - - /** - * Client must purchase online. - */ - const ONLINE = 1; - - /** - * Clients can only pay when they visit. Online payment is not available. - */ - const VISIT = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/Tab/TabSid.php b/WellnessLiving/Wl/Classes/Tab/TabSid.php deleted file mode 100644 index 910613d4..00000000 --- a/WellnessLiving/Wl/Classes/Tab/TabSid.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Classes\Tab; - -/** - * List of class tab objects. - * - * Last ID: 6. - */ -abstract class TabSid -{ - /** - * Enrolments. - */ - const ENROLLMENT = 2; - - /** - * Bookable Assets. - */ - const RESOURCE = 4; - - /** - * Appointments. - */ - const SERVICE = 3; - - /** - * Classes. - */ - const TRAINING = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Collector/DebtListModel.php b/WellnessLiving/Wl/Collector/DebtListModel.php index 97bc1c88..53c73313 100644 --- a/WellnessLiving/Wl/Collector/DebtListModel.php +++ b/WellnessLiving/Wl/Collector/DebtListModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Collector; -use WellnessLiving\Core\Locale\CurrencySid; use WellnessLiving\WlModelAbstract; /** @@ -26,7 +25,7 @@ class DebtListModel extends WlModelAbstract * <dt>string <var>dtu_cease</var></dt> * <dd>The date and time in UTC when the debt was fully ceased.</dd> * <dt>int <var>id_currency</var></dt> - * <dd>The debt currency ID. One of {@link CurrencySid} constants.</dd> + * <dd>The debt currency ID.</dd> * <dt>string <var>k_business</var></dt> * <dd>The business key where the debt occurred.</dd> * <dt>string <var>k_collector_debt</var></dt> diff --git a/WellnessLiving/Wl/Collector/DebtPayModel.php b/WellnessLiving/Wl/Collector/DebtPayModel.php index 3865460a..75e6885e 100644 --- a/WellnessLiving/Wl/Collector/DebtPayModel.php +++ b/WellnessLiving/Wl/Collector/DebtPayModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Collector; -use WellnessLiving\Core\Locale\CurrencySid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlPayMethodSid; @@ -13,7 +12,6 @@ class DebtPayModel extends WlModelAbstract { /** * The currency of the payment. - * One of {@link CurrencySid} constants. * * Important! The currency must coincide with currency of the debt that was sent to collections. * diff --git a/WellnessLiving/Wl/Coupon/CouponList/ListModel.php b/WellnessLiving/Wl/Coupon/CouponList/ListModel.php index 11dc7ba8..9c90a4d2 100644 --- a/WellnessLiving/Wl/Coupon/CouponList/ListModel.php +++ b/WellnessLiving/Wl/Coupon/CouponList/ListModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Coupon\CouponList; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Coupon\WlTypeSid; /** * Retrieves a list of gift cards. @@ -17,7 +16,7 @@ class ListModel extends WlModelAbstract * int <var>id_type</var> * </dt> * <dd> - * The type of coupon. One of {@link WlTypeSid} constants. + * The type of coupon. * </dd> * <dt> * string <var>k_coupon</var> diff --git a/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php b/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php deleted file mode 100644 index e641bdfe..00000000 --- a/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Coupon; - -/** - * Purchase restrictions. - * - * Last used ID: 3. - */ -class PurchaseRestrictionSid -{ - /** - * Purchase option available for all clients. - */ - const ALL = 1; - - /** - * Purchase option introductory offer, available for new clients only. - */ - const INTRODUCTORY = 2; - - /** - * Purchase option available for clients with special login type or member group. - */ - const TYPE = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Coupon/WlTypeSid.php b/WellnessLiving/Wl/Coupon/WlTypeSid.php deleted file mode 100644 index 2629340d..00000000 --- a/WellnessLiving/Wl/Coupon/WlTypeSid.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Coupon; - -/** - * List of possible types of Gift Cards. - */ -class WlTypeSid -{ - /** - * Amount Gift Card. - * Only one card of this type can be created in one business. - */ - const AMOUNT = 2; - - /** - * Product Gift Card. - * Many cards of this type can be created in one business. - * Each card contains list of products. - */ - const COMPONENT = 1; - - /** - * Quick Gift Card. - * Only one card of this type can be created in one business. - */ - const QUICK = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php index e0f919d5..4f3f5148 100644 --- a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php +++ b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Business\Config\BusinessConfigModel; -use WellnessLiving\Wl\Virtual\VirtualProviderSid; /** * Retrieves information about an event element. @@ -217,6 +216,12 @@ class ElementModel extends WlModelAbstract * <dd> * The name of the timezone in which the session is held. * </dd> + * <dt> + * string <var>text_room</var> + * </dt> + * <dd> + * The room of the event. + * </dd> * </dl> * * @get result @@ -387,7 +392,7 @@ class ElementModel extends WlModelAbstract public $i_staff_image_width = 0; /** - * The virtual provider ID. One of the {@link VirtualProviderSid} constants. + * The virtual provider ID. * * `null` if an in-person event. * diff --git a/WellnessLiving/Wl/Event/EventListModel.php b/WellnessLiving/Wl/Event/EventListModel.php index d07366db..6ed7c83b 100644 --- a/WellnessLiving/Wl/Event/EventListModel.php +++ b/WellnessLiving/Wl/Event/EventListModel.php @@ -2,8 +2,6 @@ namespace WellnessLiving\Wl\Event; -use WellnessLiving\Core\Drive\DriveTypeSid; -use WellnessLiving\Core\Sid\YesNoSid; use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\AFlagSid; use WellnessLiving\WlModelAbstract; @@ -64,7 +62,7 @@ class EventListModel extends WlModelAbstract * <dt>int <var>i_width_src</var></dt> * <dd>The source image's width.</dd> * <dt>int <var>id_type_src</var></dt> - * <dd>The image type ID. One of the {@link DriveTypeSid} constants.</dd> + * <dd>The image type ID.</dd> * <dt>bool <var>is_resize</var></dt> * <dd>This will be `true` if the image has been resized. `false` otherwise.</dd> * <dt>bool <var>is_old</var></dt> @@ -211,8 +209,7 @@ class EventListModel extends WlModelAbstract /** * List of IDs to include/exclude virtual events. - * If the only ID is {@link YesNoSid::YES}, only virtual events are included. - * If the only ID is {@link YesNoSid::NO}, only in-person events are included. + * * Otherwise, no filtering is done. * * @get get diff --git a/WellnessLiving/Wl/Field/WlFieldGeneralSid.php b/WellnessLiving/Wl/Field/WlFieldGeneralSid.php index 0597c0c1..5cc3831f 100644 --- a/WellnessLiving/Wl/Field/WlFieldGeneralSid.php +++ b/WellnessLiving/Wl/Field/WlFieldGeneralSid.php @@ -2,8 +2,6 @@ namespace WellnessLiving\Wl\Field; -use WellnessLiving\Wl\Login\Type\SystemSid; - /** * List of general fields in user's profile. * @@ -83,7 +81,7 @@ class WlFieldGeneralSid const REFERRER = 12; /** - * Client status (client/member types). System default client/member types see {@link SystemSid}. + * Client status (client/member types). */ const STATUS = 14; diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php b/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php deleted file mode 100644 index 9a98ae14..00000000 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Autymate; - -/** - * List of modes used to access Autymate. - */ -class AutymateAccessModeSid -{ - /** - * Access Autymate to create an initial enrollment. - */ - const ENROLL = 1; - - /** - * Access Autymate to view the dashboard. - */ - const VIEW = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php b/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php index 36494170..f0c897d4 100644 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php @@ -12,8 +12,6 @@ class AutymateActivateModel extends WlModelAbstract /** * The mode of the request. * - * One of {@link AutymateAccessModeSid} constants. - * * @get get * @var int */ @@ -22,8 +20,6 @@ class AutymateActivateModel extends WlModelAbstract /** * The new status of the enrollment. If `0`, the current status is returned. * - * One of {@link AutymateStatusSid} constants. - * * @get get,result * @var int */ diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php b/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php deleted file mode 100644 index f200aea4..00000000 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Integration\Autymate; - -/** - * List of statuses of an Autymate enrollment notification. - */ -class AutymateStatusSid -{ - /** - * Autymation enrollment is active. - */ - const ACTIVE = 1; - - /** - * Autymation enrollment is no longer active. - */ - const INACTIVE = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php b/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php index 33a82447..dbde70b5 100644 --- a/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php +++ b/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php @@ -3,9 +3,6 @@ namespace WellnessLiving\Wl\Login\Attendance\Add; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Login\Attendance\AddOptionSid; -use WellnessLiving\Wl\Mode\ModeSid; -use WellnessLiving\Wl\Visit\WlVisitSid; /** * Adds a client to an attendance list. @@ -72,7 +69,6 @@ class AddModel extends WlModelAbstract /** * Determines how the payment was handled for the session. - * One of the {@link AddOptionSid} constants. * * @post post * @var int @@ -81,7 +77,7 @@ class AddModel extends WlModelAbstract /** * Determines how the session was booked. - * One of the {@link ModeSid} constants. + * * We recommend using the `WEB_BACKEND` value. * * @post post @@ -91,7 +87,6 @@ class AddModel extends WlModelAbstract /** * The status of the visit. - * One of the {@link WlVisitSid} constants. * * @post result * @var int diff --git a/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php b/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php deleted file mode 100644 index 629a8b1c..00000000 --- a/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Login\Attendance; - -/** - * List of options to add client to attendance list. - */ -class AddOptionSid -{ - /** - * Add client to attendance list and charge his account. - */ - const DEBIT = 2; - - /** - * Add client to attendance list and pay now. - */ - const PAY = 3; - - /** - * Add client to attendance list without payment. - */ - const UNPAID = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index d8c6e0b3..32b58636 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Login\Attendance; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; use WellnessLiving\Wl\WlSaleSid; use WellnessLiving\Wl\WlServiceSid; @@ -238,7 +237,7 @@ class AttendanceInfoByTokenModel extends WlModelAbstract public $i_duration; /** - * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. + * Type of note. <tt>false</tt> if notes not allowed. * * @get result * @var int|false diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php index a201ddc4..8ad53718 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Login\Attendance; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; use WellnessLiving\Wl\WlSaleSid; use WellnessLiving\Wl\WlServiceSid; @@ -237,7 +236,7 @@ class AttendanceInfoModel extends WlModelAbstract public $i_duration; /** - * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. + * Type of note. <tt>false</tt> if notes not allowed. * * @get result * @var int|false diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php index bd9d9df9..6bcc0955 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php @@ -4,7 +4,6 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlProgramSid; /** @@ -76,7 +75,7 @@ class AttendanceListByTokenModel extends WlModelAbstract * <dt>int <var>id_program</var></dt> * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> * <dt>int <var>id_visit</var></dt> - * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> + * <dd>The status of the visit.</dd> * <dt>bool <var>is_attend</var></dt> * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> * <dt>bool <var>is_duration_pass</var></dt> diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php index 14157c9e..579eaf81 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php @@ -4,7 +4,6 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlProgramSid; /** @@ -75,7 +74,7 @@ class AttendanceListModel extends WlModelAbstract * <dt>int <var>id_program</var></dt> * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> * <dt>int <var>id_visit</var></dt> - * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> + * <dd>The status of the visit.</dd> * <dt>bool <var>is_attend</var></dt> * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> * <dt>bool <var>is_duration_pass</var></dt> diff --git a/WellnessLiving/Wl/Login/Member/MemberValidate63Model.php b/WellnessLiving/Wl/Login/Member/MemberValidate63Model.php new file mode 100644 index 00000000..38d0fa1a --- /dev/null +++ b/WellnessLiving/Wl/Login/Member/MemberValidate63Model.php @@ -0,0 +1,110 @@ +<?php + +namespace WellnessLiving\Wl\Login\Member; + +use WellnessLiving\WlModelAbstract; + +/** + * Checking whether there is something that prevents the user from using the business. + */ +class MemberValidate63Model extends WlModelAbstract +{ + /** + * List of fields if the user has empty profile fields, which are required for booking. + * + * @get result + * @var array + */ + public $a_empty_fields_booking = []; + + /** + * List of fields if the user has empty profile fields, which are required for registration. + * + * @get result + * @var array + */ + public $a_empty_fields_registration = []; + + /** + * List of fields if the user has empty profile fields, which are required. + * + * @get result + * @var array + */ + public $a_empty_fields_required = []; + + /** + * `true` If the user has credit cards on profile, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_credit_card = false; + + /** + * `true` if the user has an outstanding contract, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_outstanding_contract = false; + + /** + * `true` If the user has an outstanding waiver for the business, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_outstanding_waiver = false; + + /** + * `true` If the user has pending registration quizzes to complete, otherwise `false`. + * + * @get result + * @var bool + */ + public $has_pending_quizzes = false; + + /** + * `true` If the user has to provide credit card details before booking, otherwise `false`. + * + * @get result + * @var bool + */ + public $is_booking_require_card = false; + + /** + * `true` If the user has to provide credit card details to finish their registration, otherwise `false`. + * + * @get result + * @var bool + */ + public $is_register_require_card = false; + + /** + * Key of the business. + * + * @get get + * @var string + */ + public $k_business = '0'; + + /** + * Home user`s location. + * `null` if user has not home location. + * + * @get result + * @var string|null + */ + public $k_location = null; + + /** + * The user's key. + * + * @get get + * @var string + */ + public $uid = '0'; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Member/MemberValidateModel.php b/WellnessLiving/Wl/Login/Member/MemberValidateModel.php index 77be264d..ad63af63 100644 --- a/WellnessLiving/Wl/Login/Member/MemberValidateModel.php +++ b/WellnessLiving/Wl/Login/Member/MemberValidateModel.php @@ -6,6 +6,8 @@ /** * Checking whether there is something that prevents the user from using the business. + * + * @deprecated Use instead {@link MemberValidate63Model}. */ class MemberValidateModel extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php index 1390052c..57297ee2 100644 --- a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php +++ b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Login\Promotion\Convert; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Promotion\Convert\PromotionConvertSid; use WellnessLiving\Wl\WlProgramSid; /** @@ -75,7 +74,7 @@ class ConvertModel extends WlModelAbstract public $dl_hold_start = ''; /** - * The conversion ID. One of the {@link PromotionConvertSid} constants. + * The conversion ID. * * @get result * @post get @@ -84,7 +83,7 @@ class ConvertModel extends WlModelAbstract public $id_convert = null; /** - * When conversion should be done. One of the {@link ConvertWhenSid} constants. + * When conversion should be done. * * `null` if it's not set yet. * diff --git a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php deleted file mode 100644 index e55e29cb..00000000 --- a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Login\Promotion\Convert; - -/** - * Different types of conversion behavior: when and how it should be converted. - */ -class ConvertWhenSid -{ - /** - * Purchase Option converts one day after the scheduled expiration date and the client is charged for the new purchase option. - */ - const EXPIRATION_PAID = 1; - - /** - * Purchase Option converts now and the client is not charged for the new Purchase Option. - */ - const NOW_FREE = 2; - - /** - * Purchase Option converts now and the client is changed for the new Purchase Option. - */ - const NOW_PAID = 3; - - /** - * Purchase Option converts on the specified date and the client is charged for the new Purchase Option. - */ - const SCHEDULE_PAID = 4; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Type/LoginTypeModel.php b/WellnessLiving/Wl/Login/Type/LoginTypeModel.php index e6c721d8..3a6da498 100644 --- a/WellnessLiving/Wl/Login/Type/LoginTypeModel.php +++ b/WellnessLiving/Wl/Login/Type/LoginTypeModel.php @@ -18,7 +18,7 @@ class LoginTypeModel extends WlModelAbstract * <dl> * <dt>bool <var>id_client_type</var></dt> * <dd> - * System ID. One of {@link SystemSid} constants. + * System ID. * </dd> * <dt>bool <var>is_member</var></dt> * <dd> diff --git a/WellnessLiving/Wl/Login/Type/SystemSid.php b/WellnessLiving/Wl/Login/Type/SystemSid.php deleted file mode 100644 index 21ac6bf5..00000000 --- a/WellnessLiving/Wl/Login/Type/SystemSid.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Login\Type; - -/** - * System default client/member types. - * - * If user purchases any membership it becomes member. - * If user purchases any pass it becomes client. - * - * Last ID: 3. - */ -class SystemSid -{ - /** - * Active client or member. - */ - const ACTIVE = 1; - - /** - * Inactive client or member. - */ - const INACTIVE = 2; - - /** - * Newcomer, who has not bought anything that can make him a regular client of the business. - */ - const PROSPECT = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Mode/ModeSid.php b/WellnessLiving/Wl/Mode/ModeSid.php deleted file mode 100644 index b0c585f0..00000000 --- a/WellnessLiving/Wl/Mode/ModeSid.php +++ /dev/null @@ -1,135 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Mode; - -/** - * The source of visit. - * - * Last used ID: 25. - */ -class ModeSid -{ - /** - * Registered through <tt>Azure</tt>. - */ - const AZURE = 21; - - /** - * Visit has been created by <tt>CENTRED</tt>. - */ - const CENTRED = 23; - - /** - * Visit has been created by <tt>ClassPass</tt>. - */ - const CLASSPASS_BOOKING = 8; - - /** - * Debt paid via collections. - */ - const COLLECTIONS = 22; - - /** - * Action made via email. - */ - const EMAIL = 18; - - /** - * Indicating that the source is Facebook. - */ - const FACEBOOK = 20; - - /** - * Indicating that the source is Google. - */ - const GOOGLE = 19; - - /** - * Visit has been created by Google Booking Service. - */ - const GOOGLE_BOOKING = 7; - - /** - * Visit has been created by <tt>GymPass</tt>. - */ - const GYMPASS_BOOKING = 14; - - /** - * Visit was created during import. - */ - const IMPORT = 5; - - /** - * Action made via microsite. - * - * It is also names as directory listing. - */ - const MICROSITE = 12; - - /** - * Indicating that the source is Microsoft. - */ - const MICROSOFT = 24; - - /** - * Client booked session on My Presence Site. - */ - const MY_PRESENCE_SITE = 13; - - /** - * Action made via SMS. - */ - const SMS = 17; - - /** - * Staff booked session from spa backend. - */ - const SPA_BACKEND = 4; - - /** - * Client booked session from spa frontend. - */ - const SPA_FRONTEND = 3; - - /** - * Created by system. - */ - const SYSTEM = 10; - - /** - * Means that we did not define mode. - */ - const UNDEFINED = 6; - - /** - * Client booked session from Attendance Web App. - */ - const WEB_APP_ATTENDANCE = 16; - - /** - * Client checked-in for the session through Check-In Web App. - */ - const WEB_APP_CHECK_IN = 15; - - /** - * Staff booked session for client from website backend. - */ - const WEB_BACKEND = 2; - - /** - * Client booked session from website frontend. - */ - const WEB_FRONTEND = 1; - - /** - * Action made via widget (purchase, book etc). - */ - const WIDGET = 11; - - /** - * Action from Zapier. - */ - const ZAPIER = 25; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Account/AccountModel.php b/WellnessLiving/Wl/Pay/Account/AccountModel.php index d23498ee..c348368e 100644 --- a/WellnessLiving/Wl/Pay/Account/AccountModel.php +++ b/WellnessLiving/Wl/Pay/Account/AccountModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Pay\Account; -use WellnessLiving\Core\Locale\CurrencySid; use WellnessLiving\WlModelAbstract; /** @@ -19,7 +18,7 @@ class AccountModel extends WlModelAbstract * int <var>id_currency</var> * </dt> * <dd> - * Currency ID. One of {@link CurrencySid} constant. + * Currency ID. * </dd> * <dt> * string <var>k_currency</var> diff --git a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php index a5a695a8..23ff2720 100644 --- a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php +++ b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php @@ -4,7 +4,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; -use WellnessLiving\Wl\Mode\ModeSid; /** * Fills a user account with a specified payment. @@ -148,7 +147,7 @@ class ChargeModel extends WlModelAbstract public $a_pay_form = []; /** - * The source mode key. One of the {@link ModeSid} constants. + * The source mode key. * * @post post * @var int diff --git a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php index 650ed301..3acc60ac 100644 --- a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php +++ b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Pay\Form; -use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\Core\a\ACardSystemSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlPayMethodSid; @@ -123,7 +122,6 @@ class EnvironmentModel extends WlModelAbstract * * @get result * @var int|null - * @see LocaleSid */ public $id_locale; diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSDeviceTypeSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSDeviceTypeSid.php new file mode 100644 index 00000000..cc2a39f8 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSDeviceTypeSid.php @@ -0,0 +1,23 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Device Type code class. + * + * Last used ID: 2 + */ +class CSDeviceTypeSid +{ + /** + * Indicate the package is initialed from register end. + */ + const REGISTER_INDENTIFICATION = 1; + + /** + * Indicate communication is initialed from terminal end. + */ + const TERMINAL_INDENTIFICATION = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeActionSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeActionSid.php new file mode 100644 index 00000000..3406e973 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeActionSid.php @@ -0,0 +1,48 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Exchange Action code class. + * + * Last used ID: 7 + */ +class CSExchangeActionSid +{ + /** + * Cancel the previous transaction. + */ + const CANCEL_TRANSACTION = 1; + + /** + * For cancel transaction. It causes this transaction in cancellation status. + */ + const FORCE_CANCEL_TRANSACTION = 2; + + /** + * Update status. + */ + const NOTIFY = 3; + + /** + * Wait for response from `RecipientParty`. + */ + const POLL_THE_RESPONSE = 4; + + /** + * Retrieve the request/response from cloud. + */ + const RECOVER_REQUEST_RESPONSE = 5; + + /** + * Retrieve the response from cloud. + */ + const RETRIEVE_RESPONSE = 6; + + /** + * Check the terminal status. + */ + const STATUS_CHECK = 7; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeTypeSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeTypeSid.php new file mode 100644 index 00000000..80707467 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSExchangeTypeSid.php @@ -0,0 +1,63 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Exchange Type class. + * + * Last used ID: 10 + */ +class CSExchangeTypeSid +{ + /** + * Accept the request from terminal. + */ + const ACCEPT = 1; + + /** + * Transaction cannot be cancelled. + */ + const CANNOT_CANCEL = 2; + + /** + * Register receives the response from terminal and ACK to cloud. + */ + const COMPLETION = 3; + + /** + * Duplicate transaction found. + */ + const DUPLICATION = 4; + + /** + * Cloud receives Auth from register. + */ + const INITIATED = 5; + + /** + * A pending transaction on the cloud. + */ + const PENDING = 6; + + /** + * Terminal sends response to cloud. + */ + const RESPONSE = 7; + + /** + * Timeout/ Expired. + */ + const TIMEOUT = 8; + + /** + * Transaction has been cancelled. + */ + const TRANSACTION_CANCELLED = 9; + + /** + * Transaction not found. + */ + const TRANSACTION_NOT_FOUND = 10; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSMessageFunctionSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSMessageFunctionSid.php new file mode 100644 index 00000000..80896e81 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSMessageFunctionSid.php @@ -0,0 +1,188 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Message Function code class. + * + * Last used ID: 35 + */ +class CSMessageFunctionSid +{ + /** + * Request for reconciliation. + */ + const BATCH_SETTLEMENT_REQUEST = 12; + + /** + * Response for reconciliation. + */ + const BATCH_SETTLEMENT_RESPONSE = 11; + + /** + * Payment card (credit or debit). + */ + const CARD = 35; + + /** + * Request to complete Pre-Auth. + */ + const COMPLETION_REQUEST = 4; + + /** + * Response to pre-auth completion request. + */ + const COMPLETION_RESPONSE = 3; + + /** + * Send financial data from terminal to point of sale. + */ + const FINANCIAL_SALE_TO_POS = 7; + + /** + * Request for authorization with financial capture. + */ + const PRE_AUTH_REQUEST = 6; + + /** + * Response for authorization with financial capture. + */ + const PRE_AUTH_RESPONSE = 5; + + /** + * Request for Refund. + */ + const REFUND_REQUEST = 14; + + /** + * Response for Refund. + */ + const REFUND_RESPONSE = 13; + + /** + * Request for reporting. + */ + const REPORT_REQUEST = 16; + + /** + * Report response. + */ + const REPORT_RESPONSE = 15; + + /** + * Request ticket info from POS. + */ + const REQUEST_ALL_TICKET_TO_POI = 29; + + /** + * Request for Crypto Currency. + */ + const REQUEST_CRYPTO_TO_POI = 33; + + /** + * Notify Ticket # and amount which terminal doing. + */ + const REQUEST_SALE_WITH_TICKET_TO_POS = 28; + + /** + * Request all ticket/invoice list from POS. + */ + const REQUEST_TABLET_TO_POI = 25; + + /** + * Unlock Ticket Response from Register. + */ + const REQUEST_UNLOCK_TICKET_TO_POS = 32; + + /** + * Response from point of sale to terminal. + */ + const RESPONSE_CONFIRM_FROM_POS = 8; + + /** + * Response to Crypto Currency. + */ + const RESPONSE_CRYPTO_FROM_POS = 34; + + /** + * Response from Cloud Server. + */ + const RESPONSE_SALE_FROM_POS = 27; + + /** + * Response to invoice/ticket detail list to terminal. + */ + const RESPONSE_TABLE_FROM_POS = 26; + + /** + * Response to ticket detail list to terminal. + */ + const RESPONSE_TICKET_FROM_POS = 30; + + /** + * Request all ticket/invoice list from POS. + */ + const RESPONSE_UNLOCK_TICKET_FROM_POS = 31; + + /** + * Advice for reversal with financial capture. + */ + const REVERSAL_REQUEST = 10; + + /** + * Advice response for reversal with financial capture. + */ + const REVERSAL_RESPONSE = 9; + + /** + * Request for Sale without financial capture. + */ + const SALE_REQUEST = 1; + + /** + * Response for Sale without financial capture. + */ + const SALE_RESPONSE = 2; + + /** + * Request the management of a session: login, logout and diagnosis services. Initiated by the Sale system. + */ + const SESSION_MANAGEMENT_REQUEST = 20; + + /** + * For PAT request. + */ + const SESSION_MANAGEMENT_REQUEST_Q = 18; + + /** + * Response to a session management request to initiate/terminate a session. + */ + const SESSION_MANAGEMENT_RESPONSE = 19; + + /** + * For PAT response. + */ + const SESSION_MANAGEMENT_RESPONSE_P = 17; + + /** + * For TIP adjustment. + */ + const TIP_ADJUSTMENT_REQUEST = 22; + + /** + * For TIP adjustment. + */ + const TIP_ADJUSTMENT_RESPONSE = 21; + + /** + * Only for Tip adjustment on terminal end. + */ + const TIP_ADJUSTMENT_SYNC_REQUEST = 24; + + /** + * Only for Tip adjustment on terminal end from register. + */ + const TIP_ADJUSTMENT_SYNC_RESPONSE = 23; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseReasonSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseReasonSid.php new file mode 100644 index 00000000..bfb26d35 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseReasonSid.php @@ -0,0 +1,100 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Response reason code class. + * + * Last used ID: 16 + */ +class CSResponseReasonSid +{ + /** + * The Initiator of the request has sent an Abort message request, which was accepted and processed. + */ + const ABORTED = 1; + + /** + * The system is busy, try later. + */ + const BUSY = 2; + + /** + * The user has aborted the transaction on the PED keyboard, for instance during PIN entering. + */ + const CANCEL = 3; + + /** + * Device out of order. + */ + const DEVICE_OUT = 4; + + /** + * If the Input Device request a `NotifyCardInputFlag` and the Customer enters a card in the card reader without answers to the Input command, + * the terminal abort the Input command processing, + * and answer a dedicated `ErrorCondition` value in the Input response message. + */ + const INSERTED_CARD = 5; + + /** + * The card entered by the Customer cannot be processed by the terminal because this card is not configured in the system. + */ + const INVALID_CARD = 6; + + /** + * The transaction is still in progress and then the command cannot be processed. + */ + const IN_PROGRESS = 15; + + /** + * Not logged in. + */ + const LOGGED_OUT = 7; + + /** + * A service request is sent during a Service dialogue. + * A combination of services not possible to provide. + * During the `DeviceInitialisationCardReader` message processing, + * the user has entered a card which has to be protected by the terminal, + * and cannot be processed with this device request from the external, and then the Sale System. + */ + const NOT_ALLOWED = 8; + + /** + * The transaction is not found (e.g. for a reversal or a repeat). + */ + const NOT_FOUND = 12; + + /** + * Some sale items are not payable by the card proposed by the Customer. + */ + const PAYMENT_RESTRICTION = 10; + + /** + * The transaction is refused by the host or by the local rules associated to the card or the terminal. + */ + const REFUSAL = 11; + + /** + * The hardware is not available (absent, not configured...). + */ + const UNAVAILABLE_DEVICE = 13; + + /** + * The service is not available (not implemented, not configured, protocol version too old...). + */ + const UNAVAILABLE_SERVICE = 14; + + /** + * Acquirer or any host is unreachable or has not answered to an online request, so is considered as temporary unavailable. + * Depending on the Sale context, the request could be repeated (to be compared with "Refusal"). + */ + const UNREACHABLE_HOST = 9; + + /** + * The user has entered the PIN on the PED keyboard and the verification fails. + */ + const WRONG_PIN = 16; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseSid.php new file mode 100644 index 00000000..22b11320 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSResponseSid.php @@ -0,0 +1,115 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Response code class. + * + * Last used ID: 20 + */ +class CSResponseSid +{ + /** + * Service has been successfully provided. + */ + const APPROVED = 1; + + /** + * Transaction cannot be cancelled. + */ + const CANNOT_CANCEL = 2; + + /** + * Service is declined. + */ + const DECLINED = 3; + + /** + * Device is busy. + */ + const DEVICE_BUSY = 4; + + /** + * Duplicate transmission. + */ + const DUPLICATE_TRANSMISSION = 5; + + /** + * Invalid identification data for the sender. + */ + const INITIATING_PARTY = 6; + + /** + * Invalid envelope of the message. + */ + const INVALID_MESSAGE = 7; + + /** + * Type of message the recipient receives is unknown or unsupported. + */ + const MESSAGE_TYPE = 8; + + /** + * NO Ticket/Emtpy. + */ + const NO_TICKET = 9; + + /** + * Invalid message: At least one of the data element or data structure is not present, + * the format, or the content of one data element or one data structure is not correct. + */ + const PARSING_ERROR = 10; + + /** + * Version of the protocol couldn't be supported by the recipient. + */ + const PROTOCOL_VERSION = 11; + + /** + * Invalid identification data for the receiver. + */ + const RECIPIENT_PARTY = 12; + + /** + * Ticket is locked. + */ + const TICKET_LOCKED = 13; + + /** + * Timeout error. + */ + const TIMEOUT_ERROR = 14; + + /** + * Transaction has been cancelled. + */ + const TRANSACTION_CANCELLED = 16; + + /** + * There is an unfinish transactions. + */ + const TRANSACTION_IN_PROCESS = 15; + + /** + * Transaction has been cancelled. + */ + const TRANSACTION_NOT_FOUND = 17; + + /** + * Not possible to process the message, for instance the security module is unavailable, + * the hardware is unavailable, or there is a problem of resource. + */ + const UNABLE_TO_PROCESS = 18; + + /** + * No relationship between register and terminal. + */ + const UNMAPPED = 19; + + /** + * Transaction with unadjusted tip. + */ + const UN_ADJUSTED_TIP = 20; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSServiceContentSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSServiceContentSid.php new file mode 100644 index 00000000..e5672542 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSServiceContentSid.php @@ -0,0 +1,43 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Service Content code class. + * + * Last used ID: 6 + */ +class CSServiceContentSid +{ + /** + * The Sale System requests to the terminal to perform a payment (Purchase/ Refund/PWCB/MOTO Payment/...). + */ + const FINANCIAL_PAYMENT_REQUEST = 4; + + /** + * The terminal sends a response to a payment request (Purchase/refund/ PWCB/MOTO Payment/...). + */ + const FINANCIAL_PAYMENT_RESPONSE = 2; + + /** + * The Sale System request to the terminal different kinds of transaction reconciliation. + */ + const FINANCIAL_RECONCILIATION_REQUEST = 6; + + /** + * The terminal sends a response to a reconciliation request. + */ + const FINANCIAL_RECONCILIATION_RESPONSE = 1; + + /** + * The Sale System requests to the terminal to perform a reversal partial or complete to cancel a former payment service. + */ + const FINANCIAL_REVERSAL_REQUEST = 5; + + /** + * The terminal sends a response to a reversal request. + */ + const FINANCIAL_REVERSAL_RESPONSE = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSTransactionTypeSid.php b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSTransactionTypeSid.php new file mode 100644 index 00000000..26be8812 --- /dev/null +++ b/WellnessLiving/Wl/Pay/Processor/Nuvei/Code/CSTransactionTypeSid.php @@ -0,0 +1,48 @@ +<?php + +namespace WellnessLiving\Wl\Pay\Processor\Nuvei\Code; + +/** + * CS Transaction Type code class. + * + * Last used ID: 7 + */ +class CSTransactionTypeSid +{ + /** + * Balance enquiry. + */ + const BALANCE = 1; + + /** + * Card Payment. + */ + const CARD_PAYMENT = 2; + + /** + * Card Verification. + */ + const CARD_VERIFICATION = 3; + + /** + * Cash Payment. + */ + const CASH_PAYMENT = 7; + + /** + * Quasi-Cash. + */ + const QUASI_CASH = 4; + + /** + * Refund Transaction. + */ + const REFUND = 5; + + /** + * Outstanding Reservation transactions. + */ + const RESERVATION = 6; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Profile/Activity/ElementModel.php b/WellnessLiving/Wl/Profile/Activity/ElementModel.php index 5733f468..96171cc8 100644 --- a/WellnessLiving/Wl/Profile/Activity/ElementModel.php +++ b/WellnessLiving/Wl/Profile/Activity/ElementModel.php @@ -4,7 +4,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Login\WlLoginActivityTypeSid; -use WellnessLiving\Wl\WlDesignIconSid; /** * Returns detailed information about a single client activity. @@ -84,7 +83,7 @@ class ElementModel extends WlModelAbstract public $i_spend; /** - * The ID of the icon that should be shown for this activity. One of {@link WlDesignIconSid} constants. + * The ID of the icon that should be shown for this activity. * * This will be `null` is no special icon for this activity. * diff --git a/WellnessLiving/Wl/Profile/Contract/ContractModel.php b/WellnessLiving/Wl/Profile/Contract/ContractModel.php index 83ae6470..93a06588 100644 --- a/WellnessLiving/Wl/Profile/Contract/ContractModel.php +++ b/WellnessLiving/Wl/Profile/Contract/ContractModel.php @@ -75,7 +75,7 @@ class ContractModel extends WlModelAbstract /** * The key of the purchase item in the database. - * The item key. Depends of {@link ContractModel::$id_purchase_item} property. + * The item key. Depends on {@link ContractModel::$id_purchase_item} property. * * @get get * @var string diff --git a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php index bd26455a..59486a5c 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php @@ -5,7 +5,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Field\WlFieldGeneralSid; use WellnessLiving\Wl\Field\WlFieldTypeSid; -use WellnessLiving\Wl\Profile\RegisterSourceSid; /** * An endpoint that displays client profile information. @@ -111,11 +110,10 @@ class EditByTokenModel extends WlModelAbstract /** * Registration source ID. - * One of {@link RegisterSourceSid} constants. * * Used only to register new clients. * * If the client is already authorized, the field value will not be used. - * * If the client is not authorized and no value is set, {@link RegisterSourceSid::SELF} will be used. + * * * * @get get * @post get diff --git a/WellnessLiving/Wl/Profile/Edit/EditModel.php b/WellnessLiving/Wl/Profile/Edit/EditModel.php index 84519060..6a6e7e19 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditModel.php @@ -6,7 +6,6 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Field\WlFieldGeneralSid; use WellnessLiving\Wl\Field\WlFieldTypeSid; -use WellnessLiving\Wl\Profile\RegisterSourceSid; /** * Gets information about a client profile. This endpoint can also edit or create a profile. @@ -138,11 +137,10 @@ class EditModel extends WlModelAbstract /** * Registration source ID. - * One of {@link RegisterSourceSid} constants. * * Used only to register new clients. * * If the client is already authorized, the field value will not be used. - * * If the client is not authorized and no value is set, {@link RegisterSourceSid::SELF} will be used. + * * * * @get get * @post get diff --git a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php index 4f78bc70..37372ed3 100644 --- a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php +++ b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php @@ -4,7 +4,6 @@ use WellnessLiving\Core\Quiz\ResponseStatusSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Quiz\Response\SourceSid; /** * Retrieves a list of a user's quiz responses. @@ -22,7 +21,7 @@ class ResponseListModel extends WlModelAbstract * <dt>string <var>dtl_date</var></dt> * <dd>The date of the request to fill out a quiz form.</dd> * <dt>int <var>id_source</var></dt> - * <dd>The place where the request to fill out a quiz form occurred. One of the {@link SourceSid} constants.</dd> + * <dd>The place where the request to fill out a quiz form occurred.</dd> * <dt>bool <var>is_private</var></dt> * <dd> * Determines whether the form can be viewed by staff member only after confirmation. @@ -58,7 +57,7 @@ class ResponseListModel extends WlModelAbstract * <dt>string <var>dtl_date</var></dt> * <dd>The date of the request to fill out a quiz form.</dd> * <dt>int <var>id_source</var></dt> - * <dd>The place where the request to fill out the quiz form occurred. One of the {@link SourceSid} constants.</dd> + * <dd>The place where the request to fill out the quiz form occurred.</dd> * <dt>int <var>id_status</var></dt> * <dd>Status of the response. One of {@link ResponseStatusSid} constants.</dd> * <dt>bool <var>is_private</var></dt> diff --git a/WellnessLiving/Wl/Profile/RegisterSourceSid.php b/WellnessLiving/Wl/Profile/RegisterSourceSid.php deleted file mode 100644 index afa4d848..00000000 --- a/WellnessLiving/Wl/Profile/RegisterSourceSid.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Profile; - -/** - * List of sources from where the user registers. - */ -class RegisterSourceSid -{ - /** - * Source when user register during purchase or booking. - * - * <b> - * Don't use for edit existing user profile. - * Used only to register new clients during booking or purchase. - * </b> - */ - const BOOKING_AND_PURCHASE = 1; - - /** - * Source when user register on self registration web app, self registration web app URL etc. - * - * <b>Don't use for edit existing user profile.</b> - */ - const SELF = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php b/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php deleted file mode 100644 index aaf7da69..00000000 --- a/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Promotion\Convert; - -/** - * List of options to convert promotion. - * - * Last used ID: 3. - */ -class PromotionConvertSid -{ - /** - * Promotion conversion downgraded. - */ - const DOWNGRADE = 1; - - /** - * Type of the promotion conversion. - */ - const EQUAL_VALUE = 2; - - /** - * Promotion conversion upgraded. - */ - const UPGRADE = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php b/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php deleted file mode 100644 index 3f9fc4b2..00000000 --- a/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Promotion\Edit\Limit\Cycle; - -/** - * Attendance Restriction cycle type. - */ -class Sid -{ - /** - * Attendance Restriction is applied at the start of the calendar cycle. - */ - const CALENDAR = 1; - - /** - * Attendance Restriction is applied at the start of the payment cycle. - */ - const PAYMENT = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php b/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php index 5e1b6225..bf34372f 100644 --- a/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php +++ b/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php @@ -5,7 +5,6 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Event\EventListModel; -use WellnessLiving\Wl\Promotion\Edit\Limit\Cycle\Sid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlDurationTypeSid; use WellnessLiving\Wl\WlProgramCategorySid; @@ -123,7 +122,7 @@ class PromotionIndexModel extends WlModelAbstract * {@link ADurationSid::MONTH}, {@link ADurationSid::YEAR}. * </dd> * <dt>int <var>id_limit_cycle</var></dt> - * <dd>The type of the limit cycle {@link Sid}.</dd> + * * <dt>bool <var>is_reconcile_visit</var></dt> * <dd>Determines whether to reconcile unpaid sessions on restrictions reset.</dd> * <dt>bool <var>is_roll_over_expire</var></dt> diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index bbfc957b..2c9d006e 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -142,6 +142,17 @@ class QuizElementModel extends WlModelAbstract */ public $k_business = ''; + /** + * Business type key. + * + * `null` if not initialized. + * + * @get result + * @post post + * @var string|null + */ + public $k_business_type = null; + /** * Quiz key. * diff --git a/WellnessLiving/Wl/Quiz/Response/SourceSid.php b/WellnessLiving/Wl/Quiz/Response/SourceSid.php deleted file mode 100644 index 13122776..00000000 --- a/WellnessLiving/Wl/Quiz/Response/SourceSid.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Quiz\Response; - -/** - * List of sources where quiz response can be generated. - * - * Last used ID: 6 - */ -class SourceSid -{ - /** - * Quiz response received during booking process. - */ - const BOOKING = 2; - - /** - * Quiz response was imported. - */ - const IMPORT = 6; - - /** - * Quiz response received by kiosk mode link. - */ - const KIOSK = 7; - - /** - * Quiz response received by direct link. - */ - const LINK = 1; - - /** - * Quiz response received by direct link. - * - * @title Studio - */ - const MANUAL = 5; - - /** - * Quiz response received during purchase process. - */ - const PURCHASE = 4; - - /** - * Quiz response received during registration process. - */ - const REGISTRATION = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Report/WlReportSid.php b/WellnessLiving/Wl/Report/WlReportSid.php index afad3c9a..39081d21 100644 --- a/WellnessLiving/Wl/Report/WlReportSid.php +++ b/WellnessLiving/Wl/Report/WlReportSid.php @@ -1358,11 +1358,17 @@ abstract class WlReportSid /** * Detailed revenue by service. + * + * @title Revenue by Service + * @deprecated Report is refactored into new core. */ const VISIT_REVENUE_DETAIL = 58; /** * Service revenue analysis. + * + * @title Service Revenue Summary + * @deprecated Report is refactored into new core. */ const VISIT_REVENUE_LIST = 57; diff --git a/WellnessLiving/Wl/Resource/Image/ImageIconSid.php b/WellnessLiving/Wl/Resource/Image/ImageIconSid.php deleted file mode 100644 index 5208f6f4..00000000 --- a/WellnessLiving/Wl/Resource/Image/ImageIconSid.php +++ /dev/null @@ -1,158 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Image; - -/** - * Predefined icons for assets. - * - * Last used ID: 29. - */ -class ImageIconSid -{ - /** - * Training bench. - */ - const BENCH = 1; - - /** - * Exercise bike. - */ - const BIKE_1 = 2; - - /** - * Exercise bike. - */ - const BIKE_2 = 3; - - /** - * Exercise bike. - */ - const BIKE_3 = 4; - - /** - * Exercise bike. - */ - const BIKE_4 = 5; - - /** - * Exercise bike. - */ - const BIKE_5 = 6; - - /** - * Exercise bike. - */ - const BIKE_6 = 7; - - /** - * Boot. - */ - const BOOT = 8; - - /** - * Door. - */ - const DOOR = 9; - - /** - * Fan. - */ - const FAN_1 = 10; - - /** - * Fan. - */ - const FAN_2 = 11; - - /** - * Man. - */ - const MAN = 12; - - /** - * Mat. - */ - const MAT = 13; - - /** - * Mirror. - */ - const MIRROR = 14; - - /** - * Orbitrack. - */ - const ORBITRACK_1 = 15; - - /** - * Orbitrack. - */ - const ORBITRACK_2 = 16; - - /** - * Orbitrack. - */ - const ORBITRACK_3 = 17; - - /** - * Orbitrack. - */ - const ORBITRACK_4 = 18; - - /** - * Orbitrack. - */ - const ORBITRACK_5 = 19; - - /** - * Orbitrack. - */ - const ORBITRACK_6 = 20; - - /** - * Boxing punch. - */ - const PUNCH_1 = 21; - - /** - * Boxing punch. - */ - const PUNCH_2 = 22; - - /** - * Rectangle. - */ - const RECTANGLE = 23; - - /** - * Loudspeaker. - */ - const SPEAKER = 24; - - /** - * Treadmill. - */ - const TREADMILL_1 = 25; - - /** - * Treadmill. - */ - const TREADMILL_2 = 26; - - /** - * TV. - */ - const TV = 27; - - /** - * Twines. - */ - const TWINE = 28; - - /** - * Weight. - */ - const WEIGHT = 29; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php b/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php deleted file mode 100644 index 7d85e73a..00000000 --- a/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Image; - -/** - * The kinds of shapes that can be used as an assets' images. - */ -class ImageShapeSid -{ - /** - * Circle. - */ - const CIRCLE = 1; - - /** - * Rectangle. - */ - const RECTANGLE = 2; - - /** - * Square. - */ - const SQUARE = 3; - - /** - * Triangle. - */ - const TRIANGLE = 4; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Layout/LayoutModel.php b/WellnessLiving/Wl/Resource/Layout/LayoutModel.php index b79f8bab..b5657a64 100644 --- a/WellnessLiving/Wl/Resource/Layout/LayoutModel.php +++ b/WellnessLiving/Wl/Resource/Layout/LayoutModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Resource\Layout; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Resource\Image\ImageIconSid; /** * Displays information about an asset layout. @@ -82,25 +81,25 @@ class LayoutModel extends WlModelAbstract * float <var>f_height</var> * </dt> * <dd> - * The height for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. + * Empty for other shapes. * </dd> * <dt> * float <var>f_width</var> * </dt> * <dd> - * The width for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. + * Empty for other shapes. * </dd> * <dt> * int <var>i_degree_from</var> * </dt> * <dd> - * The start angle for the shape {@link LayoutShapeSid::PIE}. Empty for other shapes. + * Empty for other shapes. * </dd> * <dt> * int <var>i_degree_to</var> * </dt> * <dd> - * The start angle for shape {@link LayoutShapeSid::PIE}. Empty for other shapes. + * Empty for other shapes. * </dd> * <dt> * int <var>i_left</var> @@ -112,8 +111,8 @@ class LayoutModel extends WlModelAbstract * int <var>i_radius</var> * </dt> * <dd> - * The radius for shapes {@link LayoutShapeSid::PIE} and - * {@link LayoutShapeSid::CIRCLE}. Empty for other shapes. + * The radius for shapes {@link \Wl\Resource\Layout\Shape\LayoutShapeSid::PIE} and + * Empty for other shapes. * </dd> * <dt> * int <var>i_top</var> @@ -125,7 +124,7 @@ class LayoutModel extends WlModelAbstract * int <var>id_resource_layout_shape</var> * </dt> * <dd> - * The shape type ID. One of the {@link LayoutShapeSid} constants. + * The shape type ID. * </dd> * <dt> * string <var>k_resource_layout_shape</var> @@ -189,7 +188,7 @@ class LayoutModel extends WlModelAbstract * int <var>id_shape_icon</var> * </dt> * <dd> - * The icon ID. One of the {@link ImageIconSid} constants. + * The icon ID. * </dd> * </dl> * diff --git a/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php b/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php deleted file mode 100644 index e88644b2..00000000 --- a/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Resource\Layout; - -/** - * Types of the shapes. - */ -class LayoutShapeSid -{ - /** - * Circles. - */ - const CIRCLE = 2; - - /** - * Pies. - */ - const PIE = 3; - - /** - * Rectangles and squares. - */ - const RECTANGLE = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php b/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php index 26e7fe3c..09546416 100644 --- a/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php +++ b/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php @@ -149,9 +149,7 @@ class ReviewListModel extends WlModelAbstract public $i_page = null; /** - * The order in which the review should be arranged. One of the {@link ReviewOrderSid} constants. - * - * If not passed use default order {@link ReviewOrderSid::LATEST}. + * The order in which the review should be arranged. * * @get get * @var int|null diff --git a/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php b/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php deleted file mode 100644 index abcc67f1..00000000 --- a/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Review\ReviewList; - -/** - * List of possible order for gets review. - */ -class ReviewOrderSid -{ - /** - * Ascending sort review by date. - */ - const LATEST = 1; - - /** - * Ascending sort review by date. - */ - const NEGATIVE = 3; - - /** - * Descending sort review by date. - */ - const OLDEST = 4; - - /** - * Descending sort review by date. - */ - const POSITIVE = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php index 474c79e0..8de95400 100644 --- a/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php +++ b/WellnessLiving/Wl/Schedule/ClassView/DenyReasonSid.php @@ -5,7 +5,7 @@ /** * Reasons why the client can't book this class. * - * Last used ID: 21 + * Last used ID: 23 */ class DenyReasonSid { @@ -34,6 +34,11 @@ class DenyReasonSid */ const AGREE_NX = 5; + /** + * Client has unpaid fees. + */ + const BALANCE_NEGATIVE = 22; + /** * Client is already booked for this session. */ @@ -99,6 +104,11 @@ class DenyReasonSid */ const NOT_BOOKABLE = 18; + /** + * Online booking is disabled for this type of client. + */ + const NOT_BOOKABLE_BY_TYPE = 23; + /** * Required personal details missing. */ diff --git a/WellnessLiving/Wl/Schedule/Design/OptionSid.php b/WellnessLiving/Wl/Schedule/Design/OptionSid.php deleted file mode 100644 index 7102300b..00000000 --- a/WellnessLiving/Wl/Schedule/Design/OptionSid.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\Design; - -/** - * Appointment display option. - * - * Last used ID: 3 - */ -class OptionSid -{ - /** - * Appointment name in header. - */ - const APPOINTMENT_NAME = 1; - - /** - * Client name in header. - */ - const CLIENT_NAME = 3; - - /** - * Staff name in header. - */ - const STAFF_NAME = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php index f4cc0379..7f4afcd8 100644 --- a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php +++ b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php @@ -3,8 +3,6 @@ namespace WellnessLiving\Wl\Schedule\Page; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Virtual\VirtualProviderSid; -use WellnessLiving\Wl\Visit\WlVisitSid; /** * Returns information about a specified visit. @@ -17,7 +15,7 @@ class PageElementModel extends WlModelAbstract * int <var>id_visit</var> * </dt> * <dd> - * Visit status. One of {@link WlVisitSid} constants. + * Visit status. * </dd> * <dt> * bool <var>is_confirmed</var> @@ -163,6 +161,16 @@ class PageElementModel extends WlModelAbstract */ public $html_special; + /** + * Capacity of the service. + * + * <tt>null</tt> means that capacity is not set. + * + * @get result + * @var int|null + */ + public $i_capacity = null; + /** * The scheduled duration of the visit. * <tt>0</tt> means that session duration is hidden. @@ -182,7 +190,6 @@ class PageElementModel extends WlModelAbstract /** * The note type ID. This will be set to `null` if notes aren't allowed. - * This is one of the {@link WlVisitNoteSid} constants. * * This will be `null` if notes aren't allowed. * @@ -192,7 +199,7 @@ class PageElementModel extends WlModelAbstract public $id_note; /** - * The virtual provider ID. One of the {@link VirtualProviderSid} constants. + * The virtual provider ID. * * This will be `null` for non-virtual services. * @@ -202,7 +209,7 @@ class PageElementModel extends WlModelAbstract public $id_virtual_provider; /** - * The visit type ID. One of the {@link WlVisitSid} constants. + * The visit type ID. * * This will be `null` if not loaded yet. * @@ -294,6 +301,14 @@ class PageElementModel extends WlModelAbstract */ public $k_location; + /** + * Asset key. + * + * @get result + * @var ?string + */ + public $k_resource; + /** * Session key. * @@ -350,6 +365,14 @@ class PageElementModel extends WlModelAbstract */ public $uid; + /** + * Image url of the service or resource. + * + * @get result + * @var string + */ + public $url_image = ''; + /** * Url to wait page is the beginning of an online service. * diff --git a/WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php b/WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php deleted file mode 100644 index ffacad10..00000000 --- a/WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Schedule\Page; - -/** - * A list of types of visit note. - */ -class WlVisitNoteSid -{ - /** - * The usual quick accompanying note for the customer visit. - */ - const QUICK = 2; - - /** - * Accompanying medical note for the customer visit. - */ - const SOAP = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php index 0855e22a..0d5a4092 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php @@ -3,8 +3,6 @@ namespace WellnessLiving\Wl\Schedule\ScheduleList\StaffApp; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\Design\OptionSid; -use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlServiceSid; /** @@ -34,7 +32,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * int <var>id_visit</var> * </dt> * <dd> - * Visit id. One of {@link WlVisitSid} constants. + * Visit id. * </dd> * <dt> * bool <var>is_confirmed</var> @@ -189,7 +187,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * <dd> * Appointment title display style. * Set only for appointments, for others it will be equal to 0. - * Constants from {@link OptionSid}. + * * </dd> * <dt> * int <var>id_service</var> diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php index e3a92124..93599d93 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php @@ -4,8 +4,6 @@ use WellnessLiving\Core\Quiz\ResponseStatusSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Schedule\Design\OptionSid; -use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlServiceSid; /** @@ -61,7 +59,7 @@ class ScheduleListModel extends WlModelAbstract * int <var>id_visit</var> * </dt> * <dd> - * Visit id. One of {@link WlVisitSid} constants. + * Visit id. * </dd> * <dt> * bool <var>is_confirmed</var> @@ -229,7 +227,7 @@ class ScheduleListModel extends WlModelAbstract * <dd> * Appointment title display style. * Set only for appointments, for others it will be equal to 0. - * Constants from {@link OptionSid}. + * * </dd> * <dt> * int <var>id_service</var> diff --git a/WellnessLiving/Wl/Schedule/Tab/TabModel.php b/WellnessLiving/Wl/Schedule/Tab/TabModel.php index f09face9..783f1f50 100644 --- a/WellnessLiving/Wl/Schedule/Tab/TabModel.php +++ b/WellnessLiving/Wl/Schedule/Tab/TabModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Schedule\Tab; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Classes\Tab\TabSid; /** * Retrieves a list of tabs for bookable services specific to the user and the location. @@ -22,14 +21,13 @@ class TabModel extends WlModelAbstract * int <var>id_class_tab_object</var> * </dt> * <dd> - * The tab type ID which is one of the {@link TabSid} constants. + * * </dd> * <dt> * int|null <var>id_class_tab_system</var> * </dt> * <dd> * If this tab has redefined a default system Class Tab then it references a constant defined in - * {@link TabSid}. * * Otherwise, this will be `null`. * </dd> diff --git a/WellnessLiving/Wl/Service/ServiceBookFlowSid.php b/WellnessLiving/Wl/Service/ServiceBookFlowSid.php deleted file mode 100644 index 7b57aef1..00000000 --- a/WellnessLiving/Wl/Service/ServiceBookFlowSid.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Service; - -/** - * A list of client booking flow types. - */ -class ServiceBookFlowSid -{ - /** - * Client selects the date and time and then the staff member. - */ - const DATE_STAFF_ORDER = 2; - - /** - * Client selects their preferred booking order should be staff member / calendar. - */ - const PREFER_ORDER = 3; - - /** - * Client selects the staff member and then the date and time. - */ - const STAFF_DATE_ORDER = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php b/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php deleted file mode 100644 index bab2e63d..00000000 --- a/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Shop\Product; - -/** - * Purchase restrictions. - * - * Last used ID: 3. - */ -class PurchaseRestrictionSid -{ - /** - * Purchase option available for all clients. - */ - const ALL = 1; - - /** - * Purchase option introductory offer, available for new clients only. - */ - const INTRODUCTORY = 2; - - /** - * Purchase option available for clients with special login type or member group. - */ - const TYPE = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php b/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php deleted file mode 100644 index cb1c7636..00000000 --- a/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Video\Catalog\Filter\Sort; - -/** - * List of video catalog sorting types. - * - * Any selected type should be sorted in descending order. - */ -class FilterSortSid -{ - /** - * Sort alphabetically. - * - * @title Alphabetical - */ - const ALPHABET = 1; - - /** - * Sort by custom. - * - * @title Custom - */ - const CUSTOM = 4; - - /** - * Sort by most recently added. - * - * @title Most Recent - */ - const RECENT = 2; - - /** - * Sorted by number of views. - * - * @title Views - */ - const VIEW = 3; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/VideoElementModel.php b/WellnessLiving/Wl/Video/VideoElementModel.php index a1ee00fb..496b35bc 100644 --- a/WellnessLiving/Wl/Video/VideoElementModel.php +++ b/WellnessLiving/Wl/Video/VideoElementModel.php @@ -2,7 +2,6 @@ namespace WellnessLiving\Wl\Video; -use WellnessLiving\Core\Sid\YesNoSid; use WellnessLiving\WlModelAbstract; /** @@ -153,9 +152,6 @@ class VideoElementModel extends WlModelAbstract public $i_watch; /** - * {@link YesNoSid::NO} if the video is available in all locations. - * {@link YesNoSid::YES} if the video is available only in certain locations. - * * @get result * @post post * @var int diff --git a/WellnessLiving/Wl/Video/VideoListModel.php b/WellnessLiving/Wl/Video/VideoListModel.php index 4390de19..4d9f557f 100644 --- a/WellnessLiving/Wl/Video/VideoListModel.php +++ b/WellnessLiving/Wl/Video/VideoListModel.php @@ -2,9 +2,7 @@ namespace WellnessLiving\Wl\Video; -use WellnessLiving\Core\Sid\SortOrderSid; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Video\Catalog\Filter\Sort\FilterSortSid; /** * Returns a list of videos. @@ -117,7 +115,7 @@ class VideoListModel extends WlModelAbstract public $i_page = null; /** - * Sort order ID. One of {@link SortOrderSid} constants. `null` or 0 if order is undefined and depends on sort order. + * Sort order ID. `null` or 0 if order is undefined and depends on sort order. * * @get get,result * @var int|null @@ -126,7 +124,7 @@ class VideoListModel extends WlModelAbstract /** * The sorting type. - * A constant from {@link FilterSortSid}. `null` or 0 if sort is undefined and custom sort order is used. + * `null` or 0 if sort is undefined and custom sort order is used. * * @get get,result * @var int|null diff --git a/WellnessLiving/Wl/Video/Watch/WatchModel.php b/WellnessLiving/Wl/Video/Watch/WatchModel.php index 09fe7603..eabe0276 100644 --- a/WellnessLiving/Wl/Video/Watch/WatchModel.php +++ b/WellnessLiving/Wl/Video/Watch/WatchModel.php @@ -31,7 +31,6 @@ class WatchModel extends WlModelAbstract * * @post post * @var int - * @see WatchSourceSid */ public $id_source; diff --git a/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php b/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php deleted file mode 100644 index 71e138cb..00000000 --- a/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Video\Watch; - -/** - * List sources of the view video. - * - * Last used ID: 4 - */ -class WatchSourceSid -{ - /** - * Video watched from application. - */ - const APP = 1; - - /** - * Video watched from direct URL. - */ - const DIRECT_URL = 2; - - /** - * Video watched from frontend. - */ - const FRONTEND = 3; - - /** - * Source of watched is undefined. - * - * Used for old videos. - */ - const UNDEFINED = 4; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Virtual/VirtualProviderSid.php b/WellnessLiving/Wl/Virtual/VirtualProviderSid.php deleted file mode 100644 index f590d2f4..00000000 --- a/WellnessLiving/Wl/Virtual/VirtualProviderSid.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Virtual; - -/** - * List of possible value of virtual integrations. - * - * Last used ID: 2. - */ -class VirtualProviderSid -{ - /** - * Virtual integration non implemented. - */ - const NON_INTEGRATED = 2; - - /** - * Virtual Zoom service integration. - */ - const ZOOM = 1; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Visit/VisitStatusModel.php b/WellnessLiving/Wl/Visit/VisitStatusModel.php index 73e0e35d..207b451e 100644 --- a/WellnessLiving/Wl/Visit/VisitStatusModel.php +++ b/WellnessLiving/Wl/Visit/VisitStatusModel.php @@ -3,7 +3,6 @@ namespace WellnessLiving\Wl\Visit; use WellnessLiving\WlModelAbstract; -use WellnessLiving\Wl\Mode\ModeSid; /** * Views or changes the visit status. @@ -92,7 +91,7 @@ class VisitStatusModel extends WlModelAbstract /** * The source of the visit or the visit change. - * One of the {@link ModeSid} constants. + * * If you're unsure about the value to use, keep the default value. * * @get result @@ -103,7 +102,6 @@ class VisitStatusModel extends WlModelAbstract /** * The status of the visit. - * One of the {@link WlVisitSid} constants. * * @get result * @post post @@ -112,7 +110,7 @@ class VisitStatusModel extends WlModelAbstract public $id_visit = '0'; /** - * The status of the visit from which the transition is made. One of the {@link WlVisitSid} constants. + * The status of the visit from which the transition is made. * * If the visit status is passed, it will be used to check with the actual status in the database. * If `null`, the visit hasn't yet passed. diff --git a/WellnessLiving/Wl/Visit/WlVisitSid.php b/WellnessLiving/Wl/Visit/WlVisitSid.php deleted file mode 100644 index 07b64e5a..00000000 --- a/WellnessLiving/Wl/Visit/WlVisitSid.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php - -namespace WellnessLiving\Wl\Visit; - -/** - * Possible states of the visit: book, attended, cancelled, etc. - * - * Last used ID: 8. - */ -class WlVisitSid -{ - /** - * Client has attended the session. - */ - const ATTEND = 3; - - /** - * Active reservation means that user is going to attend the session. - */ - const BOOK = 1; - - /** - * Client has cancelled the reservation in time and without penalty. - */ - const CANCEL = 6; - - /** - * Client has cancelled his reservation too late. - */ - const PENALTY = 4; - - /** - * This state means that visit is registered, but it is unknown is it {@link WlVisitSid::ATTEND} - * or {@link WlVisitSid::TRUANCY} or {@link WlVisitSid::PENALTY} but definitely one of these states. - * - * The real type of this visit must be set manually by staff. - * Status can be changed automatically to {@link WlVisitSid::ATTEND}. - * - * @see WlVisitSid::TRUANCY - */ - const PENDING = 7; - - /** - * Visit was removed. - * Visits with this status are not shown anywhere in system, but still are saved in database. - */ - const REMOVE = 8; - - /** - * Client has missed the session without cancellation. - */ - const TRUANCY = 5; - - /** - * Reservation in a wait list means that user is going to attend the session if someone will cancel his reservation. - */ - const WAIT = 2; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlDesignIconSid.php b/WellnessLiving/Wl/WlDesignIconSid.php deleted file mode 100644 index 1315095f..00000000 --- a/WellnessLiving/Wl/WlDesignIconSid.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php - -namespace WellnessLiving\Wl; - -/** - * List of available design icons. - * Name of the class with this icon will be wl-icon-[sid] - * - * Last used ID 11. - */ -class WlDesignIconSid -{ - /** - * Signs that session or pass is an appointment connected. - */ - const APPOINTMENT = 4; - - /** - * Signs that session or pass is an asset connected. - */ - const ASSET = 7; - - /** - * Signs that session or pass is a class or event connected. - */ - const CLASSES = 5; - - /** - * Cycle icon. Used, for example, to show transferred status of the promotion. - */ - const CYCLE = 3; - - /** - * Early cancel activity list icon. - */ - const EARLY_CANCELED = 8; - - /** - * Signs that session or pass is a gym visit connected. - */ - const GYM_VISIT = 6; - - /** - * Late cancel activity list icon. - */ - const LATE_CANCELED = 9; - - /** - * Piece of paper with the curved end for different text notes. - */ - const NOTE = 2; - - /** - * No show at visit activity list icon. - */ - const NO_SHOW = 10; - - /** - * Paper with medical symbolic for medical notes. - */ - const SOAP = 1; - - /** - * Clock activity list icon in SPA application. - */ - const SPA_CLOCK = 11; -} - -?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index c4c68d17..76fb8c71 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241024.369196'; + const VERSION='20241112.373241'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 68f6d148c7a5519c72e441722244786d70293dfe Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 13 Nov 2024 12:19:04 +0000 Subject: [PATCH 69/71] Automatic upgrade of the SDK. Build #373448. --- WellnessLiving/Wl/Classes/Period/Clients/Model.php | 2 -- WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php | 2 -- WellnessLiving/Wl/Profile/ProfileCreateModel.php | 2 -- WellnessLiving/Wl/Schedule/Page/PageElementModel.php | 5 ++--- WellnessLiving/WlModelRequest.php | 2 +- 5 files changed, 3 insertions(+), 10 deletions(-) diff --git a/WellnessLiving/Wl/Classes/Period/Clients/Model.php b/WellnessLiving/Wl/Classes/Period/Clients/Model.php index cbb057e7..65b32fa5 100644 --- a/WellnessLiving/Wl/Classes/Period/Clients/Model.php +++ b/WellnessLiving/Wl/Classes/Period/Clients/Model.php @@ -6,8 +6,6 @@ /** * Class to manage class period info with Api. - * - * @sdk */ class Model extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php b/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php index 03016098..5366f229 100644 --- a/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php +++ b/WellnessLiving/Wl/Passport/Login/Enter/PassportOtpModel.php @@ -6,8 +6,6 @@ /** * Entry point to verify user authorization by email and phone number via sending and checking otp code. - * - * @sdk */ class PassportOtpModel extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Profile/ProfileCreateModel.php b/WellnessLiving/Wl/Profile/ProfileCreateModel.php index 6811357a..7c7d5812 100644 --- a/WellnessLiving/Wl/Profile/ProfileCreateModel.php +++ b/WellnessLiving/Wl/Profile/ProfileCreateModel.php @@ -6,8 +6,6 @@ /** * Creates user profile with minimum fields. - * - * @sdk */ class ProfileCreateModel extends WlModelAbstract { diff --git a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php index 7f4afcd8..7384697b 100644 --- a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php +++ b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php @@ -163,8 +163,7 @@ class PageElementModel extends WlModelAbstract /** * Capacity of the service. - * - * <tt>null</tt> means that capacity is not set. + * <tt>null</tt> indicates that the capacity is not set. * * @get result * @var int|null @@ -366,7 +365,7 @@ class PageElementModel extends WlModelAbstract public $uid; /** - * Image url of the service or resource. + * URL of the image representing the service or resource. * * @get result * @var string diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 76fb8c71..5659dbf8 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241112.373241'; + const VERSION='20241113.373448'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From ae495dd662262122a05333f4c38870a3a81d1432 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Wed, 13 Nov 2024 20:15:14 +0000 Subject: [PATCH 70/71] Automatic upgrade of the SDK. Build #373612. --- WellnessLiving/Core/Drive/DriveTypeSid.php | 31 ++++ .../ImageUpload/ImageUploadTemporaryModel.php | 3 +- WellnessLiving/Core/Geo/ComboboxModel.php | 3 + .../Core/Geo/Region/RegionModel.php | 3 +- WellnessLiving/Core/Locale/CurrencySid.php | 94 +++++++++++ WellnessLiving/Core/Locale/LocaleSid.php | 88 ++++++++++ WellnessLiving/Core/Sid/SortOrderSid.php | 21 +++ WellnessLiving/Core/Sid/YesNoSid.php | 21 +++ .../Studio/Ip/Service/EditModel.php | 4 + .../Studio/Ip/Service/ServiceTimeoutSid.php | 33 ++++ .../Studio/Ip/Service/ServiceTypeSid.php | 44 +++++ .../Task/Branch/BranchDeleteModeSid.php | 26 +++ .../Studio/Task/Branch/BranchModel.php | 11 +- .../Studio/Task/Branch/BranchStatusSid.php | 43 +++++ .../Studio/Task/Branch/StandStatusSid.php | 53 ++++++ .../Generator/ReportGeneratorStatusSid.php | 93 +++++++++++ .../Wl/Announcement/AnnouncementListModel.php | 2 + .../Appointment/Book/Asset/AssetListModel.php | 9 +- .../Book/Asset/Service/ServiceModel.php | 3 + .../Appointment/Book/Finish/Finish47Model.php | 3 +- .../Appointment/Book/Finish/FinishModel.php | 6 +- .../Book/Finish/FinishMultipleModel.php | 6 +- .../Appointment/Book/Payment/PaymentModel.php | 3 +- .../Book/Payment/PaymentMultipleModel.php | 6 +- .../Book/Payment/PaymentPostModel.php | 3 +- .../Book/Product/Product62Model.php | 2 + .../Book/Purchase/PurchaseModel.php | 3 +- .../Book/Service/ServiceList52Model.php | 3 +- .../Book/Service/ServiceListModel.php | 3 +- .../Wl/Book/Process/Frequency/RepeatModel.php | 3 + .../Wl/Book/Process/Info/Info54Model.php | 6 +- .../Wl/Book/Process/Info/InfoModel.php | 3 +- .../Wl/Book/Process/Payment/PaymentModel.php | 3 +- .../Wl/Book/Process/Process54Model.php | 9 +- .../Wl/Book/Process/Process59Model.php | 7 +- .../Wl/Book/Process/ProcessModel.php | 4 +- .../Wl/Book/Process/ProcessSpaSid.php | 102 +++++++++++ .../Book/Process/Purchase/Purchase56Model.php | 3 +- .../Book/Process/Purchase/PurchaseModel.php | 3 +- .../Wl/Book/Process/Quiz/QuizModel.php | 3 +- .../Book/Process/Resource/Resource54Model.php | 6 +- .../Book/Process/Resource/ResourceModel.php | 3 +- .../Wl/Book/Process/Store/StoreModel.php | 3 +- WellnessLiving/Wl/Business/BusinessModel.php | 2 + WellnessLiving/Wl/Business/DataModel.php | 4 + .../BusinessFranchiseLocationFormSid.php | 41 +++++ .../BusinessFranchiseLocationModel.php | 4 + .../Location/BusinessFranchiseLocationSid.php | 34 ++++ .../CatalogList/CatalogProductModel.php | 7 +- .../Wl/Catalog/CatalogList/ElementModel.php | 5 +- .../Wl/Catalog/Payment/PaymentModel.php | 3 +- .../Wl/Catalog/PurchaseOptionViewSid.php | 65 +++++++ .../StaffApp/CatalogList/CatalogListModel.php | 3 +- .../Wl/Classes/Period/Clients/Model.php | 3 +- WellnessLiving/Wl/Classes/RequirePaySid.php | 32 ++++ WellnessLiving/Wl/Classes/Tab/TabSid.php | 33 ++++ WellnessLiving/Wl/Collector/DebtListModel.php | 3 +- WellnessLiving/Wl/Collector/DebtPayModel.php | 2 + .../Wl/Coupon/CouponList/ListModel.php | 3 +- .../Wl/Coupon/PurchaseRestrictionSid.php | 28 ++++ WellnessLiving/Wl/Coupon/WlTypeSid.php | 30 ++++ .../Wl/Event/Book/EventView/ElementModel.php | 3 +- WellnessLiving/Wl/Event/EventListModel.php | 7 +- WellnessLiving/Wl/Field/WlFieldGeneralSid.php | 4 +- .../Autymate/AutymateAccessModeSid.php | 21 +++ .../Autymate/AutymateActivateModel.php | 4 + .../Autymate/AutymateStatusSid.php | 21 +++ .../Wl/Login/Attendance/Add/AddModel.php | 7 +- .../Wl/Login/Attendance/AddOptionSid.php | 26 +++ .../Attendance/AttendanceInfoByTokenModel.php | 3 +- .../Login/Attendance/AttendanceInfoModel.php | 3 +- .../Attendance/AttendanceListByTokenModel.php | 3 +- .../Login/Attendance/AttendanceListModel.php | 3 +- .../Login/Promotion/Convert/ConvertModel.php | 5 +- .../Promotion/Convert/ConvertWhenSid.php | 31 ++++ .../Wl/Login/Type/LoginTypeModel.php | 2 +- WellnessLiving/Wl/Login/Type/SystemSid.php | 31 ++++ WellnessLiving/Wl/Mode/ModeSid.php | 140 ++++++++++++++++ .../Wl/Pay/Account/AccountModel.php | 3 +- .../Wl/Pay/Account/Charge/ChargeModel.php | 3 +- .../Wl/Pay/Form/EnvironmentModel.php | 2 + .../Wl/Profile/Activity/ElementModel.php | 3 +- .../Wl/Profile/Edit/EditByTokenModel.php | 4 +- WellnessLiving/Wl/Profile/Edit/EditModel.php | 4 +- .../Form/Response/ResponseListModel.php | 5 +- .../Wl/Profile/RegisterSourceSid.php | 28 ++++ .../Promotion/Convert/PromotionConvertSid.php | 28 ++++ .../Wl/Promotion/Edit/Limit/Cycle/Sid.php | 21 +++ .../Promotion/Index/PromotionIndexModel.php | 3 +- WellnessLiving/Wl/Quiz/Response/SourceSid.php | 50 ++++++ .../Wl/Resource/Image/ImageIconSid.php | 158 ++++++++++++++++++ .../Wl/Resource/Image/ImageShapeSid.php | 31 ++++ .../Wl/Resource/Layout/LayoutModel.php | 17 +- .../Wl/Resource/Layout/LayoutShapeSid.php | 26 +++ .../Wl/Review/ReviewList/ReviewListModel.php | 4 +- .../Wl/Review/ReviewList/ReviewOrderSid.php | 31 ++++ .../Wl/Schedule/Design/OptionSid.php | 28 ++++ .../Wl/Schedule/Page/PageElementModel.php | 11 +- .../Wl/Schedule/Page/WlVisitNoteSid.php | 21 +++ .../StaffApp/ScheduleListByTokenModel.php | 6 +- .../StaffApp/ScheduleListModel.php | 6 +- WellnessLiving/Wl/Schedule/Tab/TabModel.php | 4 +- .../Wl/Service/ServiceBookFlowSid.php | 26 +++ .../Shop/Product/PurchaseRestrictionSid.php | 28 ++++ .../Catalog/Filter/Sort/FilterSortSid.php | 41 +++++ WellnessLiving/Wl/Video/VideoElementModel.php | 4 + WellnessLiving/Wl/Video/VideoListModel.php | 6 +- WellnessLiving/Wl/Video/Watch/WatchModel.php | 1 + .../Wl/Video/Watch/WatchSourceSid.php | 35 ++++ .../Wl/Virtual/VirtualProviderSid.php | 23 +++ WellnessLiving/Wl/Visit/VisitStatusModel.php | 6 +- WellnessLiving/Wl/Visit/WlVisitSid.php | 60 +++++++ WellnessLiving/Wl/WlDesignIconSid.php | 69 ++++++++ WellnessLiving/WlModelRequest.php | 2 +- 114 files changed, 2111 insertions(+), 84 deletions(-) create mode 100644 WellnessLiving/Core/Drive/DriveTypeSid.php create mode 100644 WellnessLiving/Core/Locale/CurrencySid.php create mode 100644 WellnessLiving/Core/Locale/LocaleSid.php create mode 100644 WellnessLiving/Core/Sid/SortOrderSid.php create mode 100644 WellnessLiving/Core/Sid/YesNoSid.php create mode 100644 WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php create mode 100644 WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php create mode 100644 WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php create mode 100644 WellnessLiving/Studio/Task/Branch/BranchStatusSid.php create mode 100644 WellnessLiving/Studio/Task/Branch/StandStatusSid.php create mode 100644 WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php create mode 100644 WellnessLiving/Wl/Book/Process/ProcessSpaSid.php create mode 100644 WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php create mode 100644 WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php create mode 100644 WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php create mode 100644 WellnessLiving/Wl/Classes/RequirePaySid.php create mode 100644 WellnessLiving/Wl/Classes/Tab/TabSid.php create mode 100644 WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php create mode 100644 WellnessLiving/Wl/Coupon/WlTypeSid.php create mode 100644 WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php create mode 100644 WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php create mode 100644 WellnessLiving/Wl/Login/Attendance/AddOptionSid.php create mode 100644 WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php create mode 100644 WellnessLiving/Wl/Login/Type/SystemSid.php create mode 100644 WellnessLiving/Wl/Mode/ModeSid.php create mode 100644 WellnessLiving/Wl/Profile/RegisterSourceSid.php create mode 100644 WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php create mode 100644 WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php create mode 100644 WellnessLiving/Wl/Quiz/Response/SourceSid.php create mode 100644 WellnessLiving/Wl/Resource/Image/ImageIconSid.php create mode 100644 WellnessLiving/Wl/Resource/Image/ImageShapeSid.php create mode 100644 WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php create mode 100644 WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php create mode 100644 WellnessLiving/Wl/Schedule/Design/OptionSid.php create mode 100644 WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php create mode 100644 WellnessLiving/Wl/Service/ServiceBookFlowSid.php create mode 100644 WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php create mode 100644 WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php create mode 100644 WellnessLiving/Wl/Video/Watch/WatchSourceSid.php create mode 100644 WellnessLiving/Wl/Virtual/VirtualProviderSid.php create mode 100644 WellnessLiving/Wl/Visit/WlVisitSid.php create mode 100644 WellnessLiving/Wl/WlDesignIconSid.php diff --git a/WellnessLiving/Core/Drive/DriveTypeSid.php b/WellnessLiving/Core/Drive/DriveTypeSid.php new file mode 100644 index 00000000..3e1a284a --- /dev/null +++ b/WellnessLiving/Core/Drive/DriveTypeSid.php @@ -0,0 +1,31 @@ +<?php + +namespace WellnessLiving\Core\Drive; + +/** + * List of image types. + */ +class DriveTypeSid +{ + /** + * Bmp image. + */ + const BMP = 4; + + /** + * Gif image. + */ + const GIF = 1; + + /** + * Jpeg image. + */ + const JPEG = 2; + + /** + * Png image. + */ + const PNG = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php index dbd9a331..4b7a02f6 100644 --- a/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php +++ b/WellnessLiving/Core/Drive/ImageUpload/ImageUploadTemporaryModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Core\Drive\ImageUpload; +use WellnessLiving\Core\Drive\DriveTypeSid; use WellnessLiving\WlFile; use WellnessLiving\WlModelAbstract; @@ -69,7 +70,7 @@ class ImageUploadTemporaryModel extends WlModelAbstract public $i_width_src; /** - * The image type ID. + * The image type ID. One of the {@link DriveTypeSid} constants. * * @post result * @var int diff --git a/WellnessLiving/Core/Geo/ComboboxModel.php b/WellnessLiving/Core/Geo/ComboboxModel.php index eb93cf28..98c3fc4b 100644 --- a/WellnessLiving/Core/Geo/ComboboxModel.php +++ b/WellnessLiving/Core/Geo/ComboboxModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Core\Geo; +use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; /** @@ -28,6 +29,8 @@ class ComboboxModel extends WlModelAbstract /** * The locale ID used as a filter. The locale is generally a country. * + * One of the {@link LocaleSid} constants. + * * This will be `0` if all locations are searched. * * @get get diff --git a/WellnessLiving/Core/Geo/Region/RegionModel.php b/WellnessLiving/Core/Geo/Region/RegionModel.php index 3a415b49..e96aa578 100644 --- a/WellnessLiving/Core/Geo/Region/RegionModel.php +++ b/WellnessLiving/Core/Geo/Region/RegionModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Core\Geo\Region; +use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; /** @@ -52,7 +53,7 @@ class RegionModel extends WlModelAbstract public $a_region; /** - * The locale ID to find regions for. + * The locale ID to find regions for. One of the {@link LocaleSid} constants. * * @get get * @var int diff --git a/WellnessLiving/Core/Locale/CurrencySid.php b/WellnessLiving/Core/Locale/CurrencySid.php new file mode 100644 index 00000000..ae8f93b0 --- /dev/null +++ b/WellnessLiving/Core/Locale/CurrencySid.php @@ -0,0 +1,94 @@ +<?php + +namespace WellnessLiving\Core\Locale; + +/** + * A list of currencies. + * + * Currency constant names must comply with the standard `ISO 4217` for correct integration with other services. + * + * @link https://docs.1010data.com/1010dataReferenceManual/DataTypesAndFormats/currencyUnitCodes.html + * + * Last used ID: 16 + */ +abstract class CurrencySid +{ + /** + * United Arab Emirates dirham. + */ + const AED = 11; + + /** + * Australian dollar. + */ + const AUD = 6; + + /** + * Canadian dollar. + */ + const CAD = 4; + + /** + * Egypt Pound. + */ + const EGP = 8; + + /** + * Euro. + */ + const EUR = 13; + + /** + * British pound. + */ + const GBP = 3; + + /** + * Kuwaiti dinar. + */ + const KWD = 14; + + /** + * Cayman Islands dollar. + */ + const KYD = 5; + + /** + * Mauritian Rupee. + */ + const MUR = 16; + + /** + * New Zealand Dollar. + */ + const NZD = 10; + + /** + * Philippines Pesco. + */ + const PHP = 12; + + /** + * Saudi Riyal. + */ + const SAR = 15; + + /** + * Unknown code. + * + * Used when currency is not specified or is not known. + */ + const UNKNOWN = 2; + + /** + * US dollars. + */ + const USD = 1; + + /** + * South African rand. + */ + const ZAR = 7; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Core/Locale/LocaleSid.php b/WellnessLiving/Core/Locale/LocaleSid.php new file mode 100644 index 00000000..87346886 --- /dev/null +++ b/WellnessLiving/Core/Locale/LocaleSid.php @@ -0,0 +1,88 @@ +<?php + +namespace WellnessLiving\Core\Locale; + +/** + * A list of locales. + * + * Last used ID: 16 + */ +abstract class LocaleSid +{ + /** + * Australia. + */ + const AUSTRALIA = 4; + + /** + * Canada. + */ + const CANADA = 2; + + /** + * Cayman Islands. + */ + const CAYMAN = 5; + + /** + * Cyprus. + */ + const CYPRUS = 13; + + /** + * Egypt. + */ + const EGYPT = 8; + + /** + * Kuwait + */ + const KUWAIT = 14; + + /** + * Republic of Mauritius. + */ + const MAURITIUS = 16; + + /** + * A special locale that can be used for testing or a business situated in an unknown region. + */ + const NEVERLAND = 9; + + /** + * New Zealand. + */ + const NEW_ZEALAND = 10; + + /** + * Philippines. + */ + const PHILIPPINES = 12; + + /** + * Saudi Arabia. + */ + const SAUDI_ARABIA = 15; + + /** + * South Africa. + */ + const SOUTH_AFRICA = 6; + + /** + * United Arab Emirates. + */ + const UAE = 11; + + /** + * United Kingdom. + */ + const UK = 3; + + /** + * United States of America. + */ + const USA = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Core/Sid/SortOrderSid.php b/WellnessLiving/Core/Sid/SortOrderSid.php new file mode 100644 index 00000000..8dbec01b --- /dev/null +++ b/WellnessLiving/Core/Sid/SortOrderSid.php @@ -0,0 +1,21 @@ +<?php + +namespace WellnessLiving\Core\Sid; + +/** + * List of possible sort order. + */ +class SortOrderSid +{ + /** + * Ascending order. + */ + const ASC = 2; + + /** + * Descending order. + */ + const DESC = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Core/Sid/YesNoSid.php b/WellnessLiving/Core/Sid/YesNoSid.php new file mode 100644 index 00000000..a61662bd --- /dev/null +++ b/WellnessLiving/Core/Sid/YesNoSid.php @@ -0,0 +1,21 @@ +<?php + +namespace WellnessLiving\Core\Sid; + +/** + * A list of two answers for any question: Yes or No. + */ +class YesNoSid +{ + /** + * The answer is "no". + */ + const NO = 2; + + /** + * The answer is "yes". + */ + const YES = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Ip/Service/EditModel.php b/WellnessLiving/Studio/Ip/Service/EditModel.php index 75366871..5219bc6d 100644 --- a/WellnessLiving/Studio/Ip/Service/EditModel.php +++ b/WellnessLiving/Studio/Ip/Service/EditModel.php @@ -12,6 +12,8 @@ class EditModel extends WlModelAbstract /** * Timeout of the service. * + * One of {@link ServiceTimeoutSid} constants. + * * @get result * @post post * @var int @@ -21,6 +23,8 @@ class EditModel extends WlModelAbstract /** * Type of the service. * + * One of {@link ServiceTypeSid} constants. + * * @get result * @post post * @var int diff --git a/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php b/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php new file mode 100644 index 00000000..3bb3ed51 --- /dev/null +++ b/WellnessLiving/Studio/Ip/Service/ServiceTimeoutSid.php @@ -0,0 +1,33 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Service; + +/** + * Time during which access by IP address is granted to personnel. + * + * Minimum between two values is used. + */ +abstract class ServiceTimeoutSid +{ + /** + * Sensitive services that may require much work. + */ + const DAY = 2; + + /** + * Sensitive services that are used very rare. + */ + const HOUR = 1; + + /** + * Services that are not sensitive. + */ + const MONTH = 4; + + /** + * Not that sensitive services. + */ + const WEEK = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php b/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php new file mode 100644 index 00000000..a9e9f75c --- /dev/null +++ b/WellnessLiving/Studio/Ip/Service/ServiceTypeSid.php @@ -0,0 +1,44 @@ +<?php + +namespace WellnessLiving\Studio\Ip\Service; + +/** + * A list of service types to which access by IP address can be managed. + */ +abstract class ServiceTypeSid +{ + /** + * Amazon security group. + * + * @title Amazon Security Group + */ + const AMAZON_GROUP = 5; + + /** + * Amazon IAM user. + * + * @title Amazon IAM user + */ + const AMAZON_IAM = 6; + + /** + * Amazon RDS security group. + */ + const AMAZON_RDS = 1; + + /** + * Access over SSH protocol. + * + * @title Access over SSH + */ + const SSH = 2; + + /** + * Access to SVN repository. + * + * @title Access to SVN repository + */ + const SVN = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php b/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php new file mode 100644 index 00000000..2dcb47d3 --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/BranchDeleteModeSid.php @@ -0,0 +1,26 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +/** + * List of the available modes for <tt>BranchDelete</tt> build. + */ +class BranchDeleteModeSid +{ + /** + * Deleting branch without merging changes. + */ + const DELETE_NO_MERGE = 3; + + /** + * Changes are merged. Branch is not deleted. + */ + const MERGE_ONLY = 2; + + /** + * Deleting branch with merging changes. + */ + const STANDARD = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/BranchModel.php b/WellnessLiving/Studio/Task/Branch/BranchModel.php index 659328d6..f392469d 100644 --- a/WellnessLiving/Studio/Task/Branch/BranchModel.php +++ b/WellnessLiving/Studio/Task/Branch/BranchModel.php @@ -11,10 +11,13 @@ class BranchModel extends WlModelAbstract { /** * Information about entities necessary for the functioning of the stand. + * Has an arbitrary structure. + * + * `null` if not initialized and will be ignored. * * @get result * @put get - * @var array|string|null + * @var array|null */ public $a_stand_data = null; @@ -27,6 +30,10 @@ class BranchModel extends WlModelAbstract public $id_build_mode = 1; /** + * Stand status, one of {@link StandStatusSid}. + * + * `null` if not initialized and will be ignored. + * * @get get,result * @put get * @var int|null @@ -34,6 +41,8 @@ class BranchModel extends WlModelAbstract public $id_stand_status = null; /** + * Branch status, one of {@link BranchStatusSid}. + * * @get result * @var int|null */ diff --git a/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php b/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php new file mode 100644 index 00000000..7d84e7a2 --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/BranchStatusSid.php @@ -0,0 +1,43 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +/** + * Branch statuses. + * + * Last used ID: 3. + */ +class BranchStatusSid +{ + /** + * The branch and all related things (catalogs in the repository, site) are being created now. + * + * This action is triggered from the task page on the Studio. + * + * The branch in this status may be transitioned to: + * * {@link BranchStatusSid::READY} in a case when creation is successfully completed; + * * {@link BranchStatusSid::DELETING} in a case when creation is not completed and the branch + * should be deleted before repeatedly creation. + */ + const CREATING = 1; + + /** + * The branch and all related things (catalogs in the repository, site) are being deleted now. + * + * This action is triggered from the task page on the Studio. + * + * The branch in this status may be only deleted from the database. + */ + const DELETING = 3; + + /** + * The branch and all related things (catalogs in the repository, site) are ready to use. + * + * This action is triggered from <tt>BranchCreate</tt> build. + * + * The branch in this status may be transitioned only to {@link BranchStatusSid::DELETING}. + */ + const READY = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Studio/Task/Branch/StandStatusSid.php b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php new file mode 100644 index 00000000..9c37964e --- /dev/null +++ b/WellnessLiving/Studio/Task/Branch/StandStatusSid.php @@ -0,0 +1,53 @@ +<?php + +namespace WellnessLiving\Studio\Task\Branch; + +/** + * Stand statuses. + * + * Last used ID: 5. + */ +class StandStatusSid +{ + /** + * Stand is in creation process. + * + * The stand in this status may be transitioned to: + * * * {@link StandStatusSid::READY} in a case when creation is successfully completed. + * * * {@link StandStatusSid::ERROR} in a case when creation was failed with error. + */ + const CREATION = 2; + + /** + * Stand is in deletion process. + * + * The stand in this status may be transitioned to: + * * * {@link StandStatusSid::NOT_EXIST} in a case when deletion is successfully completed. + * * * {@link StandStatusSid::ERROR} in a case when deletion was failed with error. + */ + const DELETION = 4; + + /** + * Creating or deleting a stand resulted in an error + * + * The stand in this status may be transitioned to: + * * * {@link StandStatusSid::NOT_EXIST} if the creation or deletion process has not been completed, we must delete the stand. + */ + const ERROR = 5; + + /** + * Stand has not been created. + * + * The stand in this status may be transitioned only to {@link StandStatusSid::CREATION}. + */ + const NOT_EXIST = 1; + + /** + * Stand was created and ready for use. + * + * The stand in this status may be transitioned only to {@link StandStatusSid::DELETION}. + */ + const READY = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php new file mode 100644 index 00000000..75020784 --- /dev/null +++ b/WellnessLiving/Thoth/ReportCore/Generator/ReportGeneratorStatusSid.php @@ -0,0 +1,93 @@ +<?php + +namespace WellnessLiving\Thoth\ReportCore\Generator; + +/** + * Lists statuses of reports from point of view of its generation. + */ +class ReportGeneratorStatusSid +{ + /** + * Report is in an inconsistent state. + * + * There was an aborted operation which means this report is available partially. + * + * The following transitions are possible: + * + * * `ABORTED` => `DELETING` when a background task finds that this report is old and should be deleted. + * + * * `ABORTED` => `QUEUED` if user clicks to regenerate this report + */ + const ABORTED = 6; + + /** + * Current operation is being aborted now. + * + * The following transitions are possible: + * + * * `ABORTING` => `ABORTED` when current operation completes. + * This transition is performed in two places: before the beginning of the actual generation, + * and after completion of the generation. + */ + const ABORTING = 5; + + /** + * This report is being deleted now. + * + * The following transitions are possible: + * + * * `DELETING` => (report does not exist anymore) when deletion of this report completes. + */ + const DELETING = 4; + + /** + * This report is being generated now. + * + * This status is set when report is generated from zero point. + * This status basically means that not all partition of the report present. + * It also means that all partitions that exist have the newest values. + * + * All new reports are created in this status. + * + * The following transitions are possible: + * + * * `GENERATING` => `ABORTING` when generation of this report aborted by user. + * * `GENERATING` => `READY` when generation of this report completes. + * This transition is performed when generation completes successfully. + */ + const GENERATING = 2; + + /** + * Generation of this report is queued. + * It will start automatically when generation of other reports completes. + * + * The following transitions are possible: + * + * * `QUEUED` => (report does not exist anymore) If generation of this report was aborted while no data was generated. + * * `QUEUED` => `ABORTED` If generation of this report was aborted while there is data from previous generation of + * this report. + * + * This transition also occurs if a report stayed in the queue more than the set duration and + * there is some data left from the previous generation of this report. + * * `QUEUED` => `GENERATING` when there is a free thread slot to start generation of this report immediately. + */ + const QUEUED = 1; + + /** + * Generation of this report is now completed. + * + * The following transitions are possible: + * + * * `READY` => `DELETING` when a background tasks identifies that this report is old and starts deleting it. + * + * * `READY` => `QUEUED` when user clicks to regenerate this report + */ + const READY = 3; + + /** + * @inheritDoc + */ + const _TRANSLATION_CONTEXT = 'Wl.Report.Generator.ReportGeneratorStatusSid'; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Announcement/AnnouncementListModel.php b/WellnessLiving/Wl/Announcement/AnnouncementListModel.php index ca9378cb..2b82a5f2 100644 --- a/WellnessLiving/Wl/Announcement/AnnouncementListModel.php +++ b/WellnessLiving/Wl/Announcement/AnnouncementListModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Announcement; +use WellnessLiving\Core\Sid\SortOrderSid; use WellnessLiving\WlModelAbstract; /** @@ -26,6 +27,7 @@ class AnnouncementListModel extends WlModelAbstract * * @get get,result * @var int|null + * @see SortOrderSid */ public $id_order = null; diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php index 6bd4b38b..585fbf8b 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/AssetListModel.php @@ -3,6 +3,9 @@ namespace WellnessLiving\Wl\Appointment\Book\Asset; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Resource\Image\ImageIconSid; +use WellnessLiving\Wl\Resource\Image\ImageShapeSid; use WellnessLiving\Wl\Service\ServicePriceSid; use WellnessLiving\Wl\Service\ServiceRequireSid; @@ -56,9 +59,9 @@ class AssetListModel extends WlModelAbstract * <dt>bool <var>is_empty</var></dt> * <dd>Determines if the asset logo is empty.</dd> * <dt>string <var>sid_image_icon</var></dt> - * <dd>The icon name. This is only set if the image kind equals to `image`.</dd> + * <dd>The icon name. String representation of one of the {@link ImageIconSid} constants. This is only set if the image kind equals to `image`.</dd> * <dt>string <var>sid_image_shape</var></dt> - * <dd>The shape name. This is set only if the image kind equals to `shape`.</dd> + * <dd>The shape name. String representation of one of the {@link ImageShapeSid} constants. This is set only if the image kind equals to `shape`.</dd> * <dt>string <var>url</var></dt> * <dd>The asset logo URL.</dd> * </dl> @@ -153,6 +156,8 @@ class AssetListModel extends WlModelAbstract public $i_image_width = 0; /** + * Mode type, one of {@link ModeSid} constants. + * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php b/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php index 92e71a8e..36af95e1 100644 --- a/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Asset/Service/ServiceModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Appointment\Book\Asset\Service; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; /** * Retrieves assets that are required for a service booking. @@ -102,6 +103,8 @@ class ServiceModel extends WlModelAbstract public $dt_start = ''; /** + * Mode type, one of {@link ModeSid} constants. + * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php b/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php index c213a235..8d5455f6 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/Finish47Model.php @@ -5,6 +5,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\Book\Question\QuestionModel; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -139,7 +140,7 @@ class Finish47Model extends WlModelAbstract public $a_visit = null; /** - * The booking mode ID. + * The booking mode ID. One of the {@link ModeSid} constants. * * @post post * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php b/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php index 3ca75bb4..b4deffae 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/FinishModel.php @@ -8,6 +8,8 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\Book\Question\QuestionModel; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Classes\Tab\TabSid; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -146,7 +148,7 @@ class FinishModel extends WlModelAbstract * int <var>id_class_tab</var> * </dt> * <dd> - * The booking service type. + * The booking service type. One of the {@link TabSid} constants. * </dd> * <dt> * int [<var>id_gender_staff</var>] @@ -298,7 +300,7 @@ class FinishModel extends WlModelAbstract public $a_visit; /** - * The booking mode ID. + * The booking mode ID. One of the {@link ModeSid} constants. * * @post post * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php index db76a98e..101f76f8 100644 --- a/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Finish/FinishMultipleModel.php @@ -7,6 +7,8 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; +use WellnessLiving\Wl\Classes\Tab\TabSid; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -138,7 +140,7 @@ class FinishMultipleModel extends WlModelAbstract * int <var>id_class_tab</var> * </dt> * <dd> - * The booking service type. + * The booking service type. One of the {@link TabSid} constants. * </dd> * <dt> * int [<var>id_gender_staff</var>] @@ -311,7 +313,7 @@ class FinishMultipleModel extends WlModelAbstract public $a_visit_provider = []; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @post post * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php index f14c5b3b..3af4b216 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentModel.php @@ -5,6 +5,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\Service\ServicePriceSid; @@ -252,7 +253,7 @@ class PaymentModel extends WlModelAbstract public $a_uid = []; /** - * The key of source mode. + * The key of source mode. A constant of {@link ModeSid}. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php index 02720c29..3e8b67f0 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentMultipleModel.php @@ -5,6 +5,8 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Classes\Tab\TabSid; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -117,7 +119,7 @@ class PaymentMultipleModel extends WlModelAbstract * int <var>id_class_tab</var> * </dt> * <dd> - * The "Book now" tab. + * The "Book now" tab. One of the {@link TabSid} constants. * </dd> * <dt> * string <var>m_tip_appointment</var> @@ -428,7 +430,7 @@ class PaymentMultipleModel extends WlModelAbstract public $a_uid = []; /** - * The ID of the source mode. + * The ID of the source mode. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php index 5920280f..9853c161 100644 --- a/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Payment/PaymentPostModel.php @@ -5,6 +5,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Appointment\WlAppointmentPaySid; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\Service\ServicePriceSid; @@ -249,7 +250,7 @@ class PaymentPostModel extends WlModelAbstract public $a_uid = []; /** - * The key of source mode. + * The key of source mode. A constant of {@link ModeSid}. * * @get get * @post get diff --git a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php index 065f8654..3cb8633d 100644 --- a/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Product/Product62Model.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Appointment\Book\Product; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Shop\Product\PurchaseRestrictionSid; /** * Returns information about service add-ons. @@ -38,6 +39,7 @@ class Product62Model extends WlModelAbstract /** * The key of a user to show information for. * + * Products with a {@link PurchaseRestrictionSid::TYPE} restriction will be filtered out. * Only those products that match the client type or those that have no restrictions will be shown. * * `null` if the client is not logged in. diff --git a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php index dceb0db7..89227bf9 100644 --- a/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Purchase/PurchaseModel.php @@ -4,6 +4,7 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlProgramCategorySid; use WellnessLiving\Wl\WlProgramSid; @@ -499,7 +500,7 @@ class PurchaseModel extends WlModelAbstract public $i_width = 0; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @var int diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php index fc820596..f146b339 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceList52Model.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Appointment\Book\Service; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Service\ServiceBookFlowSid; use WellnessLiving\Wl\Service\ServicePriceSid; use WellnessLiving\Wl\Service\ServiceRequireSid; @@ -150,7 +151,7 @@ class ServiceList52Model extends WlModelAbstract * int <var>id_book_flow</var> * </dt> * <dd> - * The type of client booking flow. + * The type of client booking flow. One of {@link ServiceBookFlowSid} constants. * </dd> * <dt> * int <var>id_service_require</var> diff --git a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php index f8b1b8da..b220abd5 100644 --- a/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php +++ b/WellnessLiving/Wl/Appointment/Book/Service/ServiceListModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Appointment\Book\Service; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Service\ServiceBookFlowSid; use WellnessLiving\Wl\Service\ServicePriceSid; use WellnessLiving\Wl\Service\ServiceRequireSid; @@ -149,7 +150,7 @@ class ServiceListModel extends WlModelAbstract * int <var>id_book_flow</var> * </dt> * <dd> - * The type of client booking flow. + * The type of client booking flow. One of {@link ServiceBookFlowSid} constants. * </dd> * <dt> * int <var>id_service_require</var> diff --git a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php index bb22537c..4e273184 100644 --- a/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php +++ b/WellnessLiving/Wl/Book/Process/Frequency/RepeatModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; /** * For recurrent class booking returns list of visits to be created for the given settings. @@ -109,6 +110,8 @@ class RepeatModel extends WlModelAbstract public $id_duration = 0; /** + * WellnessLiving mode, one of {@link ModeSid} constants. + * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php index e70423e5..3af1f388 100644 --- a/WellnessLiving/Wl/Book/Process/Info/Info54Model.php +++ b/WellnessLiving/Wl/Book/Process/Info/Info54Model.php @@ -5,9 +5,13 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Book\Process\ProcessSpaSid; +use WellnessLiving\Wl\Mode\ModeSid; /** * Offers functionality for the class booking wizard on the "Class and Location" page. + * + * When using this endpoint, take into account the {@link ProcessSpaSid::QUIZ} step. */ class Info54Model extends WlModelAbstract { @@ -380,7 +384,7 @@ class Info54Model extends WlModelAbstract public $i_wait_spot = 0; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php index 74589c78..f2a3596c 100644 --- a/WellnessLiving/Wl/Book/Process/Info/InfoModel.php +++ b/WellnessLiving/Wl/Book/Process/Info/InfoModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; /** * Offers functionality for the class booking wizard on the "Class and Location" page. @@ -382,7 +383,7 @@ class InfoModel extends WlModelAbstract public $i_wait_spot = 0; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php index a20e1b53..6afee7ca 100644 --- a/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Book/Process/Payment/PaymentModel.php @@ -6,6 +6,7 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -310,7 +311,7 @@ class PaymentModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Process54Model.php b/WellnessLiving/Wl/Book/Process/Process54Model.php index caa56e88..ddc025b2 100644 --- a/WellnessLiving/Wl/Book/Process/Process54Model.php +++ b/WellnessLiving/Wl/Book/Process/Process54Model.php @@ -5,11 +5,15 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; +use WellnessLiving\Wl\Mode\ModeSid; /** * Performs the booking wizard steps. * + * Include the {@link ProcessSpaSid::QUIZ} step, if needed. + * * @deprecated Use {@link Process59Model} instead. */ class Process54Model extends WlModelAbstract @@ -33,7 +37,7 @@ class Process54Model extends WlModelAbstract * int <var>id_book_process</var> * </dt> * <dd> - * The step ID. + * The step ID. One of the {@link ProcessSpaSid} constants. * </dd> * <dt> * bool [<var>is_current</var>] @@ -128,7 +132,7 @@ class Process54Model extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get @@ -138,6 +142,7 @@ class Process54Model extends WlModelAbstract /** * The purchase rule ID. + * One of the {@link RequirePaySid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Book/Process/Process59Model.php b/WellnessLiving/Wl/Book/Process/Process59Model.php index 54e412f7..a4ac5bb4 100644 --- a/WellnessLiving/Wl/Book/Process/Process59Model.php +++ b/WellnessLiving/Wl/Book/Process/Process59Model.php @@ -5,7 +5,9 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; +use WellnessLiving\Wl\Mode\ModeSid; /** * Performs the booking wizard steps. @@ -34,7 +36,7 @@ class Process59Model extends WlModelAbstract * int <var>id_book_process</var> * </dt> * <dd> - * The step ID. + * The step ID. One of the {@link ProcessSpaSid} constants. * </dd> * <dt> * bool [<var>is_current</var>] @@ -129,7 +131,7 @@ class Process59Model extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get @@ -139,6 +141,7 @@ class Process59Model extends WlModelAbstract /** * The purchase rule ID. + * One of the {@link RequirePaySid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Book/Process/ProcessModel.php b/WellnessLiving/Wl/Book/Process/ProcessModel.php index 87629170..de0c5f65 100644 --- a/WellnessLiving/Wl/Book/Process/ProcessModel.php +++ b/WellnessLiving/Wl/Book/Process/ProcessModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Classes\RequirePaySid; use WellnessLiving\Wl\Family\Relation\WlFamilyRelationSid; /** @@ -33,7 +34,7 @@ class ProcessModel extends WlModelAbstract * int <var>id_book_process</var> * </dt> * <dd> - * The step ID. + * The step ID. One of the {@link ProcessSpaSid} constants. * </dd> * <dt> * bool [<var>is_current</var>] @@ -138,6 +139,7 @@ class ProcessModel extends WlModelAbstract /** * The purchase rule ID. + * One of the {@link RequirePaySid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php b/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php new file mode 100644 index 00000000..80e72e19 --- /dev/null +++ b/WellnessLiving/Wl/Book/Process/ProcessSpaSid.php @@ -0,0 +1,102 @@ +<?php + +namespace WellnessLiving\Wl\Book\Process; + +/** + * Event booking process sid class + * + * Last used ID: 12. + */ +abstract class ProcessSpaSid +{ + /** + * Step "Class details". + * + * Special step - a container for combining other steps. + * + * This constant has been added to the SID class to match the steps interface in JS. + * + * Adding a step to the queue is done on the client side (in JS). + * + * Designed for Client Web View. + */ + const DETAIL = 10; + + /** + * Step "Documents". + * + * Special step - a container for combining other steps. + * + * This constant has been added to the SID class to match the steps interface in JS + * + * Adding a step to the queue is done on the client side (in JS). + * + * The list of steps that can be displayed on: + * * {@link ProcessSpaSid::QUIZ} + * * Purchase options contract + * + * Designed for Client Web View. + */ + const DOCUMENT = 8; + + /** + * Step "Frequency". + * It is necessary to select booking frequency. + * + * Designed for Client Web View. + */ + const FREQUENCY = 9; + + /** + * Information about the class. + * + * In the SPA app, this step combines the following steps: + * * {@link ProcessSpaSid::FREQUENCY} + * * {@link ProcessSpaSid::SESSION} + */ + const INFO = 2; + + /** + * Installment selection. + */ + const INSTALLMENT = 4; + + /** + * Sign in, Sign up, fill in all necessary account data. + */ + const PASSPORT = 1; + + /** + * Card data and the booking confirmation. + */ + const PAYMENT = 5; + + /** + * Quizzes attached to the class. + */ + const QUIZ = 7; + + /** + * Booking for. + */ + const RELATION = 12; + + /** + * Selection of assets. + */ + const RESOURCE = 6; + + /** + * Session selection step for a session event. + * + * Designed for Client Web View. + */ + const SESSION = 11; + + /** + * A list of possible Purchase Options to be bought. + */ + const STORE = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php index df3c299e..2b4831e9 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/Purchase56Model.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlProgramCategorySid; use WellnessLiving\Wl\WlProgramSid; @@ -363,7 +364,7 @@ class Purchase56Model extends WlModelAbstract public $i_image_width = 0; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php index 55151c3a..72b44bc4 100644 --- a/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php +++ b/WellnessLiving/Wl/Book/Process/Purchase/PurchaseModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlProgramCategorySid; use WellnessLiving\Wl\WlProgramSid; @@ -366,7 +367,7 @@ class PurchaseModel extends WlModelAbstract public $i_image_width = 0; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php index 3cac5216..995d9fb4 100644 --- a/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php +++ b/WellnessLiving/Wl/Book/Process/Quiz/QuizModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; /** @@ -186,7 +187,7 @@ class QuizModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php index 752d1c3f..33766c85 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php +++ b/WellnessLiving/Wl/Book/Process/Resource/Resource54Model.php @@ -5,9 +5,13 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Book\Process\ProcessSpaSid; +use WellnessLiving\Wl\Mode\ModeSid; /** * Selects assets when making a booking. + * + * Take note of the {@link ProcessSpaSid::QUIZ} step. */ class Resource54Model extends WlModelAbstract { @@ -247,7 +251,7 @@ class Resource54Model extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php index ad133a3f..de728de0 100644 --- a/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php +++ b/WellnessLiving/Wl/Book/Process/Resource/ResourceModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; /** * Selects assets for making a booking. @@ -249,7 +250,7 @@ class ResourceModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php index 601ce143..3d3640e6 100644 --- a/WellnessLiving/Wl/Book/Process/Store/StoreModel.php +++ b/WellnessLiving/Wl/Book/Process/Store/StoreModel.php @@ -6,6 +6,7 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Book\Process\Purchase\Purchase56Model; +use WellnessLiving\Wl\Mode\ModeSid; /** * Manages the booking wizard for the "Purchase Options" page. @@ -169,7 +170,7 @@ class StoreModel extends WlModelAbstract public $dt_date_gmt = ''; /** - * The mode type. + * The mode type. One of the {@link ModeSid} constants. * * @get get * @post get diff --git a/WellnessLiving/Wl/Business/BusinessModel.php b/WellnessLiving/Wl/Business/BusinessModel.php index 7df1257c..5a5c6825 100644 --- a/WellnessLiving/Wl/Business/BusinessModel.php +++ b/WellnessLiving/Wl/Business/BusinessModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Business; +use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; /** @@ -14,6 +15,7 @@ class BusinessModel extends WlModelAbstract * * @post post * @var int + * @see LocaleSid */ public $id_locale; diff --git a/WellnessLiving/Wl/Business/DataModel.php b/WellnessLiving/Wl/Business/DataModel.php index 9396fcec..dc89269b 100644 --- a/WellnessLiving/Wl/Business/DataModel.php +++ b/WellnessLiving/Wl/Business/DataModel.php @@ -2,6 +2,8 @@ namespace WellnessLiving\Wl\Business; +use WellnessLiving\Core\Locale\CurrencySid; +use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Service\ServiceSid; use WellnessLiving\Wl\WlRankTypeSid; @@ -60,6 +62,7 @@ class DataModel extends WlModelAbstract * * @get result * @var int + * @see CurrencySid */ public $id_currency; @@ -68,6 +71,7 @@ class DataModel extends WlModelAbstract * * @get result * @var int + * @see LocaleSid */ public $id_locale; diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php new file mode 100644 index 00000000..c862482b --- /dev/null +++ b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationFormSid.php @@ -0,0 +1,41 @@ +<?php + +namespace WellnessLiving\Wl\Business\Franchise\Location; + +/** + * A list tab. + * + * Last used ID: 4. + */ +class BusinessFranchiseLocationFormSid +{ + /** + * The tab country. + * + * @title country + */ + const COUNTRY = 1; + + /** + * The tab location. + * + * @title location + */ + const LOCATION = 2; + + /** + * The tab region. + * + * @title region + */ + const REGION = 3; + + /** + * The tab state/province. + * + * @title state/province + */ + const STATE_PROVINCE = 4; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php index d45ec91a..f5c67ee8 100644 --- a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php +++ b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationModel.php @@ -165,6 +165,10 @@ class BusinessFranchiseLocationModel extends WlModelAbstract /** * Determines which locations should be returned. * + * One of the {@link BusinessFranchiseLocationSid} constants. + * + * If `null`, {@link BusinessFranchiseLocationSid::ALL} is used. + * * @get get * @var int */ diff --git a/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php new file mode 100644 index 00000000..632addc3 --- /dev/null +++ b/WellnessLiving/Wl/Business/Franchise/Location/BusinessFranchiseLocationSid.php @@ -0,0 +1,34 @@ +<?php + +namespace WellnessLiving\Wl\Business\Franchise\Location; + +/** + * Types of the location. + * + * Used in the {@link BusinessFranchiseLocationModel}. + */ +class BusinessFranchiseLocationSid +{ + /** + * All locations. + * + * @title All + */ + const ALL = 1; + + /** + * Locations without the region. + * + * @title Without region + */ + const REGION_NO = 2; + + /** + * Location with the region. + * + * @title With region + */ + const REGION_YES = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php index 3a4810a0..d6d2d43c 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/CatalogProductModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Catalog\CatalogList; +use WellnessLiving\Core\Sid\SortOrderSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlSaleSid; @@ -13,8 +14,8 @@ class CatalogProductModel extends WlModelAbstract /** * Categories with sort settings. Keys refer to shop category keys. Values refer to sort settings. Contains the following structure:<dl> * <dt>array <var>a_order</var></dt> - * <dt>int <var>id_order</var></dt><dd>The sort order.</dd> - * <dt>int <var>id_sort</var></dt><dd>The sort order ID.</dd> + * <dt>int <var>id_order</var></dt><dd>The sort order. One of the {@link SortOrderSid} constants.</dd> + * <dt>int <var>id_sort</var></dt><dd>The sort order ID. One of the {@link SortOrderSid} constants.</dd> * </dl> * * @get result @@ -36,7 +37,7 @@ class CatalogProductModel extends WlModelAbstract * <dt>int <var>i_last</var></dt> * <dd>The last shown product.</dd> * - * <dt>int <var>id_order</var></dt><dd>The sort order ID.</dd> + * <dt>int <var>id_order</var></dt><dd>The sort order ID. One of the {@link SortOrderSid} constants.</dd> * * <dt>int <var>id_sort</var></dt> * <dd>The sort options ID.</dd> diff --git a/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php b/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php index f59435d2..eaaada7e 100644 --- a/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php +++ b/WellnessLiving/Wl/Catalog/CatalogList/ElementModel.php @@ -4,6 +4,7 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Catalog\PurchaseOptionViewSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlSaleSid; @@ -216,7 +217,7 @@ class ElementModel extends WlModelAbstract * <dd>Contains information about taxes.</dd> * * <dt>string <var>id_purchase_option_view</var></dt> - * <dd>The Purchase Option view type.</dd> + * <dd>The Purchase Option view type. One of the {@link PurchaseOptionViewSid} constants.</dd> * * <dt>string <var>m_discount_code</var></dt> * <dd>The discount code amount.</dd> @@ -379,7 +380,7 @@ class ElementModel extends WlModelAbstract public $id_purchase_item; /** - * The ID of the item view category. + * The ID of the item view category. One of the {@link PurchaseOptionViewSid} constants. * * @get result * @var int diff --git a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php index a111c605..4107946a 100644 --- a/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php +++ b/WellnessLiving/Wl/Catalog/Payment/PaymentModel.php @@ -6,6 +6,7 @@ use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; use WellnessLiving\Wl\Insurance\Catalog\ProgramListModel; use WellnessLiving\Wl\Insurance\Enrollment\Field\EnrollmentFieldListModel; +use WellnessLiving\Wl\Mode\ModeSid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlSaleSid; @@ -418,7 +419,7 @@ class PaymentModel extends WlModelAbstract public $f_discount_percent = 0; /** - * The WellnessLiving mode type (required). + * The WellnessLiving mode type (required). One of the {@link ModeSid} constants. * * @post get * @var int diff --git a/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php b/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php new file mode 100644 index 00000000..cfa4b579 --- /dev/null +++ b/WellnessLiving/Wl/Catalog/PurchaseOptionViewSid.php @@ -0,0 +1,65 @@ +<?php + +namespace WellnessLiving\Wl\Catalog; + +use WellnessLiving\Wl\WlProgramSid; + +/** + * A list of Purchase Option view types. + * + * Last ID: 9. + */ +class PurchaseOptionViewSid +{ + /** + * A single appointment reservation. + */ + const APPOINTMENT = 1; + + /** + * A single class reservation. + */ + const CLASS_PERIOD = 2; + + /** + * A gift card. + */ + const COUPON = 3; + + /** + * Enrollments. Classes where flag event is <tt>true</tt>. + */ + const ENROLLMENT = 4; + + /** + * Promotions with programs: + * * {@link WlProgramSid::ACCOUNT_MEMBERSHIP}; + * * {@link WlProgramSid::CLASS_MEMBERSHIP}; + * * {@link WlProgramSid::RESOURCE_MEMBERSHIP}; + * * {@link WlProgramSid::SERVICE_MEMBERSHIP}; + * * {@link WlProgramSid::VISIT_MEMBERSHIP}. + */ + const MEMBERSHIP = 8; + + /** + * Promotions with program {@link WlProgramSid::PACKAGE}. + */ + const PACKAGE = 5; + + /** + * Products (such as water, t-shirts, etc.). + */ + const PRODUCT = 6; + + /** + * Session passes. + */ + const PROMOTION = 7; + + /** + * Products available for quick buy. + */ + const QUICK_BUY = 9; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php index f85867ac..2b0c354f 100644 --- a/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php +++ b/WellnessLiving/Wl/Catalog/StaffApp/CatalogList/CatalogListModel.php @@ -6,6 +6,7 @@ use WellnessLiving\Wl\Catalog\Payment\PaymentModel; use WellnessLiving\Wl\Insurance\Catalog\ProgramListModel; use WellnessLiving\Wl\Insurance\Enrollment\Field\EnrollmentFieldListModel; +use WellnessLiving\Wl\Shop\Product\PurchaseRestrictionSid; use WellnessLiving\Wl\WlProgramSid; use WellnessLiving\Wl\WlSaleSid; @@ -63,7 +64,7 @@ class CatalogListModel extends WlModelAbstract * int <var>id_restriction</var> * </dt> * <dd> - * The restriction ID. + * The restriction ID. One of the {@link PurchaseRestrictionSid} constants. * </dd> * <dt> * int <var>id_sale</var> diff --git a/WellnessLiving/Wl/Classes/Period/Clients/Model.php b/WellnessLiving/Wl/Classes/Period/Clients/Model.php index 65b32fa5..d0867b17 100644 --- a/WellnessLiving/Wl/Classes/Period/Clients/Model.php +++ b/WellnessLiving/Wl/Classes/Period/Clients/Model.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Classes\Period\Clients; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Visit\WlVisitSid; /** * Class to manage class period info with Api. @@ -35,7 +36,7 @@ class Model extends WlModelAbstract * </li> * <li>int <var>uid</var> User identifier. * </li> - * <li>string <var>visit</var> State of visit. + * <li>string <var>visit</var> State of visit. String representation of constants {@link WlVisitSid}. * </li> * </ul> * diff --git a/WellnessLiving/Wl/Classes/RequirePaySid.php b/WellnessLiving/Wl/Classes/RequirePaySid.php new file mode 100644 index 00000000..a94638af --- /dev/null +++ b/WellnessLiving/Wl/Classes/RequirePaySid.php @@ -0,0 +1,32 @@ +<?php + +namespace WellnessLiving\Wl\Classes; + +/** + * List of possible modes to require amount while booking a class. + */ +class RequirePaySid +{ + /** + * Clients can pay online or pay when they visit. + * If set "pay when visit" then it has additional options. + */ + const ADVANCE = 3; + + /** + * Client should leave a deposit before booking an event. + */ + const DEPOSIT = 4; + + /** + * Client must purchase online. + */ + const ONLINE = 1; + + /** + * Clients can only pay when they visit. Online payment is not available. + */ + const VISIT = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Classes/Tab/TabSid.php b/WellnessLiving/Wl/Classes/Tab/TabSid.php new file mode 100644 index 00000000..910613d4 --- /dev/null +++ b/WellnessLiving/Wl/Classes/Tab/TabSid.php @@ -0,0 +1,33 @@ +<?php + +namespace WellnessLiving\Wl\Classes\Tab; + +/** + * List of class tab objects. + * + * Last ID: 6. + */ +abstract class TabSid +{ + /** + * Enrolments. + */ + const ENROLLMENT = 2; + + /** + * Bookable Assets. + */ + const RESOURCE = 4; + + /** + * Appointments. + */ + const SERVICE = 3; + + /** + * Classes. + */ + const TRAINING = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Collector/DebtListModel.php b/WellnessLiving/Wl/Collector/DebtListModel.php index 53c73313..97bc1c88 100644 --- a/WellnessLiving/Wl/Collector/DebtListModel.php +++ b/WellnessLiving/Wl/Collector/DebtListModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Collector; +use WellnessLiving\Core\Locale\CurrencySid; use WellnessLiving\WlModelAbstract; /** @@ -25,7 +26,7 @@ class DebtListModel extends WlModelAbstract * <dt>string <var>dtu_cease</var></dt> * <dd>The date and time in UTC when the debt was fully ceased.</dd> * <dt>int <var>id_currency</var></dt> - * <dd>The debt currency ID.</dd> + * <dd>The debt currency ID. One of {@link CurrencySid} constants.</dd> * <dt>string <var>k_business</var></dt> * <dd>The business key where the debt occurred.</dd> * <dt>string <var>k_collector_debt</var></dt> diff --git a/WellnessLiving/Wl/Collector/DebtPayModel.php b/WellnessLiving/Wl/Collector/DebtPayModel.php index 75e6885e..3865460a 100644 --- a/WellnessLiving/Wl/Collector/DebtPayModel.php +++ b/WellnessLiving/Wl/Collector/DebtPayModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Collector; +use WellnessLiving\Core\Locale\CurrencySid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlPayMethodSid; @@ -12,6 +13,7 @@ class DebtPayModel extends WlModelAbstract { /** * The currency of the payment. + * One of {@link CurrencySid} constants. * * Important! The currency must coincide with currency of the debt that was sent to collections. * diff --git a/WellnessLiving/Wl/Coupon/CouponList/ListModel.php b/WellnessLiving/Wl/Coupon/CouponList/ListModel.php index 9c90a4d2..11dc7ba8 100644 --- a/WellnessLiving/Wl/Coupon/CouponList/ListModel.php +++ b/WellnessLiving/Wl/Coupon/CouponList/ListModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Coupon\CouponList; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Coupon\WlTypeSid; /** * Retrieves a list of gift cards. @@ -16,7 +17,7 @@ class ListModel extends WlModelAbstract * int <var>id_type</var> * </dt> * <dd> - * The type of coupon. + * The type of coupon. One of {@link WlTypeSid} constants. * </dd> * <dt> * string <var>k_coupon</var> diff --git a/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php b/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php new file mode 100644 index 00000000..e641bdfe --- /dev/null +++ b/WellnessLiving/Wl/Coupon/PurchaseRestrictionSid.php @@ -0,0 +1,28 @@ +<?php + +namespace WellnessLiving\Wl\Coupon; + +/** + * Purchase restrictions. + * + * Last used ID: 3. + */ +class PurchaseRestrictionSid +{ + /** + * Purchase option available for all clients. + */ + const ALL = 1; + + /** + * Purchase option introductory offer, available for new clients only. + */ + const INTRODUCTORY = 2; + + /** + * Purchase option available for clients with special login type or member group. + */ + const TYPE = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Coupon/WlTypeSid.php b/WellnessLiving/Wl/Coupon/WlTypeSid.php new file mode 100644 index 00000000..2629340d --- /dev/null +++ b/WellnessLiving/Wl/Coupon/WlTypeSid.php @@ -0,0 +1,30 @@ +<?php + +namespace WellnessLiving\Wl\Coupon; + +/** + * List of possible types of Gift Cards. + */ +class WlTypeSid +{ + /** + * Amount Gift Card. + * Only one card of this type can be created in one business. + */ + const AMOUNT = 2; + + /** + * Product Gift Card. + * Many cards of this type can be created in one business. + * Each card contains list of products. + */ + const COMPONENT = 1; + + /** + * Quick Gift Card. + * Only one card of this type can be created in one business. + */ + const QUICK = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php index 4f3f5148..d705ee6f 100644 --- a/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php +++ b/WellnessLiving/Wl/Event/Book/EventView/ElementModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Business\Config\BusinessConfigModel; +use WellnessLiving\Wl\Virtual\VirtualProviderSid; /** * Retrieves information about an event element. @@ -392,7 +393,7 @@ class ElementModel extends WlModelAbstract public $i_staff_image_width = 0; /** - * The virtual provider ID. + * The virtual provider ID. One of the {@link VirtualProviderSid} constants. * * `null` if an in-person event. * diff --git a/WellnessLiving/Wl/Event/EventListModel.php b/WellnessLiving/Wl/Event/EventListModel.php index 6ed7c83b..d07366db 100644 --- a/WellnessLiving/Wl/Event/EventListModel.php +++ b/WellnessLiving/Wl/Event/EventListModel.php @@ -2,6 +2,8 @@ namespace WellnessLiving\Wl\Event; +use WellnessLiving\Core\Drive\DriveTypeSid; +use WellnessLiving\Core\Sid\YesNoSid; use WellnessLiving\Core\a\ADateWeekSid; use WellnessLiving\Core\a\AFlagSid; use WellnessLiving\WlModelAbstract; @@ -62,7 +64,7 @@ class EventListModel extends WlModelAbstract * <dt>int <var>i_width_src</var></dt> * <dd>The source image's width.</dd> * <dt>int <var>id_type_src</var></dt> - * <dd>The image type ID.</dd> + * <dd>The image type ID. One of the {@link DriveTypeSid} constants.</dd> * <dt>bool <var>is_resize</var></dt> * <dd>This will be `true` if the image has been resized. `false` otherwise.</dd> * <dt>bool <var>is_old</var></dt> @@ -209,7 +211,8 @@ class EventListModel extends WlModelAbstract /** * List of IDs to include/exclude virtual events. - * + * If the only ID is {@link YesNoSid::YES}, only virtual events are included. + * If the only ID is {@link YesNoSid::NO}, only in-person events are included. * Otherwise, no filtering is done. * * @get get diff --git a/WellnessLiving/Wl/Field/WlFieldGeneralSid.php b/WellnessLiving/Wl/Field/WlFieldGeneralSid.php index 5cc3831f..0597c0c1 100644 --- a/WellnessLiving/Wl/Field/WlFieldGeneralSid.php +++ b/WellnessLiving/Wl/Field/WlFieldGeneralSid.php @@ -2,6 +2,8 @@ namespace WellnessLiving\Wl\Field; +use WellnessLiving\Wl\Login\Type\SystemSid; + /** * List of general fields in user's profile. * @@ -81,7 +83,7 @@ class WlFieldGeneralSid const REFERRER = 12; /** - * Client status (client/member types). + * Client status (client/member types). System default client/member types see {@link SystemSid}. */ const STATUS = 14; diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php b/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php new file mode 100644 index 00000000..9a98ae14 --- /dev/null +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateAccessModeSid.php @@ -0,0 +1,21 @@ +<?php + +namespace WellnessLiving\Wl\Integration\Autymate; + +/** + * List of modes used to access Autymate. + */ +class AutymateAccessModeSid +{ + /** + * Access Autymate to create an initial enrollment. + */ + const ENROLL = 1; + + /** + * Access Autymate to view the dashboard. + */ + const VIEW = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php b/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php index f0c897d4..36494170 100644 --- a/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateActivateModel.php @@ -12,6 +12,8 @@ class AutymateActivateModel extends WlModelAbstract /** * The mode of the request. * + * One of {@link AutymateAccessModeSid} constants. + * * @get get * @var int */ @@ -20,6 +22,8 @@ class AutymateActivateModel extends WlModelAbstract /** * The new status of the enrollment. If `0`, the current status is returned. * + * One of {@link AutymateStatusSid} constants. + * * @get get,result * @var int */ diff --git a/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php b/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php new file mode 100644 index 00000000..f200aea4 --- /dev/null +++ b/WellnessLiving/Wl/Integration/Autymate/AutymateStatusSid.php @@ -0,0 +1,21 @@ +<?php + +namespace WellnessLiving\Wl\Integration\Autymate; + +/** + * List of statuses of an Autymate enrollment notification. + */ +class AutymateStatusSid +{ + /** + * Autymation enrollment is active. + */ + const ACTIVE = 1; + + /** + * Autymation enrollment is no longer active. + */ + const INACTIVE = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php b/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php index dbde70b5..33a82447 100644 --- a/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php +++ b/WellnessLiving/Wl/Login/Attendance/Add/AddModel.php @@ -3,6 +3,9 @@ namespace WellnessLiving\Wl\Login\Attendance\Add; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Login\Attendance\AddOptionSid; +use WellnessLiving\Wl\Mode\ModeSid; +use WellnessLiving\Wl\Visit\WlVisitSid; /** * Adds a client to an attendance list. @@ -69,6 +72,7 @@ class AddModel extends WlModelAbstract /** * Determines how the payment was handled for the session. + * One of the {@link AddOptionSid} constants. * * @post post * @var int @@ -77,7 +81,7 @@ class AddModel extends WlModelAbstract /** * Determines how the session was booked. - * + * One of the {@link ModeSid} constants. * We recommend using the `WEB_BACKEND` value. * * @post post @@ -87,6 +91,7 @@ class AddModel extends WlModelAbstract /** * The status of the visit. + * One of the {@link WlVisitSid} constants. * * @post result * @var int diff --git a/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php b/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php new file mode 100644 index 00000000..629a8b1c --- /dev/null +++ b/WellnessLiving/Wl/Login/Attendance/AddOptionSid.php @@ -0,0 +1,26 @@ +<?php + +namespace WellnessLiving\Wl\Login\Attendance; + +/** + * List of options to add client to attendance list. + */ +class AddOptionSid +{ + /** + * Add client to attendance list and charge his account. + */ + const DEBIT = 2; + + /** + * Add client to attendance list and pay now. + */ + const PAY = 3; + + /** + * Add client to attendance list without payment. + */ + const UNPAID = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php index 32b58636..d8c6e0b3 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoByTokenModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Login\Attendance; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; use WellnessLiving\Wl\WlSaleSid; use WellnessLiving\Wl\WlServiceSid; @@ -237,7 +238,7 @@ class AttendanceInfoByTokenModel extends WlModelAbstract public $i_duration; /** - * Type of note. <tt>false</tt> if notes not allowed. + * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. * * @get result * @var int|false diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php index 8ad53718..a201ddc4 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceInfoModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Login\Attendance; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Page\WlVisitNoteSid; use WellnessLiving\Wl\WlSaleSid; use WellnessLiving\Wl\WlServiceSid; @@ -236,7 +237,7 @@ class AttendanceInfoModel extends WlModelAbstract public $i_duration; /** - * Type of note. <tt>false</tt> if notes not allowed. + * Type of note. One of {@link WlVisitNoteSid} constants. <tt>false</tt> if notes not allowed. * * @get result * @var int|false diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php index 6bcc0955..bd9d9df9 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceListByTokenModel.php @@ -4,6 +4,7 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlProgramSid; /** @@ -75,7 +76,7 @@ class AttendanceListByTokenModel extends WlModelAbstract * <dt>int <var>id_program</var></dt> * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> * <dt>int <var>id_visit</var></dt> - * <dd>The status of the visit.</dd> + * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> * <dt>bool <var>is_attend</var></dt> * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> * <dt>bool <var>is_duration_pass</var></dt> diff --git a/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php b/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php index 579eaf81..14157c9e 100644 --- a/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php +++ b/WellnessLiving/Wl/Login/Attendance/AttendanceListModel.php @@ -4,6 +4,7 @@ use WellnessLiving\Core\a\AGenderSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlProgramSid; /** @@ -74,7 +75,7 @@ class AttendanceListModel extends WlModelAbstract * <dt>int <var>id_program</var></dt> * <dd>The program ID of the Purchase Option. One of the {@link WlProgramSid} constants.</dd> * <dt>int <var>id_visit</var></dt> - * <dd>The status of the visit.</dd> + * <dd>The status of the visit. One of the {@link WlVisitSid} constants.</dd> * <dt>bool <var>is_attend</var></dt> * <dd>This will be <tt>true</tt> if the client has attended the visit.</dd> * <dt>bool <var>is_duration_pass</var></dt> diff --git a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php index 57297ee2..1390052c 100644 --- a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php +++ b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Login\Promotion\Convert; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Promotion\Convert\PromotionConvertSid; use WellnessLiving\Wl\WlProgramSid; /** @@ -74,7 +75,7 @@ class ConvertModel extends WlModelAbstract public $dl_hold_start = ''; /** - * The conversion ID. + * The conversion ID. One of the {@link PromotionConvertSid} constants. * * @get result * @post get @@ -83,7 +84,7 @@ class ConvertModel extends WlModelAbstract public $id_convert = null; /** - * When conversion should be done. + * When conversion should be done. One of the {@link ConvertWhenSid} constants. * * `null` if it's not set yet. * diff --git a/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php new file mode 100644 index 00000000..e55e29cb --- /dev/null +++ b/WellnessLiving/Wl/Login/Promotion/Convert/ConvertWhenSid.php @@ -0,0 +1,31 @@ +<?php + +namespace WellnessLiving\Wl\Login\Promotion\Convert; + +/** + * Different types of conversion behavior: when and how it should be converted. + */ +class ConvertWhenSid +{ + /** + * Purchase Option converts one day after the scheduled expiration date and the client is charged for the new purchase option. + */ + const EXPIRATION_PAID = 1; + + /** + * Purchase Option converts now and the client is not charged for the new Purchase Option. + */ + const NOW_FREE = 2; + + /** + * Purchase Option converts now and the client is changed for the new Purchase Option. + */ + const NOW_PAID = 3; + + /** + * Purchase Option converts on the specified date and the client is charged for the new Purchase Option. + */ + const SCHEDULE_PAID = 4; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Login/Type/LoginTypeModel.php b/WellnessLiving/Wl/Login/Type/LoginTypeModel.php index 3a6da498..e6c721d8 100644 --- a/WellnessLiving/Wl/Login/Type/LoginTypeModel.php +++ b/WellnessLiving/Wl/Login/Type/LoginTypeModel.php @@ -18,7 +18,7 @@ class LoginTypeModel extends WlModelAbstract * <dl> * <dt>bool <var>id_client_type</var></dt> * <dd> - * System ID. + * System ID. One of {@link SystemSid} constants. * </dd> * <dt>bool <var>is_member</var></dt> * <dd> diff --git a/WellnessLiving/Wl/Login/Type/SystemSid.php b/WellnessLiving/Wl/Login/Type/SystemSid.php new file mode 100644 index 00000000..21ac6bf5 --- /dev/null +++ b/WellnessLiving/Wl/Login/Type/SystemSid.php @@ -0,0 +1,31 @@ +<?php + +namespace WellnessLiving\Wl\Login\Type; + +/** + * System default client/member types. + * + * If user purchases any membership it becomes member. + * If user purchases any pass it becomes client. + * + * Last ID: 3. + */ +class SystemSid +{ + /** + * Active client or member. + */ + const ACTIVE = 1; + + /** + * Inactive client or member. + */ + const INACTIVE = 2; + + /** + * Newcomer, who has not bought anything that can make him a regular client of the business. + */ + const PROSPECT = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Mode/ModeSid.php b/WellnessLiving/Wl/Mode/ModeSid.php new file mode 100644 index 00000000..62b2b20f --- /dev/null +++ b/WellnessLiving/Wl/Mode/ModeSid.php @@ -0,0 +1,140 @@ +<?php + +namespace WellnessLiving\Wl\Mode; + +/** + * The source of visit. + * + * Last used ID: 26. + */ +class ModeSid +{ + /** + * Registered through <tt>Azure</tt>. + */ + const AZURE = 21; + + /** + * Visit has been created by <tt>CENTRED</tt>. + */ + const CENTRED = 23; + + /** + * Visit has been created by <tt>ClassPass</tt>. + */ + const CLASSPASS_BOOKING = 8; + + /** + * Debt paid via collections. + */ + const COLLECTIONS = 22; + + /** + * Debt paid via collections. + */ + const COLLECTIONS_FUTURE = 26; + + /** + * Action made via email. + */ + const EMAIL = 18; + + /** + * Indicating that the source is Facebook. + */ + const FACEBOOK = 20; + + /** + * Indicating that the source is Google. + */ + const GOOGLE = 19; + + /** + * Visit has been created by Google Booking Service. + */ + const GOOGLE_BOOKING = 7; + + /** + * Visit has been created by <tt>GymPass</tt>. + */ + const GYMPASS_BOOKING = 14; + + /** + * Visit was created during import. + */ + const IMPORT = 5; + + /** + * Action made via microsite. + * + * It is also names as directory listing. + */ + const MICROSITE = 12; + + /** + * Indicating that the source is Microsoft. + */ + const MICROSOFT = 24; + + /** + * Client booked session on My Presence Site. + */ + const MY_PRESENCE_SITE = 13; + + /** + * Action made via SMS. + */ + const SMS = 17; + + /** + * Staff booked session from spa backend. + */ + const SPA_BACKEND = 4; + + /** + * Client booked session from spa frontend. + */ + const SPA_FRONTEND = 3; + + /** + * Created by system. + */ + const SYSTEM = 10; + + /** + * Means that we did not define mode. + */ + const UNDEFINED = 6; + + /** + * Client booked session from Attendance Web App. + */ + const WEB_APP_ATTENDANCE = 16; + + /** + * Client checked-in for the session through Check-In Web App. + */ + const WEB_APP_CHECK_IN = 15; + + /** + * Staff booked session for client from website backend. + */ + const WEB_BACKEND = 2; + + /** + * Client booked session from website frontend. + */ + const WEB_FRONTEND = 1; + + /** + * Action made via widget (purchase, book etc). + */ + const WIDGET = 11; + + /** + * Action from Zapier. + */ + const ZAPIER = 25; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Pay/Account/AccountModel.php b/WellnessLiving/Wl/Pay/Account/AccountModel.php index c348368e..d23498ee 100644 --- a/WellnessLiving/Wl/Pay/Account/AccountModel.php +++ b/WellnessLiving/Wl/Pay/Account/AccountModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Pay\Account; +use WellnessLiving\Core\Locale\CurrencySid; use WellnessLiving\WlModelAbstract; /** @@ -18,7 +19,7 @@ class AccountModel extends WlModelAbstract * int <var>id_currency</var> * </dt> * <dd> - * Currency ID. + * Currency ID. One of {@link CurrencySid} constant. * </dd> * <dt> * string <var>k_currency</var> diff --git a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php index 23ff2720..a5a695a8 100644 --- a/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php +++ b/WellnessLiving/Wl/Pay/Account/Charge/ChargeModel.php @@ -4,6 +4,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Business\BusinessPaymentCaptcha; +use WellnessLiving\Wl\Mode\ModeSid; /** * Fills a user account with a specified payment. @@ -147,7 +148,7 @@ class ChargeModel extends WlModelAbstract public $a_pay_form = []; /** - * The source mode key. + * The source mode key. One of the {@link ModeSid} constants. * * @post post * @var int diff --git a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php index 3acc60ac..650ed301 100644 --- a/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php +++ b/WellnessLiving/Wl/Pay/Form/EnvironmentModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Pay\Form; +use WellnessLiving\Core\Locale\LocaleSid; use WellnessLiving\Core\a\ACardSystemSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\WlPayMethodSid; @@ -122,6 +123,7 @@ class EnvironmentModel extends WlModelAbstract * * @get result * @var int|null + * @see LocaleSid */ public $id_locale; diff --git a/WellnessLiving/Wl/Profile/Activity/ElementModel.php b/WellnessLiving/Wl/Profile/Activity/ElementModel.php index 96171cc8..5733f468 100644 --- a/WellnessLiving/Wl/Profile/Activity/ElementModel.php +++ b/WellnessLiving/Wl/Profile/Activity/ElementModel.php @@ -4,6 +4,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Login\WlLoginActivityTypeSid; +use WellnessLiving\Wl\WlDesignIconSid; /** * Returns detailed information about a single client activity. @@ -83,7 +84,7 @@ class ElementModel extends WlModelAbstract public $i_spend; /** - * The ID of the icon that should be shown for this activity. + * The ID of the icon that should be shown for this activity. One of {@link WlDesignIconSid} constants. * * This will be `null` is no special icon for this activity. * diff --git a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php index 59486a5c..bd26455a 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditByTokenModel.php @@ -5,6 +5,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Field\WlFieldGeneralSid; use WellnessLiving\Wl\Field\WlFieldTypeSid; +use WellnessLiving\Wl\Profile\RegisterSourceSid; /** * An endpoint that displays client profile information. @@ -110,10 +111,11 @@ class EditByTokenModel extends WlModelAbstract /** * Registration source ID. + * One of {@link RegisterSourceSid} constants. * * Used only to register new clients. * * If the client is already authorized, the field value will not be used. - * * + * * If the client is not authorized and no value is set, {@link RegisterSourceSid::SELF} will be used. * * @get get * @post get diff --git a/WellnessLiving/Wl/Profile/Edit/EditModel.php b/WellnessLiving/Wl/Profile/Edit/EditModel.php index 6a6e7e19..84519060 100644 --- a/WellnessLiving/Wl/Profile/Edit/EditModel.php +++ b/WellnessLiving/Wl/Profile/Edit/EditModel.php @@ -6,6 +6,7 @@ use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Field\WlFieldGeneralSid; use WellnessLiving\Wl\Field\WlFieldTypeSid; +use WellnessLiving\Wl\Profile\RegisterSourceSid; /** * Gets information about a client profile. This endpoint can also edit or create a profile. @@ -137,10 +138,11 @@ class EditModel extends WlModelAbstract /** * Registration source ID. + * One of {@link RegisterSourceSid} constants. * * Used only to register new clients. * * If the client is already authorized, the field value will not be used. - * * + * * If the client is not authorized and no value is set, {@link RegisterSourceSid::SELF} will be used. * * @get get * @post get diff --git a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php index 37372ed3..4f78bc70 100644 --- a/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php +++ b/WellnessLiving/Wl/Profile/Form/Response/ResponseListModel.php @@ -4,6 +4,7 @@ use WellnessLiving\Core\Quiz\ResponseStatusSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Quiz\Response\SourceSid; /** * Retrieves a list of a user's quiz responses. @@ -21,7 +22,7 @@ class ResponseListModel extends WlModelAbstract * <dt>string <var>dtl_date</var></dt> * <dd>The date of the request to fill out a quiz form.</dd> * <dt>int <var>id_source</var></dt> - * <dd>The place where the request to fill out a quiz form occurred.</dd> + * <dd>The place where the request to fill out a quiz form occurred. One of the {@link SourceSid} constants.</dd> * <dt>bool <var>is_private</var></dt> * <dd> * Determines whether the form can be viewed by staff member only after confirmation. @@ -57,7 +58,7 @@ class ResponseListModel extends WlModelAbstract * <dt>string <var>dtl_date</var></dt> * <dd>The date of the request to fill out a quiz form.</dd> * <dt>int <var>id_source</var></dt> - * <dd>The place where the request to fill out the quiz form occurred.</dd> + * <dd>The place where the request to fill out the quiz form occurred. One of the {@link SourceSid} constants.</dd> * <dt>int <var>id_status</var></dt> * <dd>Status of the response. One of {@link ResponseStatusSid} constants.</dd> * <dt>bool <var>is_private</var></dt> diff --git a/WellnessLiving/Wl/Profile/RegisterSourceSid.php b/WellnessLiving/Wl/Profile/RegisterSourceSid.php new file mode 100644 index 00000000..afa4d848 --- /dev/null +++ b/WellnessLiving/Wl/Profile/RegisterSourceSid.php @@ -0,0 +1,28 @@ +<?php + +namespace WellnessLiving\Wl\Profile; + +/** + * List of sources from where the user registers. + */ +class RegisterSourceSid +{ + /** + * Source when user register during purchase or booking. + * + * <b> + * Don't use for edit existing user profile. + * Used only to register new clients during booking or purchase. + * </b> + */ + const BOOKING_AND_PURCHASE = 1; + + /** + * Source when user register on self registration web app, self registration web app URL etc. + * + * <b>Don't use for edit existing user profile.</b> + */ + const SELF = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php b/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php new file mode 100644 index 00000000..aaf7da69 --- /dev/null +++ b/WellnessLiving/Wl/Promotion/Convert/PromotionConvertSid.php @@ -0,0 +1,28 @@ +<?php + +namespace WellnessLiving\Wl\Promotion\Convert; + +/** + * List of options to convert promotion. + * + * Last used ID: 3. + */ +class PromotionConvertSid +{ + /** + * Promotion conversion downgraded. + */ + const DOWNGRADE = 1; + + /** + * Type of the promotion conversion. + */ + const EQUAL_VALUE = 2; + + /** + * Promotion conversion upgraded. + */ + const UPGRADE = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php b/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php new file mode 100644 index 00000000..3f9fc4b2 --- /dev/null +++ b/WellnessLiving/Wl/Promotion/Edit/Limit/Cycle/Sid.php @@ -0,0 +1,21 @@ +<?php + +namespace WellnessLiving\Wl\Promotion\Edit\Limit\Cycle; + +/** + * Attendance Restriction cycle type. + */ +class Sid +{ + /** + * Attendance Restriction is applied at the start of the calendar cycle. + */ + const CALENDAR = 1; + + /** + * Attendance Restriction is applied at the start of the payment cycle. + */ + const PAYMENT = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php b/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php index bf34372f..5e1b6225 100644 --- a/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php +++ b/WellnessLiving/Wl/Promotion/Index/PromotionIndexModel.php @@ -5,6 +5,7 @@ use WellnessLiving\Core\a\ADurationSid; use WellnessLiving\WlModelAbstract; use WellnessLiving\Wl\Event\EventListModel; +use WellnessLiving\Wl\Promotion\Edit\Limit\Cycle\Sid; use WellnessLiving\Wl\Purchase\Item\WlPurchaseItemSid; use WellnessLiving\Wl\WlDurationTypeSid; use WellnessLiving\Wl\WlProgramCategorySid; @@ -122,7 +123,7 @@ class PromotionIndexModel extends WlModelAbstract * {@link ADurationSid::MONTH}, {@link ADurationSid::YEAR}. * </dd> * <dt>int <var>id_limit_cycle</var></dt> - * + * <dd>The type of the limit cycle {@link Sid}.</dd> * <dt>bool <var>is_reconcile_visit</var></dt> * <dd>Determines whether to reconcile unpaid sessions on restrictions reset.</dd> * <dt>bool <var>is_roll_over_expire</var></dt> diff --git a/WellnessLiving/Wl/Quiz/Response/SourceSid.php b/WellnessLiving/Wl/Quiz/Response/SourceSid.php new file mode 100644 index 00000000..13122776 --- /dev/null +++ b/WellnessLiving/Wl/Quiz/Response/SourceSid.php @@ -0,0 +1,50 @@ +<?php + +namespace WellnessLiving\Wl\Quiz\Response; + +/** + * List of sources where quiz response can be generated. + * + * Last used ID: 6 + */ +class SourceSid +{ + /** + * Quiz response received during booking process. + */ + const BOOKING = 2; + + /** + * Quiz response was imported. + */ + const IMPORT = 6; + + /** + * Quiz response received by kiosk mode link. + */ + const KIOSK = 7; + + /** + * Quiz response received by direct link. + */ + const LINK = 1; + + /** + * Quiz response received by direct link. + * + * @title Studio + */ + const MANUAL = 5; + + /** + * Quiz response received during purchase process. + */ + const PURCHASE = 4; + + /** + * Quiz response received during registration process. + */ + const REGISTRATION = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Image/ImageIconSid.php b/WellnessLiving/Wl/Resource/Image/ImageIconSid.php new file mode 100644 index 00000000..5208f6f4 --- /dev/null +++ b/WellnessLiving/Wl/Resource/Image/ImageIconSid.php @@ -0,0 +1,158 @@ +<?php + +namespace WellnessLiving\Wl\Resource\Image; + +/** + * Predefined icons for assets. + * + * Last used ID: 29. + */ +class ImageIconSid +{ + /** + * Training bench. + */ + const BENCH = 1; + + /** + * Exercise bike. + */ + const BIKE_1 = 2; + + /** + * Exercise bike. + */ + const BIKE_2 = 3; + + /** + * Exercise bike. + */ + const BIKE_3 = 4; + + /** + * Exercise bike. + */ + const BIKE_4 = 5; + + /** + * Exercise bike. + */ + const BIKE_5 = 6; + + /** + * Exercise bike. + */ + const BIKE_6 = 7; + + /** + * Boot. + */ + const BOOT = 8; + + /** + * Door. + */ + const DOOR = 9; + + /** + * Fan. + */ + const FAN_1 = 10; + + /** + * Fan. + */ + const FAN_2 = 11; + + /** + * Man. + */ + const MAN = 12; + + /** + * Mat. + */ + const MAT = 13; + + /** + * Mirror. + */ + const MIRROR = 14; + + /** + * Orbitrack. + */ + const ORBITRACK_1 = 15; + + /** + * Orbitrack. + */ + const ORBITRACK_2 = 16; + + /** + * Orbitrack. + */ + const ORBITRACK_3 = 17; + + /** + * Orbitrack. + */ + const ORBITRACK_4 = 18; + + /** + * Orbitrack. + */ + const ORBITRACK_5 = 19; + + /** + * Orbitrack. + */ + const ORBITRACK_6 = 20; + + /** + * Boxing punch. + */ + const PUNCH_1 = 21; + + /** + * Boxing punch. + */ + const PUNCH_2 = 22; + + /** + * Rectangle. + */ + const RECTANGLE = 23; + + /** + * Loudspeaker. + */ + const SPEAKER = 24; + + /** + * Treadmill. + */ + const TREADMILL_1 = 25; + + /** + * Treadmill. + */ + const TREADMILL_2 = 26; + + /** + * TV. + */ + const TV = 27; + + /** + * Twines. + */ + const TWINE = 28; + + /** + * Weight. + */ + const WEIGHT = 29; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php b/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php new file mode 100644 index 00000000..7d85e73a --- /dev/null +++ b/WellnessLiving/Wl/Resource/Image/ImageShapeSid.php @@ -0,0 +1,31 @@ +<?php + +namespace WellnessLiving\Wl\Resource\Image; + +/** + * The kinds of shapes that can be used as an assets' images. + */ +class ImageShapeSid +{ + /** + * Circle. + */ + const CIRCLE = 1; + + /** + * Rectangle. + */ + const RECTANGLE = 2; + + /** + * Square. + */ + const SQUARE = 3; + + /** + * Triangle. + */ + const TRIANGLE = 4; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Resource/Layout/LayoutModel.php b/WellnessLiving/Wl/Resource/Layout/LayoutModel.php index b5657a64..b79f8bab 100644 --- a/WellnessLiving/Wl/Resource/Layout/LayoutModel.php +++ b/WellnessLiving/Wl/Resource/Layout/LayoutModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Resource\Layout; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Resource\Image\ImageIconSid; /** * Displays information about an asset layout. @@ -81,25 +82,25 @@ class LayoutModel extends WlModelAbstract * float <var>f_height</var> * </dt> * <dd> - * Empty for other shapes. + * The height for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. * </dd> * <dt> * float <var>f_width</var> * </dt> * <dd> - * Empty for other shapes. + * The width for the shape {@link LayoutShapeSid::RECTANGLE}. Empty for other shapes. * </dd> * <dt> * int <var>i_degree_from</var> * </dt> * <dd> - * Empty for other shapes. + * The start angle for the shape {@link LayoutShapeSid::PIE}. Empty for other shapes. * </dd> * <dt> * int <var>i_degree_to</var> * </dt> * <dd> - * Empty for other shapes. + * The start angle for shape {@link LayoutShapeSid::PIE}. Empty for other shapes. * </dd> * <dt> * int <var>i_left</var> @@ -111,8 +112,8 @@ class LayoutModel extends WlModelAbstract * int <var>i_radius</var> * </dt> * <dd> - * The radius for shapes {@link \Wl\Resource\Layout\Shape\LayoutShapeSid::PIE} and - * Empty for other shapes. + * The radius for shapes {@link LayoutShapeSid::PIE} and + * {@link LayoutShapeSid::CIRCLE}. Empty for other shapes. * </dd> * <dt> * int <var>i_top</var> @@ -124,7 +125,7 @@ class LayoutModel extends WlModelAbstract * int <var>id_resource_layout_shape</var> * </dt> * <dd> - * The shape type ID. + * The shape type ID. One of the {@link LayoutShapeSid} constants. * </dd> * <dt> * string <var>k_resource_layout_shape</var> @@ -188,7 +189,7 @@ class LayoutModel extends WlModelAbstract * int <var>id_shape_icon</var> * </dt> * <dd> - * The icon ID. + * The icon ID. One of the {@link ImageIconSid} constants. * </dd> * </dl> * diff --git a/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php b/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php new file mode 100644 index 00000000..e88644b2 --- /dev/null +++ b/WellnessLiving/Wl/Resource/Layout/LayoutShapeSid.php @@ -0,0 +1,26 @@ +<?php + +namespace WellnessLiving\Wl\Resource\Layout; + +/** + * Types of the shapes. + */ +class LayoutShapeSid +{ + /** + * Circles. + */ + const CIRCLE = 2; + + /** + * Pies. + */ + const PIE = 3; + + /** + * Rectangles and squares. + */ + const RECTANGLE = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php b/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php index 09546416..26e7fe3c 100644 --- a/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php +++ b/WellnessLiving/Wl/Review/ReviewList/ReviewListModel.php @@ -149,7 +149,9 @@ class ReviewListModel extends WlModelAbstract public $i_page = null; /** - * The order in which the review should be arranged. + * The order in which the review should be arranged. One of the {@link ReviewOrderSid} constants. + * + * If not passed use default order {@link ReviewOrderSid::LATEST}. * * @get get * @var int|null diff --git a/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php b/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php new file mode 100644 index 00000000..abcc67f1 --- /dev/null +++ b/WellnessLiving/Wl/Review/ReviewList/ReviewOrderSid.php @@ -0,0 +1,31 @@ +<?php + +namespace WellnessLiving\Wl\Review\ReviewList; + +/** + * List of possible order for gets review. + */ +class ReviewOrderSid +{ + /** + * Ascending sort review by date. + */ + const LATEST = 1; + + /** + * Ascending sort review by date. + */ + const NEGATIVE = 3; + + /** + * Descending sort review by date. + */ + const OLDEST = 4; + + /** + * Descending sort review by date. + */ + const POSITIVE = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/Design/OptionSid.php b/WellnessLiving/Wl/Schedule/Design/OptionSid.php new file mode 100644 index 00000000..7102300b --- /dev/null +++ b/WellnessLiving/Wl/Schedule/Design/OptionSid.php @@ -0,0 +1,28 @@ +<?php + +namespace WellnessLiving\Wl\Schedule\Design; + +/** + * Appointment display option. + * + * Last used ID: 3 + */ +class OptionSid +{ + /** + * Appointment name in header. + */ + const APPOINTMENT_NAME = 1; + + /** + * Client name in header. + */ + const CLIENT_NAME = 3; + + /** + * Staff name in header. + */ + const STAFF_NAME = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php index 7384697b..673b454b 100644 --- a/WellnessLiving/Wl/Schedule/Page/PageElementModel.php +++ b/WellnessLiving/Wl/Schedule/Page/PageElementModel.php @@ -3,6 +3,8 @@ namespace WellnessLiving\Wl\Schedule\Page; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Virtual\VirtualProviderSid; +use WellnessLiving\Wl\Visit\WlVisitSid; /** * Returns information about a specified visit. @@ -15,7 +17,7 @@ class PageElementModel extends WlModelAbstract * int <var>id_visit</var> * </dt> * <dd> - * Visit status. + * Visit status. One of {@link WlVisitSid} constants. * </dd> * <dt> * bool <var>is_confirmed</var> @@ -189,6 +191,7 @@ class PageElementModel extends WlModelAbstract /** * The note type ID. This will be set to `null` if notes aren't allowed. + * This is one of the {@link WlVisitNoteSid} constants. * * This will be `null` if notes aren't allowed. * @@ -198,7 +201,7 @@ class PageElementModel extends WlModelAbstract public $id_note; /** - * The virtual provider ID. + * The virtual provider ID. One of the {@link VirtualProviderSid} constants. * * This will be `null` for non-virtual services. * @@ -208,7 +211,7 @@ class PageElementModel extends WlModelAbstract public $id_virtual_provider; /** - * The visit type ID. + * The visit type ID. One of the {@link WlVisitSid} constants. * * This will be `null` if not loaded yet. * @@ -301,7 +304,7 @@ class PageElementModel extends WlModelAbstract public $k_location; /** - * Asset key. + * Resource key. * * @get result * @var ?string diff --git a/WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php b/WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php new file mode 100644 index 00000000..ffacad10 --- /dev/null +++ b/WellnessLiving/Wl/Schedule/Page/WlVisitNoteSid.php @@ -0,0 +1,21 @@ +<?php + +namespace WellnessLiving\Wl\Schedule\Page; + +/** + * A list of types of visit note. + */ +class WlVisitNoteSid +{ + /** + * The usual quick accompanying note for the customer visit. + */ + const QUICK = 2; + + /** + * Accompanying medical note for the customer visit. + */ + const SOAP = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php index 0d5a4092..0855e22a 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListByTokenModel.php @@ -3,6 +3,8 @@ namespace WellnessLiving\Wl\Schedule\ScheduleList\StaffApp; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Design\OptionSid; +use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlServiceSid; /** @@ -32,7 +34,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * int <var>id_visit</var> * </dt> * <dd> - * Visit id. + * Visit id. One of {@link WlVisitSid} constants. * </dd> * <dt> * bool <var>is_confirmed</var> @@ -187,7 +189,7 @@ class ScheduleListByTokenModel extends WlModelAbstract * <dd> * Appointment title display style. * Set only for appointments, for others it will be equal to 0. - * + * Constants from {@link OptionSid}. * </dd> * <dt> * int <var>id_service</var> diff --git a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php index 93599d93..e3a92124 100644 --- a/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php +++ b/WellnessLiving/Wl/Schedule/ScheduleList/StaffApp/ScheduleListModel.php @@ -4,6 +4,8 @@ use WellnessLiving\Core\Quiz\ResponseStatusSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Schedule\Design\OptionSid; +use WellnessLiving\Wl\Visit\WlVisitSid; use WellnessLiving\Wl\WlServiceSid; /** @@ -59,7 +61,7 @@ class ScheduleListModel extends WlModelAbstract * int <var>id_visit</var> * </dt> * <dd> - * Visit id. + * Visit id. One of {@link WlVisitSid} constants. * </dd> * <dt> * bool <var>is_confirmed</var> @@ -227,7 +229,7 @@ class ScheduleListModel extends WlModelAbstract * <dd> * Appointment title display style. * Set only for appointments, for others it will be equal to 0. - * + * Constants from {@link OptionSid}. * </dd> * <dt> * int <var>id_service</var> diff --git a/WellnessLiving/Wl/Schedule/Tab/TabModel.php b/WellnessLiving/Wl/Schedule/Tab/TabModel.php index 783f1f50..f09face9 100644 --- a/WellnessLiving/Wl/Schedule/Tab/TabModel.php +++ b/WellnessLiving/Wl/Schedule/Tab/TabModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Schedule\Tab; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Classes\Tab\TabSid; /** * Retrieves a list of tabs for bookable services specific to the user and the location. @@ -21,13 +22,14 @@ class TabModel extends WlModelAbstract * int <var>id_class_tab_object</var> * </dt> * <dd> - * + * The tab type ID which is one of the {@link TabSid} constants. * </dd> * <dt> * int|null <var>id_class_tab_system</var> * </dt> * <dd> * If this tab has redefined a default system Class Tab then it references a constant defined in + * {@link TabSid}. * * Otherwise, this will be `null`. * </dd> diff --git a/WellnessLiving/Wl/Service/ServiceBookFlowSid.php b/WellnessLiving/Wl/Service/ServiceBookFlowSid.php new file mode 100644 index 00000000..7b57aef1 --- /dev/null +++ b/WellnessLiving/Wl/Service/ServiceBookFlowSid.php @@ -0,0 +1,26 @@ +<?php + +namespace WellnessLiving\Wl\Service; + +/** + * A list of client booking flow types. + */ +class ServiceBookFlowSid +{ + /** + * Client selects the date and time and then the staff member. + */ + const DATE_STAFF_ORDER = 2; + + /** + * Client selects their preferred booking order should be staff member / calendar. + */ + const PREFER_ORDER = 3; + + /** + * Client selects the staff member and then the date and time. + */ + const STAFF_DATE_ORDER = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php b/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php new file mode 100644 index 00000000..bab2e63d --- /dev/null +++ b/WellnessLiving/Wl/Shop/Product/PurchaseRestrictionSid.php @@ -0,0 +1,28 @@ +<?php + +namespace WellnessLiving\Wl\Shop\Product; + +/** + * Purchase restrictions. + * + * Last used ID: 3. + */ +class PurchaseRestrictionSid +{ + /** + * Purchase option available for all clients. + */ + const ALL = 1; + + /** + * Purchase option introductory offer, available for new clients only. + */ + const INTRODUCTORY = 2; + + /** + * Purchase option available for clients with special login type or member group. + */ + const TYPE = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php b/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php new file mode 100644 index 00000000..cb1c7636 --- /dev/null +++ b/WellnessLiving/Wl/Video/Catalog/Filter/Sort/FilterSortSid.php @@ -0,0 +1,41 @@ +<?php + +namespace WellnessLiving\Wl\Video\Catalog\Filter\Sort; + +/** + * List of video catalog sorting types. + * + * Any selected type should be sorted in descending order. + */ +class FilterSortSid +{ + /** + * Sort alphabetically. + * + * @title Alphabetical + */ + const ALPHABET = 1; + + /** + * Sort by custom. + * + * @title Custom + */ + const CUSTOM = 4; + + /** + * Sort by most recently added. + * + * @title Most Recent + */ + const RECENT = 2; + + /** + * Sorted by number of views. + * + * @title Views + */ + const VIEW = 3; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Video/VideoElementModel.php b/WellnessLiving/Wl/Video/VideoElementModel.php index 496b35bc..a1ee00fb 100644 --- a/WellnessLiving/Wl/Video/VideoElementModel.php +++ b/WellnessLiving/Wl/Video/VideoElementModel.php @@ -2,6 +2,7 @@ namespace WellnessLiving\Wl\Video; +use WellnessLiving\Core\Sid\YesNoSid; use WellnessLiving\WlModelAbstract; /** @@ -152,6 +153,9 @@ class VideoElementModel extends WlModelAbstract public $i_watch; /** + * {@link YesNoSid::NO} if the video is available in all locations. + * {@link YesNoSid::YES} if the video is available only in certain locations. + * * @get result * @post post * @var int diff --git a/WellnessLiving/Wl/Video/VideoListModel.php b/WellnessLiving/Wl/Video/VideoListModel.php index 4d9f557f..4390de19 100644 --- a/WellnessLiving/Wl/Video/VideoListModel.php +++ b/WellnessLiving/Wl/Video/VideoListModel.php @@ -2,7 +2,9 @@ namespace WellnessLiving\Wl\Video; +use WellnessLiving\Core\Sid\SortOrderSid; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Video\Catalog\Filter\Sort\FilterSortSid; /** * Returns a list of videos. @@ -115,7 +117,7 @@ class VideoListModel extends WlModelAbstract public $i_page = null; /** - * Sort order ID. `null` or 0 if order is undefined and depends on sort order. + * Sort order ID. One of {@link SortOrderSid} constants. `null` or 0 if order is undefined and depends on sort order. * * @get get,result * @var int|null @@ -124,7 +126,7 @@ class VideoListModel extends WlModelAbstract /** * The sorting type. - * `null` or 0 if sort is undefined and custom sort order is used. + * A constant from {@link FilterSortSid}. `null` or 0 if sort is undefined and custom sort order is used. * * @get get,result * @var int|null diff --git a/WellnessLiving/Wl/Video/Watch/WatchModel.php b/WellnessLiving/Wl/Video/Watch/WatchModel.php index eabe0276..09fe7603 100644 --- a/WellnessLiving/Wl/Video/Watch/WatchModel.php +++ b/WellnessLiving/Wl/Video/Watch/WatchModel.php @@ -31,6 +31,7 @@ class WatchModel extends WlModelAbstract * * @post post * @var int + * @see WatchSourceSid */ public $id_source; diff --git a/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php b/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php new file mode 100644 index 00000000..71e138cb --- /dev/null +++ b/WellnessLiving/Wl/Video/Watch/WatchSourceSid.php @@ -0,0 +1,35 @@ +<?php + +namespace WellnessLiving\Wl\Video\Watch; + +/** + * List sources of the view video. + * + * Last used ID: 4 + */ +class WatchSourceSid +{ + /** + * Video watched from application. + */ + const APP = 1; + + /** + * Video watched from direct URL. + */ + const DIRECT_URL = 2; + + /** + * Video watched from frontend. + */ + const FRONTEND = 3; + + /** + * Source of watched is undefined. + * + * Used for old videos. + */ + const UNDEFINED = 4; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Virtual/VirtualProviderSid.php b/WellnessLiving/Wl/Virtual/VirtualProviderSid.php new file mode 100644 index 00000000..f590d2f4 --- /dev/null +++ b/WellnessLiving/Wl/Virtual/VirtualProviderSid.php @@ -0,0 +1,23 @@ +<?php + +namespace WellnessLiving\Wl\Virtual; + +/** + * List of possible value of virtual integrations. + * + * Last used ID: 2. + */ +class VirtualProviderSid +{ + /** + * Virtual integration non implemented. + */ + const NON_INTEGRATED = 2; + + /** + * Virtual Zoom service integration. + */ + const ZOOM = 1; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Visit/VisitStatusModel.php b/WellnessLiving/Wl/Visit/VisitStatusModel.php index 207b451e..73e0e35d 100644 --- a/WellnessLiving/Wl/Visit/VisitStatusModel.php +++ b/WellnessLiving/Wl/Visit/VisitStatusModel.php @@ -3,6 +3,7 @@ namespace WellnessLiving\Wl\Visit; use WellnessLiving\WlModelAbstract; +use WellnessLiving\Wl\Mode\ModeSid; /** * Views or changes the visit status. @@ -91,7 +92,7 @@ class VisitStatusModel extends WlModelAbstract /** * The source of the visit or the visit change. - * + * One of the {@link ModeSid} constants. * If you're unsure about the value to use, keep the default value. * * @get result @@ -102,6 +103,7 @@ class VisitStatusModel extends WlModelAbstract /** * The status of the visit. + * One of the {@link WlVisitSid} constants. * * @get result * @post post @@ -110,7 +112,7 @@ class VisitStatusModel extends WlModelAbstract public $id_visit = '0'; /** - * The status of the visit from which the transition is made. + * The status of the visit from which the transition is made. One of the {@link WlVisitSid} constants. * * If the visit status is passed, it will be used to check with the actual status in the database. * If `null`, the visit hasn't yet passed. diff --git a/WellnessLiving/Wl/Visit/WlVisitSid.php b/WellnessLiving/Wl/Visit/WlVisitSid.php new file mode 100644 index 00000000..07b64e5a --- /dev/null +++ b/WellnessLiving/Wl/Visit/WlVisitSid.php @@ -0,0 +1,60 @@ +<?php + +namespace WellnessLiving\Wl\Visit; + +/** + * Possible states of the visit: book, attended, cancelled, etc. + * + * Last used ID: 8. + */ +class WlVisitSid +{ + /** + * Client has attended the session. + */ + const ATTEND = 3; + + /** + * Active reservation means that user is going to attend the session. + */ + const BOOK = 1; + + /** + * Client has cancelled the reservation in time and without penalty. + */ + const CANCEL = 6; + + /** + * Client has cancelled his reservation too late. + */ + const PENALTY = 4; + + /** + * This state means that visit is registered, but it is unknown is it {@link WlVisitSid::ATTEND} + * or {@link WlVisitSid::TRUANCY} or {@link WlVisitSid::PENALTY} but definitely one of these states. + * + * The real type of this visit must be set manually by staff. + * Status can be changed automatically to {@link WlVisitSid::ATTEND}. + * + * @see WlVisitSid::TRUANCY + */ + const PENDING = 7; + + /** + * Visit was removed. + * Visits with this status are not shown anywhere in system, but still are saved in database. + */ + const REMOVE = 8; + + /** + * Client has missed the session without cancellation. + */ + const TRUANCY = 5; + + /** + * Reservation in a wait list means that user is going to attend the session if someone will cancel his reservation. + */ + const WAIT = 2; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/WlDesignIconSid.php b/WellnessLiving/Wl/WlDesignIconSid.php new file mode 100644 index 00000000..1315095f --- /dev/null +++ b/WellnessLiving/Wl/WlDesignIconSid.php @@ -0,0 +1,69 @@ +<?php + +namespace WellnessLiving\Wl; + +/** + * List of available design icons. + * Name of the class with this icon will be wl-icon-[sid] + * + * Last used ID 11. + */ +class WlDesignIconSid +{ + /** + * Signs that session or pass is an appointment connected. + */ + const APPOINTMENT = 4; + + /** + * Signs that session or pass is an asset connected. + */ + const ASSET = 7; + + /** + * Signs that session or pass is a class or event connected. + */ + const CLASSES = 5; + + /** + * Cycle icon. Used, for example, to show transferred status of the promotion. + */ + const CYCLE = 3; + + /** + * Early cancel activity list icon. + */ + const EARLY_CANCELED = 8; + + /** + * Signs that session or pass is a gym visit connected. + */ + const GYM_VISIT = 6; + + /** + * Late cancel activity list icon. + */ + const LATE_CANCELED = 9; + + /** + * Piece of paper with the curved end for different text notes. + */ + const NOTE = 2; + + /** + * No show at visit activity list icon. + */ + const NO_SHOW = 10; + + /** + * Paper with medical symbolic for medical notes. + */ + const SOAP = 1; + + /** + * Clock activity list icon in SPA application. + */ + const SPA_CLOCK = 11; +} + +?> \ No newline at end of file diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 5659dbf8..5334b922 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241113.373448'; + const VERSION='20241113.373612'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}. From 82e5434bd7736269f1fec7184598ae2fc512bf61 Mon Sep 17 00:00:00 2001 From: "sdk.wellnessliving" <integrations@wellnessliving.com> Date: Thu, 14 Nov 2024 23:00:27 +0000 Subject: [PATCH 71/71] Automatic upgrade of the SDK. Build #373948. --- .../Passport/Login/SignOut/SignOutModel.php | 14 ++++++++++ .../Purchase/Receipt/PurchaseReceiptModel.php | 26 ++++++++++++------- WellnessLiving/Wl/Quiz/QuizElementModel.php | 2 +- WellnessLiving/WlModelRequest.php | 2 +- 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 WellnessLiving/Core/Passport/Login/SignOut/SignOutModel.php diff --git a/WellnessLiving/Core/Passport/Login/SignOut/SignOutModel.php b/WellnessLiving/Core/Passport/Login/SignOut/SignOutModel.php new file mode 100644 index 00000000..90c587f6 --- /dev/null +++ b/WellnessLiving/Core/Passport/Login/SignOut/SignOutModel.php @@ -0,0 +1,14 @@ +<?php + +namespace WellnessLiving\Core\Passport\Login\SignOut; + +use WellnessLiving\WlModelAbstract; + +/** + * Signs user out. + */ +class SignOutModel extends WlModelAbstract +{ + } + +?> \ No newline at end of file diff --git a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php index 9459a75c..0e143e9f 100644 --- a/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php +++ b/WellnessLiving/Wl/Purchase/Receipt/PurchaseReceiptModel.php @@ -36,7 +36,7 @@ class PurchaseReceiptModel extends WlModelAbstract * @get result * @var array */ - public $a_account_rest; + public $a_account_rest = []; /** * Information about the business. @@ -102,7 +102,7 @@ class PurchaseReceiptModel extends WlModelAbstract * @get result * @var array */ - public $a_business; + public $a_business = []; /** * Payment transaction information. Every element has the following keys: @@ -130,7 +130,7 @@ class PurchaseReceiptModel extends WlModelAbstract * @get result * @var array */ - public $a_card; + public $a_card = []; /** * Information about the customer. @@ -164,7 +164,7 @@ class PurchaseReceiptModel extends WlModelAbstract * @get result * @var array */ - public $a_customer; + public $a_customer = []; /** * A list of payment methods for the current purchase. Every element has the following keys: @@ -192,7 +192,7 @@ class PurchaseReceiptModel extends WlModelAbstract * @get result * @var array */ - public $a_pay_method; + public $a_pay_method = []; /** * Complete information about price information for the purchase. @@ -250,7 +250,7 @@ class PurchaseReceiptModel extends WlModelAbstract * @get result * @var array */ - public $a_price; + public $a_price = []; /** * A list of purchase items. Every element has the following keys: @@ -341,12 +341,18 @@ class PurchaseReceiptModel extends WlModelAbstract * <dd> * The description of the purchase item. * </dd> + * <dt> + * string <var>url_print</var> + * </dt> + * <dd> + * The URL to print. Only available if the purchase item is a coupon (gift card). + * </dd> * </dl> * * @get result * @var array[] */ - public $a_purchase_item; + public $a_purchase_item = []; /** * The local date of the purchase in MySQL format. @@ -373,8 +379,10 @@ class PurchaseReceiptModel extends WlModelAbstract public $html_receipt; /** - * Whether the print receipt URL requires authentication. If `true`, the URL contains a token that temporarily - * allows access to the print receipt without a login. `false` otherwise. + * Whether {@link PurchaseReceiptModel::$url_print} and {@link PurchaseReceiptModel::$url_print_receipt} require authentication. + * + * If `true`, the URL contains a token that allows temporary access to the page without logging in. If 'false', the + * page requires authentication. * * @get get * @var bool diff --git a/WellnessLiving/Wl/Quiz/QuizElementModel.php b/WellnessLiving/Wl/Quiz/QuizElementModel.php index 2c9d006e..e8f02cdd 100644 --- a/WellnessLiving/Wl/Quiz/QuizElementModel.php +++ b/WellnessLiving/Wl/Quiz/QuizElementModel.php @@ -143,7 +143,7 @@ class QuizElementModel extends WlModelAbstract public $k_business = ''; /** - * Business type key. + * Business type key. Used only for forms in the system business. * * `null` if not initialized. * diff --git a/WellnessLiving/WlModelRequest.php b/WellnessLiving/WlModelRequest.php index 5334b922..cd0f19be 100644 --- a/WellnessLiving/WlModelRequest.php +++ b/WellnessLiving/WlModelRequest.php @@ -12,7 +12,7 @@ class WlModelRequest /** * SDK version number. */ - const VERSION='20241113.373612'; + const VERSION='20241114.373948'; /** * A list of headers for the API request. See {@link CURLOPT_HTTPHEADER}.