承接 mhinspeya/mhinspeya-hyva-personal-shopping 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mhinspeya/mhinspeya-hyva-personal-shopping

Composer 安装命令:

composer require mhinspeya/mhinspeya-hyva-personal-shopping

包简介

Experience personalized shopping like never before with our personal shopping module. Simply schedule an appointment with one of our expert stylists who will curate a tailored selection just for you, ensuring great fit and awesome new styles

README 文档

README

Experience personalised shopping like never before. This Magento 2 / Hyvä-compatible module lets customers book one-on-one appointments with expert stylists directly from the storefront. Store administrators manage employees, departments, schedules, and appointment requests — all from the Magento Admin Panel.

Composer package: mhinspeya/mhinspeya-hyva-personal-shopping Module name: MHinspeya_AppointmentShopping Current version: 1.0.3 License: OSL-3.0

Table of Contents

Features

Storefront

  • Interactive appointment booking — customers browse available employees per department and select a date/time slot
  • Dynamic calendar & time-slot picker — available days and slots are computed from each employee's configured schedule (weekly availability, start/end time, break windows, appointment duration)
  • Duplicate booking prevention — the system checks existing appointments to prevent double bookings for the same slot
  • Automatic email notifications — confirmation emails are sent to both the customer and the assigned employee upon booking
  • Hyvä Theme compatible — ships with Hyvä Tailwind templates, Alpine.js integration, and auto-registers via the Hyvä config observer
  • Configurable age limit — enforce a minimum customer age at the form level
  • Timezone-aware scheduling — supports configurable timezone for accurate slot calculations
  • Customisable heading & sub-heading — admin-configurable page title and description text

Admin Panel

  • Department management — create and manage store departments (e.g. Menswear, Womenswear, Childrenswear) with individual email contacts, sort order, and status toggle
  • Employee management — add employee profiles with name, department assignment, email, profile image upload, bio/content, weekly schedule configuration (available days, time range, break slots, appointment duration), sort order, and status
  • Appointment management — view, confirm, or reject customer appointment requests from a dedicated admin grid
  • Approve / Reject workflow — one-click confirm or disapprove with automatic notification emails sent to the customer
  • UI Component grids & forms — fully integrated Magento Admin UI Component listing grids with inline editing support for all three entities
  • Mass actions — mass delete and mass status change on employee listings
  • Image uploader — dedicated image upload handler for employee profile photos
  • Seed data — ships with sample CSV data for departments, employees, and appointment forms, imported via a modern Magento data patch

Requirements

RequirementVersion
Magento2.4.x
PHP8.1 or higher
Hyvä Theme1.1.x or higher
MHinspeya BackendMod^1.0 (mhinspeya/backend-mod)

Installation

Via Composer (Recommended)

# 1. Require the package
composer require mhinspeya/mhinspeya-hyva-personal-shopping

# 2. Enable the module
bin/magento module:enable MHinspeya_AppointmentShopping

# 3. Run setup upgrade (runs data patches and creates DB tables)
bin/magento setup:upgrade

# 4. Compile DI
bin/magento setup:di:compile

# 5. Deploy static content (production mode)
bin/magento setup:static-content:deploy -f

# 6. Flush cache
bin/magento cache:flush

Manual Installation (app/code)

# 1. Create the module directory
mkdir -p app/code/MHinspeya/AppointmentShopping

