{"id":19156139,"url":"https://github.com/applogistdev/albusseatview","last_synced_at":"2025-10-15T12:09:25.129Z","repository":{"id":56699069,"uuid":"240452904","full_name":"applogistdev/ALBusSeatView","owner":"applogistdev","description":"Bus Seat View Selection","archived":false,"fork":false,"pushed_at":"2020-10-24T11:55:13.000Z","size":3685,"stargazers_count":99,"open_issues_count":0,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-25T09:08:03.688Z","etag":null,"topics":["bus","reservation","seat","seatview"],"latest_commit_sha":null,"homepage":"https://applogistdev.github.io/ALBusSeatView/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/applogistdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-14T07:34:37.000Z","updated_at":"2025-04-09T08:56:20.000Z","dependencies_parsed_at":"2022-08-15T23:31:22.476Z","dependency_job_id":null,"html_url":"https://github.com/applogistdev/ALBusSeatView","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/applogistdev/ALBusSeatView","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applogistdev%2FALBusSeatView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applogistdev%2FALBusSeatView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applogistdev%2FALBusSeatView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applogistdev%2FALBusSeatView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/applogistdev","download_url":"https://codeload.github.com/applogistdev/ALBusSeatView/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applogistdev%2FALBusSeatView/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279077248,"owners_count":26098234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bus","reservation","seat","seatview"],"created_at":"2024-11-09T08:33:24.342Z","updated_at":"2025-10-15T12:09:25.086Z","avatar_url":"https://github.com/applogistdev.png","language":"Swift","readme":"# ALBusSeatView 💺\n\n[![Version](https://img.shields.io/cocoapods/v/ALBusSeatView.svg?style=flat)](https://cocoapods.org/pods/ALBusSeatView) [![License](https://img.shields.io/cocoapods/l/ALBusSeatView.svg?style=flat)](https://cocoapods.org/pods/ALBusSeatView) [![Platform](https://img.shields.io/cocoapods/p/ALBusSeatView.svg?style=flat)](https://cocoapods.org/pods/ALBusSeatView) \n\n\n## Example\n\nTo run the example project, clone the repo, and run `pod install` from the Example directory first.\n\n![](./Screenshots/seat-video.gif)\n\n\n\n## Screenshots\n|           Start            |           Select           |      Gender Selection      |           Voilà!           |\n| :------------------------: | :------------------------: | :------------------------: | :------------------------: |\n| ![](https://raw.githubusercontent.com/applogistdev/ALBusSeatView/develop/Screenshots/ss1.png) | ![](https://raw.githubusercontent.com/applogistdev/ALBusSeatView/develop/Screenshots/ss2.png) | ![](https://raw.githubusercontent.com/applogistdev/ALBusSeatView/develop/Screenshots/ss3.png) | ![](https://raw.githubusercontent.com/applogistdev/ALBusSeatView/develop/Screenshots/ss4.png) |\n\n\n\n\n## Installation\n\nALBusSeatView is available through [CocoaPods](https://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'ALBusSeatView'\n```\n\n## Usage\n\n```swift\n\n// If you want to config more\n// let config = ALBusSeatViewConfig()\n// ALBusSeatView(withConfig: config)\n\nlet seatView = ALBusSeatView()\nseatView.delegate = self\nseatView.dataSource = self\n\nview.addSubview(seatView)\n\n//ALBusSeatViewDataSource\n\nfunc seatView(_ seatView: ALBusSeatView, numberOfSeatInSection section: Int) -\u003e Int {\n     return 43 // Total seat count\n}\n\nfunc seatView(_ seatView: ALBusSeatView, seatNumberForIndex indexPath: IndexPath) -\u003e String {\n    return \"10\" // Seat Number\n}\n\nfunc seatView(_ seatView: ALBusSeatView,\n              seatTypeForIndex indexPath: IndexPath) -\u003e ALBusSeatType {\n        \n    return .empty\n}\n\n\n// Seat Types\n\npublic enum ALBusSeatType: Int {\n    /// Free to pick\n    case empty\n    /// Already sold by woman or man\n    case sold\n    /// Being selected\n    case selected\n    /// Already sold by woman\n    case soldWoman\n    /// Already sold by man\n    case soldMan\n    /// Not a seat. Can not be able to select\n    case none\n}\n\n```\n\n\n\n## Documentation\n\n* [API Reference](https://applogistdev.github.io/ALBusSeatView/) \n\n\n\n\n## Config (ALBusSeatViewConfig)  \n\n#### Layout\n\n| Param                 | Desc | Default | Type |\n| --------------------- | ---- | ------- | ------ |\n| leftHandDrivePosition | Left drive position status | True | Bool |\n| marginBetweenSeats | Margin between seats | 5.0 | CGFloat |\n\n#### Seat\n\n| Param                   | Desc | Default | Type |\n| ----------------------- | ---- | ------- | -------- |\n| seatEmptyBGColor        | Empty seat color | .white | UIColor |\n| seatSoldBGColor        | Seat color purchased by woman or man. (Common seat) | .gray | UIColor |\n| seatSelectedBGColor     | Selected seat color | .green | UIColor |\n| seatSoldWomanBGColor    | Seat color purchased by woman | .red | UIColor |\n| seatSoldManBGColor      | Seat color purchased by man | .blue | UIColor |\n| seatCornerRadius        | Seat corner radius | 8.0 | CGFloat |\n| seatBorderColor         | Seat border color | .clear | UIColor |\n| seatBorderWidth         | Seat border width | 0 | CGFloat |\n| seatShadowColor         | Seat shadow color | .lightGray | UIColor |\n| seatShadowRadius        | Seat shadow radius | 5.0 | CGFloat |\n| seatShadowSize          | Seat shadow size | 1,1 | CGSize |\n| seatShadowOpacity       | Seat shadow opacity | 0.7 | Float |\n| seatRemoveImage         | The remove button image for selected seat | nil | UIImage? |\n| seatNumberFont          | Seat number label font | .system(15) | UIFont |\n| seatNumberSelectedFont  | Selected seat number label font | .systemBold(15) | UIFont |\n| seatNumberColor         | Seat number label color | .black | UIColor |\n| seatNumberSelectedColor | Selected seat number label color | .white | UIColor |\n\n#### Hall\n\n| Param                 | Desc | Default | Type |\n| --------------------- | ---- | ------- | ------ |\n| centerHallHeight | Bus hall height | 20 | CGFloat |\n| centerHallInfoText | Hall information label text | \"\" | String |\n| centerHallInfoTextColor | Hall information label text color | .black | UIColor |\n| centerHallInfoTextFont | Hall information label text font | .system(12) | UIFont |\n\n#### Bus Front Section\n\n| Param                 | Desc | Default | Type |\n| --------------------- | ---- | ------- | ------ |\n| busFrontImage | Bus front image | nil | UIImage? |\n| busFrontImageWidth | Bus front image width | 50 | CGFloat |\n\n#### Bus Floor Section\n\n| Param                 | Desc | Default | Type |\n| --------------------- | ---- | ------- | ------ |\n| floorSeperatorWidth | Floor section  width | 50 | CGFloat |\n| floorSeperatorImage | Floor section image | nil | UIImage? |\n\n#### Gender Tooltip\n\n| Param                 | Desc | Default | Type |\n| --------------------- | ---- | ------- | ------ |\n| tooltipText | Gender selection tooltip title | \"Select Gender\" | String |\n\n## Author\n\nsonifex, sonerguler93@gmail.com\n\n## License\n\nALBusSeatView is available under the MIT license. See the LICENSE file for more info.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplogistdev%2Falbusseatview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapplogistdev%2Falbusseatview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplogistdev%2Falbusseatview/lists"}