# 2. Copy or clone the module files into the directory
cp -r <source-path>/* app/code/MHinspeya/AppointmentShopping/

# 3. Enable the module
bin/magento module:enable MHinspeya_AppointmentShopping

# 4. Run setup upgrade
bin/magento setup:upgrade

# 5. Compile DI
bin/magento setup:di:compile

# 6. Deploy static content (production mode)
bin/magento setup:static-content:deploy -f

# 7. Flush cache
bin/magento cache:flush

Configuration

Navigate to Stores → Configuration → Personal Shopping → Personal Shopping Configuration in the Magento Admin Panel.

General Settings

FieldDescription
EnableEnable or disable the Personal Shopping module (Yes/No)
Heading TitleMain heading text displayed on the booking page
Heading Sub TitleSubheading text displayed beneath the main heading
Age LimitMinimum age requirement for customers filling the booking form
TimezoneTimezone used for appointment slot calculations

Email Options

FieldDescription
Email SenderSelect the sender identity for all appointment emails
Customer Email TemplateEmail template sent to the customer upon booking
Employee Email TemplateEmail template sent to the employee upon a new booking
Appointment Approve Email TemplateEmail template sent to the customer when appointment is confirmed
Appointment Reject Email TemplateEmail template sent to the customer when appointment is rejected

Admin Panel Management

All management grids are accessible under MHinspeya → Personal Shopping in the admin sidebar.

Manage Departments

Path: MHinspeya → Personal Shopping → Manage Departments

Create and manage store departments. Each department has:

FieldDescription
Department NameName of the department (e.g. Menswear, Womenswear)
Department EmailContact email for the department
Appointment StatusEnable/disable appointment booking for this department
Sort OrderDisplay order on the frontend
StatusActive or inactive

Manage Employees

Path: MHinspeya → Personal Shopping → Manage Employees

Add and configure employee/stylist profiles. Each employee has:

FieldDescription
Employee NameFull name of the stylist/employee
DepartmentAssigned department
EmailEmployee email for appointment notifications
Content/BioDescription or biography text
Profile ImageProfile photo (uploaded via built-in image uploader)
Sort OrderDisplay order on the frontend
StatusActive or inactive
Appointment ScheduleJSON-configured weekly schedule with the following options:

Schedule Configuration Fields:

FieldDescription
Date Range StartFirst available date for bookings
Date Range EndLast available date for bookings
DurationAppointment duration in minutes (e.g. 15, 30, 45, 60)
Available DaysDays of the week the employee is available
Time StartDaily availability start time
Time EndDaily availability end time
Break StartBreak period start time (slots blocked)
Break EndBreak period end time

Manage Appointments

Path: MHinspeya → Personal Shopping → Manage Appointments

View and manage all customer booking submissions:

FieldDescription
SalutationCustomer salutation (Mr/Mrs)
First Name / Last NameCustomer name
Birth DateCustomer date of birth
TelephoneCustomer phone number
EmailCustomer email address
Customer Card NumberOptional loyalty/membership card number
DepartmentSelected department
EmployeeSelected employee/stylist
Appointment DateBooked date
Appointment TimeBooked time slot
DescriptionCustomer's notes/requirements
Confirm / DisapproveAdmin actions to approve or reject the appointment

Frontend Booking Flow

  1. Customer visits the personal shopping page (/appointmentshopping/index/...)
  2. Active departments and employees are displayed
  3. Customer selects a department → available employees are shown
  4. Customer selects an employee → the interactive calendar loads (AJAX call to /appointmentshopping/index/appointmentcalender)
  5. Available dates and time slots are computed from the employee's schedule configuration
  6. Customer fills in the booking form (name, email, phone, date of birth, preferred slot, optional message)
  7. Form is submitted via AJAX to /appointmentshopping/index/appointmentbooking
  8. System validates for duplicate bookings, saves the appointment, and sends confirmation emails to both the customer and the employee
  9. Success/error message is displayed to the customer

How to Embed the Booking Form

You can display the booking form on any CMS page, block, layout XML file, or PHTML template using the following methods:

1. In a CMS Page or Block (CMS Content)

Insert the template block markup inside your CMS page content or block editor:

{{block class="Magento\Framework\View\Element\Template" template="MHinspeya_AppointmentShopping::appointment.phtml"}}

2. In Layout XML

Add the block definition to your layout XML file (e.g., cms_page_view.xml):

<block class="Magento\Framework\View\Element\Template" name="appointment.shopping.form" template="MHinspeya_AppointmentShopping::appointment.phtml" />

3. In a PHTML Template (PHP code)

Call the layout class dynamically inside another PHTML template:

<?= $block->getLayout()->createBlock(\Magento\Framework\View\Element\Template::class)
    ->setTemplate('MHinspeya_AppointmentShopping::appointment.phtml')
    ->toHtml() ?>

ACL Permissions

The module provides granular ACL resources under MHinspeya_AppointmentShopping:

Resource IDDescription
MHinspeya_AppointmentShopping::mainPersonal Shopping (top level)
MHinspeya_AppointmentShopping::main_viewAccess Personal Shopping
MHinspeya_AppointmentShopping::EmployeeAppointment_viewView Employee Appointments
MHinspeya_AppointmentShopping::EmployeeDepartment_viewView Employee Departments
MHinspeya_AppointmentShopping::EmployeeAppointmentForm_viewView Appointment Forms
MHinspeya_AppointmentShopping::appointmentConfigPersonal Shopping Configuration

REST API endpoints are protected by corresponding CRUD ACL resources (_save, _update, _delete, _view).

Hyvä Theme Compatibility

This module is fully compatible with the Hyvä theme. It includes:

  • A Hyvä config observer (RegisterModuleForHyvaConfig) that auto-registers the module's frontend path with the Hyvä configuration system
  • Tailwind CSS integration via the view/frontend/tailwind/ directory
  • Alpine.js-ready .phtml templates in view/frontend/templates/
  • No RequireJS or Knockout.js dependencies on the frontend

Translations

The module ships with a German (de_DE) translation file located at:

i18n/de_DE.csv

To add additional translations, create a new CSV file in the i18n/ directory following the Magento convention (e.g. en_US.csv, fr_FR.csv).

Uninstallation

Composer Installation

bin/magento module:disable MHinspeya_AppointmentShopping
composer remove mhinspeya/mhinspeya-hyva-personal-shopping
bin/magento setup:upgrade
bin/magento cache:flush

Manual Installation

bin/magento module:disable MHinspeya_AppointmentShopping
rm -rf app/code/MHinspeya/AppointmentShopping
bin/magento setup:upgrade
bin/magento cache:flush

Note: Uninstalling the module does not automatically drop the database tables. To remove them manually, drop mhinspeya_appointmentshopping_employeeappointment, mhinspeya_appointmentshopping_employeedepartment, and mhinspeya_appointmentshopping_employeeappointmentform.

Support

For issues or feature requests, please contact us through our website.

mhinspeya/mhinspeya-hyva-personal-shopping 适用场景与选型建议

mhinspeya/mhinspeya-hyva-personal-shopping 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 06 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「magento」 「magento 2」 「MHinspeya」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 mhinspeya/mhinspeya-hyva-personal-shopping 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 mhinspeya/mhinspeya-hyva-personal-shopping 我们能提供哪些服务?
定制开发 / 二次开发

基于 mhinspeya/mhinspeya-hyva-personal-shopping 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 10
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 30
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: OSL-3.0
  • 更新时间: 2026-06-09